From eca35c468094fc6b7177f33ef51fa873eb88e79c Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 30 Jan 2011 10:57:07 +0000 Subject: hello world! --- src/trg-peers-model.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/trg-peers-model.h (limited to 'src/trg-peers-model.h') diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h new file mode 100644 index 0000000..0e18723 --- /dev/null +++ b/src/trg-peers-model.h @@ -0,0 +1,85 @@ +/* + * transmission-remote-gtk - Transmission RPC client for GTK + * Copyright (C) 2010 Alan Fitton + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + + +#ifndef TRG_PEERS_MODEL_H_ +#define TRG_PEERS_MODEL_H_ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#if HAVE_GEOIP +#include +#endif +#include + +G_BEGIN_DECLS +#define TRG_TYPE_PEERS_MODEL trg_peers_model_get_type() +#define TRG_PEERS_MODEL(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRG_TYPE_PEERS_MODEL, TrgPeersModel)) +#define TRG_PEERS_MODEL_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), TRG_TYPE_PEERS_MODEL, TrgPeersModelClass)) +#define TRG_IS_PEERS_MODEL(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRG_TYPE_PEERS_MODEL)) +#define TRG_IS_PEERS_MODEL_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_PEERS_MODEL)) +#define TRG_PEERS_MODEL_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_PEERS_MODEL, TrgPeersModelClass)) + typedef struct { + GtkListStore parent; +} TrgPeersModel; + +typedef struct { + GtkListStoreClass parent_class; +} TrgPeersModelClass; + +GType trg_peers_model_get_type(void); + +TrgPeersModel *trg_peers_model_new(); + +G_END_DECLS struct peerAndIter { + const gchar *ip; + GtkTreeIter iter; + gboolean found; +}; + +enum { + PEERSCOL_ICON, + PEERSCOL_IP, +#if HAVE_GEOIP + PEERSCOL_COUNTRY, +#endif + PEERSCOL_HOST, + PEERSCOL_FLAGS, + PEERSCOL_PROGRESS, + PEERSCOL_DOWNSPEED, + PEERSCOL_UPSPEED, + PEERSCOL_UPDATESERIAL, + PEERSCOL_COLUMNS +}; + +void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, + JsonObject * t, gboolean first); + +#endif /* TRG_PEERS_MODEL_H_ */ + +#define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" -- cgit v1.2.3 From 59d2f5a49f4e309ddf7088d46f034eec1e58e169 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 30 Jan 2011 13:44:23 +0000 Subject: update about dialog with new website --- src/base64.c | 2 +- src/base64.h | 2 +- src/dispatch.c | 2 +- src/dispatch.h | 2 +- src/http.c | 2 +- src/http.h | 2 +- src/json.c | 2 +- src/json.h | 2 +- src/main.c | 2 +- src/protocol-constants.h | 2 +- src/requests.c | 2 +- src/requests.h | 2 +- src/session-get.c | 2 +- src/session-get.h | 2 +- src/tfile.c | 2 +- src/tfile.h | 2 +- src/torrent.c | 2 +- src/torrent.h | 2 +- src/tpeer.c | 2 +- src/tpeer.h | 2 +- src/trg-about-window.c | 10 +++++----- src/trg-about-window.h | 2 +- src/trg-cell-renderer-eta.c | 2 +- src/trg-cell-renderer-eta.h | 2 +- src/trg-cell-renderer-priority.c | 2 +- src/trg-cell-renderer-priority.h | 2 +- src/trg-cell-renderer-ratio.c | 2 +- src/trg-cell-renderer-ratio.h | 2 +- src/trg-cell-renderer-size.c | 2 +- src/trg-cell-renderer-size.h | 2 +- src/trg-cell-renderer-speed.c | 2 +- src/trg-cell-renderer-speed.h | 2 +- src/trg-cell-renderer-wanted.c | 2 +- src/trg-cell-renderer-wanted.h | 2 +- src/trg-client.c | 2 +- src/trg-client.h | 2 +- src/trg-files-model.c | 2 +- src/trg-files-model.h | 2 +- src/trg-files-tree-view.c | 2 +- src/trg-files-tree-view.h | 2 +- src/trg-general-panel.c | 2 +- src/trg-general-panel.h | 2 +- src/trg-json-widgets.c | 2 +- src/trg-json-widgets.h | 2 +- src/trg-main-window.c | 2 +- src/trg-main-window.h | 2 +- src/trg-menu-bar.c | 2 +- src/trg-menu-bar.h | 2 +- src/trg-model.c | 2 +- src/trg-model.h | 2 +- src/trg-peers-model.c | 2 +- src/trg-peers-model.h | 2 +- src/trg-peers-tree-view.c | 2 +- src/trg-peers-tree-view.h | 2 +- src/trg-preferences-dialog.c | 2 +- src/trg-preferences-dialog.h | 2 +- src/trg-preferences.h | 2 +- src/trg-remote-prefs-dialog.c | 2 +- src/trg-remote-prefs-dialog.h | 2 +- src/trg-state-selector.c | 2 +- src/trg-state-selector.h | 2 +- src/trg-status-bar.c | 2 +- src/trg-status-bar.h | 2 +- src/trg-toolbar.c | 2 +- src/trg-toolbar.h | 2 +- src/trg-torrent-add-url-dialog.c | 2 +- src/trg-torrent-add-url-dialog.h | 2 +- src/trg-torrent-model.c | 2 +- src/trg-torrent-model.h | 2 +- src/trg-torrent-props-dialog.c | 2 +- src/trg-torrent-props-dialog.h | 2 +- src/trg-torrent-tree-view.c | 2 +- src/trg-torrent-tree-view.h | 2 +- src/trg-trackers-model.c | 2 +- src/trg-trackers-model.h | 2 +- src/trg-trackers-tree-view.c | 2 +- src/trg-trackers-tree-view.h | 2 +- src/trg-tree-view.c | 2 +- src/trg-tree-view.h | 2 +- src/util.c | 2 +- src/util.h | 2 +- 81 files changed, 85 insertions(+), 85 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/base64.c b/src/base64.c index fbf07cb..2504a68 100644 --- a/src/base64.c +++ b/src/base64.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/base64.h b/src/base64.h index 45cef3d..cd59524 100644 --- a/src/base64.h +++ b/src/base64.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/dispatch.c b/src/dispatch.c index 8967ded..5620c6a 100644 --- a/src/dispatch.c +++ b/src/dispatch.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/dispatch.h b/src/dispatch.h index 7c755b7..4ff3ad6 100644 --- a/src/dispatch.h +++ b/src/dispatch.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/http.c b/src/http.c index 8239ac8..b4595ea 100644 --- a/src/http.c +++ b/src/http.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/http.h b/src/http.h index cc7a30f..bd1c8c3 100644 --- a/src/http.h +++ b/src/http.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/json.c b/src/json.c index fab44a8..3e22794 100644 --- a/src/json.c +++ b/src/json.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/json.h b/src/json.h index bd0dbd3..36c98ab 100644 --- a/src/json.h +++ b/src/json.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main.c b/src/main.c index cf7d54a..a21d7cd 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/protocol-constants.h b/src/protocol-constants.h index 462a612..1f83e21 100644 --- a/src/protocol-constants.h +++ b/src/protocol-constants.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/requests.c b/src/requests.c index 7ee8782..dbb543c 100644 --- a/src/requests.c +++ b/src/requests.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/requests.h b/src/requests.h index 85f0b26..9e9e502 100644 --- a/src/requests.h +++ b/src/requests.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/session-get.c b/src/session-get.c index 18b0bf5..f1e5d46 100644 --- a/src/session-get.c +++ b/src/session-get.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/session-get.h b/src/session-get.h index 26e15e6..71f2a52 100644 --- a/src/session-get.h +++ b/src/session-get.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/tfile.c b/src/tfile.c index 0c0a757..f0b073c 100644 --- a/src/tfile.c +++ b/src/tfile.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/tfile.h b/src/tfile.h index cf9fdbb..06f87eb 100644 --- a/src/tfile.h +++ b/src/tfile.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/torrent.c b/src/torrent.c index a49935d..07cbe9b 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/torrent.h b/src/torrent.h index 832adb1..d457273 100644 --- a/src/torrent.h +++ b/src/torrent.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/tpeer.c b/src/tpeer.c index 37e63b2..c44ce4b 100644 --- a/src/tpeer.c +++ b/src/tpeer.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/tpeer.h b/src/tpeer.h index c9a0e02..a232f2f 100644 --- a/src/tpeer.h +++ b/src/tpeer.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-about-window.c b/src/trg-about-window.c index 32e35ca..d869cea 100644 --- a/src/trg-about-window.c +++ b/src/trg-about-window.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +34,7 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) GtkWidget *dialog; GdkPixbuf *logo; GError *error = NULL; - const gchar *trgAuthors[] = { "Alan Fitton ", NULL }; + const gchar *trgAuthors[] = { "Alan Fitton ", NULL }; dialog = gtk_about_dialog_new(); gtk_window_set_transient_for(GTK_WINDOW(dialog), parent); @@ -62,16 +62,16 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), PACKAGE_VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), - "(C) 2009 Alan F"); + "(C) 2011 Alan F"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), "A remote client to transmission-daemon."); /* Set the license text, which is usually loaded from a file. Also, set the * web site address and label. */ gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), - "http://eth0.org.uk/"); + "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(dialog), - "eth0.org.uk"); + "http://code.google.com/p/transmission-remote-gtk/"); /* Set the application authors, documenters and translators. */ gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), trgAuthors); diff --git a/src/trg-about-window.h b/src/trg-about-window.h index 4b1dcbe..621ccfc 100644 --- a/src/trg-about-window.h +++ b/src/trg-about-window.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index 93ef7d7..cc5b6bb 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-eta.h b/src/trg-cell-renderer-eta.h index 62b0b4b..d3533fc 100644 --- a/src/trg-cell-renderer-eta.h +++ b/src/trg-cell-renderer-eta.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index 549bab7..c800284 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-priority.h b/src/trg-cell-renderer-priority.h index d6d39c2..e53d8ce 100644 --- a/src/trg-cell-renderer-priority.h +++ b/src/trg-cell-renderer-priority.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index f08b220..0a3ddb2 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-ratio.h b/src/trg-cell-renderer-ratio.h index 64c3e82..9606f54 100644 --- a/src/trg-cell-renderer-ratio.h +++ b/src/trg-cell-renderer-ratio.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index 758c3f5..28f76ca 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-size.h b/src/trg-cell-renderer-size.h index 5b901e3..e4967f7 100644 --- a/src/trg-cell-renderer-size.h +++ b/src/trg-cell-renderer-size.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 35ccc5f..d279b0b 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-speed.h b/src/trg-cell-renderer-speed.h index 9a9bac6..6aa6b7f 100644 --- a/src/trg-cell-renderer-speed.h +++ b/src/trg-cell-renderer-speed.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-wanted.c b/src/trg-cell-renderer-wanted.c index 962dab1..4f3a2be 100644 --- a/src/trg-cell-renderer-wanted.c +++ b/src/trg-cell-renderer-wanted.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-wanted.h b/src/trg-cell-renderer-wanted.h index 02920ac..e3ef18a 100644 --- a/src/trg-cell-renderer-wanted.h +++ b/src/trg-cell-renderer-wanted.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-client.c b/src/trg-client.c index 76824b9..6b1ac6b 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-client.h b/src/trg-client.h index e75e979..5f93551 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-model.c b/src/trg-files-model.c index 16f58f9..35d3684 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-model.h b/src/trg-files-model.h index 658ffd3..c696bc0 100644 --- a/src/trg-files-model.h +++ b/src/trg-files-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index 5486a08..d4367c6 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index 410ed4c..c957f8a 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index b4be30b..7d6525f 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h index 2765de9..d0adacc 100644 --- a/src/trg-general-panel.h +++ b/src/trg-general-panel.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index 3b34d1e..bcff5e9 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h index 40b9b39..025b629 100644 --- a/src/trg-json-widgets.h +++ b/src/trg-json-widgets.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-main-window.c b/src/trg-main-window.c index caacd72..c03c77d 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-main-window.h b/src/trg-main-window.h index 24cac9f..f5fcff2 100644 --- a/src/trg-main-window.h +++ b/src/trg-main-window.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index 23354b3..72af533 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h index 43c5f45..8820fec 100644 --- a/src/trg-menu-bar.h +++ b/src/trg-menu-bar.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-model.c b/src/trg-model.c index 585c796..67afd12 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-model.h b/src/trg-model.h index db03996..427e0bd 100644 --- a/src/trg-model.h +++ b/src/trg-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index b45ac20..dc05672 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 0e18723..853bd9b 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index bd109a5..3ad4ef8 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index ce3e5ab..a62e602 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 971ff80..8f86fbd 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-preferences-dialog.h b/src/trg-preferences-dialog.h index 1ddacb2..379434e 100644 --- a/src/trg-preferences-dialog.h +++ b/src/trg-preferences-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-preferences.h b/src/trg-preferences.h index 8a2db59..324c756 100644 --- a/src/trg-preferences.h +++ b/src/trg-preferences.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index dbd6068..2a42224 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-remote-prefs-dialog.h b/src/trg-remote-prefs-dialog.h index 661ca24..a124350 100644 --- a/src/trg-remote-prefs-dialog.h +++ b/src/trg-remote-prefs-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index 325b363..8d6d7f3 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h index 03d1070..0df22cf 100644 --- a/src/trg-state-selector.h +++ b/src/trg-state-selector.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index f7c5bd5..d980bac 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index ed96505..ae99199 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index 672b30f..341501c 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-toolbar.h b/src/trg-toolbar.h index 624f33e..2aaa094 100644 --- a/src/trg-toolbar.h +++ b/src/trg-toolbar.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-add-url-dialog.c b/src/trg-torrent-add-url-dialog.c index b416cec..3844813 100644 --- a/src/trg-torrent-add-url-dialog.c +++ b/src/trg-torrent-add-url-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-add-url-dialog.h b/src/trg-torrent-add-url-dialog.h index b2005ef..cdf8a26 100644 --- a/src/trg-torrent-add-url-dialog.h +++ b/src/trg-torrent-add-url-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index 3bf8229..7ba826d 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index 1157474..dd08588 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 1740502..8809699 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-props-dialog.h b/src/trg-torrent-props-dialog.h index ff7d710..f1bda78 100644 --- a/src/trg-torrent-props-dialog.h +++ b/src/trg-torrent-props-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index 02010b0..b719915 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-tree-view.h b/src/trg-torrent-tree-view.h index b900985..48f7265 100644 --- a/src/trg-torrent-tree-view.h +++ b/src/trg-torrent-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-model.c b/src/trg-trackers-model.c index 9a7a5e7..b7ae1ca 100644 --- a/src/trg-trackers-model.c +++ b/src/trg-trackers-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-model.h b/src/trg-trackers-model.h index 2de1b78..3737371 100644 --- a/src/trg-trackers-model.h +++ b/src/trg-trackers-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index 6f8275f..2657e28 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-tree-view.h b/src/trg-trackers-tree-view.h index 02c89fd..0728e43 100644 --- a/src/trg-trackers-tree-view.h +++ b/src/trg-trackers-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index a3575c7..fd91e83 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index 7400d9e..1abea47 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - Transmission RPC client for GTK - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/util.c b/src/util.c index 1ca2a15..803603b 100644 --- a/src/util.c +++ b/src/util.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/util.h b/src/util.h index 27ca2d7..a9f8c97 100644 --- a/src/util.h +++ b/src/util.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2010 Alan Fitton + * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From e7a008aeed65e06d9e17dcc5e98121012540e3a2 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 30 Jan 2011 18:19:39 +0000 Subject: client in peers treeview --- redhat/transmission-remote-gtk.spec | 5 ++--- src/tpeer.h | 2 +- src/trg-peers-model.c | 28 +++++++++++++++++----------- src/trg-peers-model.h | 1 + src/trg-peers-tree-view.c | 3 +++ 5 files changed, 24 insertions(+), 15 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/redhat/transmission-remote-gtk.spec b/redhat/transmission-remote-gtk.spec index 0ce37a6..c48eabd 100644 --- a/redhat/transmission-remote-gtk.spec +++ b/redhat/transmission-remote-gtk.spec @@ -1,6 +1,6 @@ Name: transmission-remote-gtk Version: 0.1.0 -Release: 1 +Release: 1%{?dist:%{dist}} Summary: Remote control client for Transmission BitTorrent Group: Applications/Internet @@ -9,7 +9,6 @@ URL: http://code.google.com/p/transmission-remote-gtk/ Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -# These two are just the oldest version tested Requires: gtk2 Requires: glib2 Requires: unique @@ -35,7 +34,7 @@ Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %description -transmission-remote-gtk is a GTK client to remotely manage the Transmission BitTorrent client. +transmission-remote-gtk is a GTK app to remotely manage the Transmission BitTorrent client. %prep %setup -q diff --git a/src/tpeer.h b/src/tpeer.h index a232f2f..90b9f8c 100644 --- a/src/tpeer.h +++ b/src/tpeer.h @@ -24,7 +24,7 @@ #include #define TPEER_ADDRESS "address" -#define TPEER_CLIENT_NAME "client_name" +#define TPEER_CLIENT_NAME "clientName" #define TPEER_PROGRESS "progress" #define TPEER_RATE_TO_CLIENT "rateToClient" #define TPEER_RATE_TO_PEER "rateToPeer" diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index dc05672..2f0300d 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -134,24 +134,29 @@ void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, if (first == TRUE || find_existing_peer_item(model, peer, &peerIter) == FALSE) { gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); + + address = peer_get_address(peer); +#if HAVE_GEOIP + if ((gi = g_object_get_data(G_OBJECT(model), "geoip")) != NULL) + country = GeoIP_country_name_by_addr(gi, address); +#endif + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_ICON, GTK_STOCK_NETWORK, + PEERSCOL_IP, address, +#if HAVE_GEOIP + PEERSCOL_COUNTRY, country != NULL ? country : "", +#endif + PEERSCOL_CLIENT, peer_get_client_name(peer), + -1); + isNew = TRUE; } else { isNew = FALSE; } - address = peer_get_address(peer); + flagStr = peer_get_flagstr(peer); -#if HAVE_GEOIP - if ((gi = g_object_get_data(G_OBJECT(model), "geoip")) != NULL) - country = GeoIP_country_name_by_addr(gi, address); -#endif gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_ICON, - GTK_STOCK_NETWORK, PEERSCOL_IP, address, -#if HAVE_GEOIP - PEERSCOL_COUNTRY, - country != NULL ? country : "", -#endif PEERSCOL_FLAGS, flagStr, PEERSCOL_PROGRESS, peer_get_progress(peer), @@ -202,6 +207,7 @@ static void trg_peers_model_init(TrgPeersModel * self) column_types[PEERSCOL_PROGRESS] = G_TYPE_DOUBLE; column_types[PEERSCOL_DOWNSPEED] = G_TYPE_INT64; column_types[PEERSCOL_UPSPEED] = G_TYPE_INT64; + column_types[PEERSCOL_CLIENT] = G_TYPE_STRING; column_types[PEERSCOL_UPDATESERIAL] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 853bd9b..c5f17b0 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -73,6 +73,7 @@ enum { PEERSCOL_PROGRESS, PEERSCOL_DOWNSPEED, PEERSCOL_UPSPEED, + PEERSCOL_CLIENT, PEERSCOL_UPDATESERIAL, PEERSCOL_COLUMNS }; diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 3ad4ef8..4ceee93 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -57,6 +57,9 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) PEERSCOL_DOWNSPEED, -1); trg_tree_view_add_speed_column(TRG_TREE_VIEW(self), "Up Speed", PEERSCOL_UPSPEED, -1); + trg_tree_view_add_column(TRG_TREE_VIEW(self), "Client", + PEERSCOL_CLIENT); + } TrgPeersTreeView *trg_peers_tree_view_new(TrgPeersModel * model) -- cgit v1.2.3 From 4830642eba6b6dc741ee140088ee7e4be69ca8e8 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Fri, 4 Feb 2011 14:40:06 +0000 Subject: looks like GValue does initialising with = { 0 } --- src/torrent.c | 2 +- src/trg-main-window.c | 2 -- src/trg-peers-model.h | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/torrent.c b/src/torrent.c index e004e4c..9cc4d10 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -152,7 +152,7 @@ gboolean torrent_get_is_finished(JsonObject * t) gdouble torrent_get_percent_done(JsonObject * t) { JsonNode *percentDone = json_object_get_member(t, FIELD_PERCENTDONE); - GValue a; + GValue a = { 0 }; json_node_get_value(percentDone, &a); switch (G_VALUE_TYPE(&a)) { case G_TYPE_INT64: diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 92f7011..4e445c4 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -223,8 +223,6 @@ static void on_torrent_completed(TrgTorrentModel * model, notify_notification_attach_to_status_icon(notify, priv->statusIcon); #endif - - notify_notification_set_urgency(notify, NOTIFY_URGENCY_LOW); notify_notification_set_timeout(notify, 8000); diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index c5f17b0..c08598b 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -27,7 +27,7 @@ #include #include -#if HAVE_GEOIP +#ifdef HAVE_GEOIP #include #endif #include -- cgit v1.2.3 From 8aacf43b3b4f21247a63b8301c952c6a8c98585e Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Fri, 18 Feb 2011 00:49:08 +0000 Subject: adding trackers now seems to work. change all tabs to whitespace. --- src/base64.c | 38 +- src/base64.h | 2 +- src/dispatch.c | 42 +- src/dispatch.h | 6 +- src/hig.c | 68 +-- src/hig.h | 52 +- src/http.c | 58 +- src/http.h | 2 +- src/json.c | 44 +- src/json.h | 4 +- src/main.c | 96 ++-- src/protocol-constants.h | 4 +- src/requests.c | 10 +- src/requests.h | 4 +- src/session-get.c | 16 +- src/session-get.h | 2 +- src/tfile.c | 2 +- src/tfile.h | 2 +- src/torrent.c | 34 +- src/torrent.h | 20 +- src/tpeer.c | 4 +- src/tpeer.h | 2 +- src/trg-about-window.c | 34 +- src/trg-about-window.h | 2 +- src/trg-cell-renderer-eta.c | 72 +-- src/trg-cell-renderer-eta.h | 2 +- src/trg-cell-renderer-priority.c | 68 +-- src/trg-cell-renderer-priority.h | 2 +- src/trg-cell-renderer-ratio.c | 68 +-- src/trg-cell-renderer-ratio.h | 2 +- src/trg-cell-renderer-size.c | 66 +-- src/trg-cell-renderer-size.h | 2 +- src/trg-cell-renderer-speed.c | 70 +-- src/trg-cell-renderer-speed.h | 2 +- src/trg-cell-renderer-wanted.c | 52 +- src/trg-cell-renderer-wanted.h | 2 +- src/trg-client.c | 29 +- src/trg-client.h | 8 +- src/trg-files-model.c | 74 +-- src/trg-files-model.h | 6 +- src/trg-files-tree-view.c | 188 +++--- src/trg-files-tree-view.h | 6 +- src/trg-general-panel.c | 48 +- src/trg-general-panel.h | 4 +- src/trg-json-widgets.c | 10 +- src/trg-json-widgets.h | 6 +- src/trg-main-window.c | 1184 +++++++++++++++++++------------------- src/trg-main-window.h | 4 +- src/trg-menu-bar.c | 252 ++++---- src/trg-menu-bar.h | 6 +- src/trg-model.c | 46 +- src/trg-model.h | 8 +- src/trg-peers-model.c | 168 +++--- src/trg-peers-model.h | 4 +- src/trg-peers-tree-view.c | 18 +- src/trg-peers-tree-view.h | 2 +- src/trg-preferences-dialog.c | 238 ++++---- src/trg-preferences-dialog.h | 4 +- src/trg-preferences.h | 2 +- src/trg-remote-prefs-dialog.c | 338 +++++------ src/trg-remote-prefs-dialog.h | 8 +- src/trg-state-selector.c | 58 +- src/trg-state-selector.h | 4 +- src/trg-stats-dialog.c | 201 ++++--- src/trg-stats-dialog.h | 4 +- src/trg-status-bar.c | 28 +- src/trg-status-bar.h | 6 +- src/trg-toolbar.c | 160 +++--- src/trg-toolbar.h | 4 +- src/trg-torrent-add-url-dialog.c | 44 +- src/trg-torrent-add-url-dialog.h | 6 +- src/trg-torrent-model.c | 223 +++---- src/trg-torrent-model.h | 18 +- src/trg-torrent-move-dialog.c | 86 +-- src/trg-torrent-move-dialog.h | 8 +- src/trg-torrent-props-dialog.c | 242 ++++---- src/trg-torrent-props-dialog.h | 8 +- src/trg-torrent-tree-view.c | 68 +-- src/trg-torrent-tree-view.h | 4 +- src/trg-trackers-model.c | 93 +-- src/trg-trackers-model.h | 9 +- src/trg-trackers-tree-view.c | 330 ++++++----- src/trg-trackers-tree-view.h | 9 +- src/trg-tree-view.c | 59 +- src/trg-tree-view.h | 30 +- src/util.c | 154 ++--- src/util.h | 6 +- 87 files changed, 2786 insertions(+), 2693 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/base64.c b/src/base64.c index 2504a68..8e0562b 100644 --- a/src/base64.c +++ b/src/base64.c @@ -30,9 +30,9 @@ void encodeblock(unsigned char in[3], unsigned char out[4], int len) out[0] = cb64[in[0] >> 2]; out[1] = cb64[((in[0] & 0x03) << 4) | ((in[1] & 0xf0) >> 4)]; out[2] = - (unsigned char) (len > - 1 ? cb64[((in[1] & 0x0f) << 2) | - ((in[2] & 0xc0) >> 6)] : '='); + (unsigned char) (len > + 1 ? cb64[((in[1] & 0x0f) << 2) | + ((in[2] & 0xc0) >> 6)] : '='); out[3] = (unsigned char) (len > 2 ? cb64[in[2] & 0x3f] : '='); } @@ -43,22 +43,22 @@ char *base64encode(char *filename) int i, len, j = 0; char *output = NULL; while (!feof(infile)) { - len = 0; - for (i = 0; i < 3; i++) { - in[i] = (unsigned char) getc(infile); - if (!feof(infile)) { - len++; - } else { - in[i] = 0; - } - } - if (len) { - output = (char *) realloc(output, j + 5); - encodeblock(in, out, len); - for (i = 0; i < 4; i++) { - output[j++] = out[i]; - } - } + len = 0; + for (i = 0; i < 3; i++) { + in[i] = (unsigned char) getc(infile); + if (!feof(infile)) { + len++; + } else { + in[i] = 0; + } + } + if (len) { + output = (char *) realloc(output, j + 5); + encodeblock(in, out, len); + for (i = 0; i < 4; i++) { + output[j++] = out[i]; + } + } } output[j] = '\0'; fclose(infile); diff --git a/src/base64.h b/src/base64.h index cd59524..e47bf62 100644 --- a/src/base64.h +++ b/src/base64.h @@ -22,4 +22,4 @@ char *base64encode(char *filename); -#endif /* BASE64_H_ */ +#endif /* BASE64_H_ */ diff --git a/src/dispatch.c b/src/dispatch.c index e72c4ed..aee8ce7 100644 --- a/src/dispatch.c +++ b/src/dispatch.c @@ -41,35 +41,35 @@ JsonObject *dispatch(trg_client * client, JsonNode * req, int *status) json_node_free(req); #ifdef DEBUG if (g_getenv("TRG_SHOW_OUTGOING") != NULL) - g_printf("=>(outgoing)=> %s\n", serialized); + g_printf("=>(outgoing)=> %s\n", serialized); #endif response = trg_http_perform(client, serialized); g_free(serialized); if (status != NULL) - *status = response->status; + *status = response->status; if (response->status != CURLE_OK) { - http_response_free(response); - return NULL; + http_response_free(response); + return NULL; } deserialized = trg_deserialize(response, &decode_error); http_response_free(response); if (decode_error != NULL) { - g_printf("JSON decoding error: %s\n", decode_error->message); - g_error_free(decode_error); - if (status != NULL) - *status = FAIL_JSON_DECODE; - return NULL; + g_printf("JSON decoding error: %s\n", decode_error->message); + g_error_free(decode_error); + if (status != NULL) + *status = FAIL_JSON_DECODE; + return NULL; } result = json_object_get_member(deserialized, "result"); if (status != NULL - && (result == NULL - || g_strcmp0(json_node_get_string(result), "success") != 0)) - *status = FAIL_RESPONSE_UNSUCCESSFUL; + && (result == NULL + || g_strcmp0(json_node_get_string(result), "success") != 0)) + *status = FAIL_RESPONSE_UNSUCCESSFUL; return deserialized; } @@ -80,14 +80,14 @@ static gpointer dispatch_async_threadfunc(gpointer ptr) int status; JsonObject *result = dispatch(args->client, args->req, &status); if (args->callback != NULL) - args->callback(result, status, args->data); + args->callback(result, status, args->data); g_free(args); return NULL; } GThread *dispatch_async(trg_client * client, JsonNode * req, - void (*callback) (JsonObject *, int, gpointer), - gpointer data) + void (*callback) (JsonObject *, int, gpointer), + gpointer data) { GError *error = NULL; GThread *thread; @@ -100,13 +100,13 @@ GThread *dispatch_async(trg_client * client, JsonNode * req, args->client = client; thread = - g_thread_create(dispatch_async_threadfunc, args, FALSE, &error); + g_thread_create(dispatch_async_threadfunc, args, FALSE, &error); if (error != NULL) { - g_printf("thread creation error: %s\n", error->message); - g_error_free(error); - g_free(args); - return NULL; + g_printf("thread creation error: %s\n", error->message); + g_error_free(error); + g_free(args); + return NULL; } else { - return thread; + return thread; } } diff --git a/src/dispatch.h b/src/dispatch.h index 4ff3ad6..cf4c908 100644 --- a/src/dispatch.h +++ b/src/dispatch.h @@ -34,7 +34,7 @@ struct dispatch_async_args { JsonObject *dispatch(trg_client * client, JsonNode * req, int *status); GThread *dispatch_async(trg_client * client, JsonNode * req, - void (*callback) (JsonObject *, int, gpointer), - gpointer data); + void (*callback) (JsonObject *, int, gpointer), + gpointer data); -#endif /* DISPATCH_H_ */ +#endif /* DISPATCH_H_ */ diff --git a/src/hig.c b/src/hig.c index 3c0586f..453a53b 100644 --- a/src/hig.c +++ b/src/hig.c @@ -34,7 +34,7 @@ void hig_workarea_add_section_divider(GtkWidget * t, int *row) void hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w) + int *row, GtkWidget * w) { gtk_table_attach(GTK_TABLE(t), w, 0, 2, *row, *row + 1, ~0, 0, 0, 0); ++*row; @@ -42,7 +42,7 @@ hig_workarea_add_section_title_widget(GtkWidget * t, void hig_workarea_add_section_title(GtkWidget * t, - int *row, const char *section_title) + int *row, const char *section_title) { char buf[512]; GtkWidget *l; @@ -66,9 +66,9 @@ static GtkWidget *rowNew(GtkWidget * w) /* lhs widget */ if (GTK_IS_MISC(w)) - gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); if (GTK_IS_LABEL(w)) - gtk_label_set_use_markup(GTK_LABEL(w), TRUE); + gtk_label_set_use_markup(GTK_LABEL(w), TRUE); gtk_box_pack_start(GTK_BOX(h), w, TRUE, TRUE, 0); return h; @@ -79,7 +79,7 @@ void hig_workarea_add_wide_control(GtkWidget * t, int *row, GtkWidget * w) GtkWidget *r = rowNew(w); gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++*row; } @@ -89,16 +89,16 @@ hig_workarea_add_wide_tall_control(GtkWidget * t, int *row, GtkWidget * w) GtkWidget *r = rowNew(w); gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); ++*row; } GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * t, - int *row, - const char *mnemonic_string, - gboolean is_active) + int *row, + const char *mnemonic_string, + gboolean is_active) { GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic_string); @@ -112,11 +112,11 @@ void hig_workarea_add_label_w(GtkWidget * t, int row, GtkWidget * l) GtkWidget *w = rowNew(l); gtk_table_attach(GTK_TABLE(t), w, 0, 1, row, row + 1, GTK_FILL, - GTK_FILL, 0, 0); + GTK_FILL, 0, 0); } GtkWidget *hig_workarea_add_label(GtkWidget * t, - int row, const char *mnemonic_string) + int row, const char *mnemonic_string) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -128,42 +128,42 @@ static void hig_workarea_add_tall_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + 1, 2, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); } void hig_workarea_add_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); + 1, 2, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); } void hig_workarea_add_row_w(GtkWidget * t, - int *row, - GtkWidget * label, - GtkWidget * control, GtkWidget * mnemonic) + int *row, + GtkWidget * label, + GtkWidget * control, GtkWidget * mnemonic) { hig_workarea_add_label_w(t, *row, label); hig_workarea_add_control(t, *row, control); if (GTK_IS_LABEL(label)) - gtk_label_set_mnemonic_widget(GTK_LABEL(label), - mnemonic ? mnemonic : control); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + mnemonic ? mnemonic : control); ++*row; } GtkWidget *hig_workarea_add_row(GtkWidget * t, - int *row, - const char *mnemonic_string, - GtkWidget * control, GtkWidget * mnemonic) + int *row, + const char *mnemonic_string, + GtkWidget * control, GtkWidget * mnemonic) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -172,10 +172,10 @@ GtkWidget *hig_workarea_add_row(GtkWidget * t, } GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic) + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); GtkWidget *h = gtk_hbox_new(FALSE, 0); @@ -187,8 +187,8 @@ GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, hig_workarea_add_tall_control(table, *row, control); if (GTK_IS_LABEL(l)) - gtk_label_set_mnemonic_widget(GTK_LABEL(l), - mnemonic ? mnemonic : control); + gtk_label_set_mnemonic_widget(GTK_LABEL(l), + mnemonic ? mnemonic : control); ++*row; return l; @@ -201,7 +201,7 @@ void hig_workarea_finish(GtkWidget * t, int *row) void hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, const char *secondary) + const char *primary, const char *secondary) { gtk_message_dialog_set_markup(dialog, primary); gtk_message_dialog_format_secondary_text(dialog, "%s", secondary); diff --git a/src/hig.h b/src/hig.h index 186e66a..63a6b76 100644 --- a/src/hig.h +++ b/src/hig.h @@ -25,55 +25,55 @@ GtkWidget *hig_workarea_create(void); void hig_workarea_add_section_divider(GtkWidget * table, int *row); void hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w); + int *row, GtkWidget * w); void hig_workarea_add_section_title(GtkWidget * table, - int *row, const char *section_title); + int *row, const char *section_title); void hig_workarea_add_wide_tall_control(GtkWidget * table, - int *row, GtkWidget * w); + int *row, GtkWidget * w); void hig_workarea_add_wide_control(GtkWidget * table, - int *row, GtkWidget * w); + int *row, GtkWidget * w); GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * table, - int *row, - const char *mnemonic_string, - gboolean is_active); + int *row, + const char *mnemonic_string, + gboolean is_active); GtkWidget *hig_workarea_add_label(GtkWidget * table, - int row, const char *mnemonic_string); + int row, const char *mnemonic_string); void hig_workarea_add_label_w(GtkWidget * table, - int row, GtkWidget * label_widget); + int row, GtkWidget * label_widget); void hig_workarea_add_control(GtkWidget * table, - int row, GtkWidget * control); + int row, GtkWidget * control); GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * - mnemonic_or_null_for_control); + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * + mnemonic_or_null_for_control); GtkWidget *hig_workarea_add_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic_or_null_for_control); + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic_or_null_for_control); void hig_workarea_add_row_w(GtkWidget * table, - int *row, - GtkWidget * label, - GtkWidget * control, - GtkWidget * mnemonic_or_null_for_control); + int *row, + GtkWidget * label, + GtkWidget * control, + GtkWidget * mnemonic_or_null_for_control); void hig_workarea_finish(GtkWidget * table, int *row); void hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, - const char *secondary); + const char *primary, + const char *secondary); enum { GUI_PAD_SMALL = 3, @@ -82,4 +82,4 @@ enum { GUI_PAD_LARGE = 12 }; -#endif /* __HIG_H__ */ +#endif /* __HIG_H__ */ diff --git a/src/http.c b/src/http.c index 7d5a3ce..d52aac6 100644 --- a/src/http.c +++ b/src/http.c @@ -32,26 +32,26 @@ #include "http.h" static struct http_response *trg_http_perform_inner(trg_client * client, - gchar * req, - gboolean recurse); + gchar * req, + gboolean recurse); static size_t http_receive_callback(void *ptr, size_t size, size_t nmemb, - void *data); + void *data); static size_t header_callback(void *ptr, size_t size, size_t nmemb, - void *data); + void *data); void http_response_free(struct http_response *response) { if (response->data != NULL) - g_free(response->data); + g_free(response->data); g_free(response); } static struct http_response *trg_http_perform_inner(trg_client * tc, - gchar * req, - gboolean recurse) + gchar * req, + gboolean recurse) { CURL *handle; long httpCode; @@ -71,17 +71,17 @@ static struct http_response *trg_http_perform_inner(trg_client * tc, curl_easy_setopt(handle, CURLOPT_URL, tc->url); curl_easy_setopt(handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, - &http_receive_callback); + &http_receive_callback); curl_easy_setopt(handle, CURLOPT_WRITEDATA, (void *) response); curl_easy_setopt(handle, CURLOPT_HEADERFUNCTION, &header_callback); curl_easy_setopt(handle, CURLOPT_WRITEHEADER, (void *) tc); curl_easy_setopt(handle, CURLOPT_POSTFIELDS, req); if (tc->ssl) - curl_easy_setopt(handle, CURLOPT_SSL_VERIFYPEER, 0); + curl_easy_setopt(handle, CURLOPT_SSL_VERIFYPEER, 0); if (tc->session_id != NULL) { - headers = curl_slist_append(headers, tc->session_id); - curl_easy_setopt(handle, CURLOPT_HTTPHEADER, headers); + headers = curl_slist_append(headers, tc->session_id); + curl_easy_setopt(handle, CURLOPT_HTTPHEADER, headers); } response->status = curl_easy_perform(handle); @@ -90,15 +90,15 @@ static struct http_response *trg_http_perform_inner(trg_client * tc, curl_easy_cleanup(handle); if (headers != NULL) - curl_slist_free_all(headers); + curl_slist_free_all(headers); if (response->status == CURLE_OK) { - if (httpCode == HTTP_CONFLICT && recurse == TRUE) { - http_response_free(response); - return trg_http_perform_inner(tc, req, FALSE); - } else if (httpCode != HTTP_OK) { - response->status = (-httpCode) - 100; - } + if (httpCode == HTTP_CONFLICT && recurse == TRUE) { + http_response_free(response); + return trg_http_perform_inner(tc, req, FALSE); + } else if (httpCode != HTTP_OK) { + response->status = (-httpCode) - 100; + } } return response; @@ -117,29 +117,29 @@ http_receive_callback(void *ptr, size_t size, size_t nmemb, void *data) mem->data = realloc(mem->data, mem->size + realsize + 1); if (mem->data) { - memcpy(&(mem->data[mem->size]), ptr, realsize); - mem->size += realsize; - mem->data[mem->size] = 0; + memcpy(&(mem->data[mem->size]), ptr, realsize); + mem->size += realsize; + mem->data[mem->size] = 0; } return realsize; } static size_t header_callback(void *ptr, size_t size, size_t nmemb, - void *data) + void *data) { char *header = (char *) (ptr); trg_client *client = (trg_client *) data; if (g_str_has_prefix(header, "X-Transmission-Session-Id: ") == TRUE) { - char *nl; + char *nl; - if (client->session_id != NULL) - g_free(client->session_id); + if (client->session_id != NULL) + g_free(client->session_id); - client->session_id = g_strdup(header); - nl = strrchr(client->session_id, '\r'); - if (nl) - *nl = '\0'; + client->session_id = g_strdup(header); + nl = strrchr(client->session_id, '\r'); + if (nl) + *nl = '\0'; } return (nmemb * size); diff --git a/src/http.h b/src/http.h index bd1c8c3..7bee969 100644 --- a/src/http.h +++ b/src/http.h @@ -40,4 +40,4 @@ struct http_response { void http_response_free(struct http_response *response); struct http_response *trg_http_perform(trg_client * client, gchar * req); -#endif /* HTTP_H_ */ +#endif /* HTTP_H_ */ diff --git a/src/json.c b/src/json.c index 1208238..c10ed0b 100644 --- a/src/json.c +++ b/src/json.c @@ -45,7 +45,7 @@ gchar *trg_serialize(JsonNode * req) } JsonObject *trg_deserialize(struct http_response * response, - GError ** error) + GError ** error) { JsonParser *parser; JsonNode *root; @@ -53,30 +53,30 @@ JsonObject *trg_deserialize(struct http_response * response, parser = json_parser_new(); json_parser_load_from_data(parser, response->data, response->size, - error); + error); if (*error == NULL) { - root = json_parser_get_root(parser); + root = json_parser_get_root(parser); #ifdef DEBUG - if (g_getenv("TRG_SHOW_INCOMING") != NULL) { - g_printf("incoming JSON data:\n%s\n", response->data); - } else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) { - JsonGenerator *pg; - gsize len; - gchar *pgdata; - - pg = json_generator_new(); - g_object_set(pg, "pretty", TRUE, NULL); - json_generator_set_root(pg, root); - - pgdata = json_generator_to_data(pg, &len); - g_printf("incoming JSON data:\n%s\n", pgdata); - g_free(pgdata); - - g_object_unref(pg); - } + if (g_getenv("TRG_SHOW_INCOMING") != NULL) { + g_printf("incoming JSON data:\n%s\n", response->data); + } else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) { + JsonGenerator *pg; + gsize len; + gchar *pgdata; + + pg = json_generator_new(); + g_object_set(pg, "pretty", TRUE, NULL); + json_generator_set_root(pg, root); + + pgdata = json_generator_to_data(pg, &len); + g_printf("incoming JSON data:\n%s\n", pgdata); + g_free(pgdata); + + g_object_unref(pg); + } #endif - ret = json_node_get_object(root); - json_object_ref(ret); + ret = json_node_get_object(root); + json_object_ref(ret); } g_object_unref(parser); diff --git a/src/json.h b/src/json.h index 36c98ab..1234784 100644 --- a/src/json.h +++ b/src/json.h @@ -27,8 +27,8 @@ gchar *trg_serialize(JsonNode * req); JsonObject *trg_deserialize(struct http_response *response, - GError ** error); + GError ** error); JsonObject *get_arguments(JsonObject * req); JsonObject *node_get_arguments(JsonNode * req); -#endif /* JSON_H_ */ +#endif /* JSON_H_ */ diff --git a/src/main.c b/src/main.c index 9b6ca24..3b8cd4e 100644 --- a/src/main.c +++ b/src/main.c @@ -41,9 +41,9 @@ enum { static UniqueResponse message_received_cb(UniqueApp * app G_GNUC_UNUSED, - gint command, - UniqueMessageData * message, - guint time_, gpointer user_data) + gint command, + UniqueMessageData * message, + guint time_, gpointer user_data) { TrgMainWindow *win; UniqueResponse res; @@ -52,21 +52,21 @@ message_received_cb(UniqueApp * app G_GNUC_UNUSED, switch (command) { case UNIQUE_ACTIVATE: - gtk_window_set_screen(GTK_WINDOW(user_data), - unique_message_data_get_screen(message)); - gtk_window_present_with_time(GTK_WINDOW(user_data), time_); - res = UNIQUE_RESPONSE_OK; - break; + gtk_window_set_screen(GTK_WINDOW(user_data), + unique_message_data_get_screen(message)); + gtk_window_present_with_time(GTK_WINDOW(user_data), time_); + res = UNIQUE_RESPONSE_OK; + break; case COMMAND_ADD: - res = - trg_add_from_filename(win, - unique_message_data_get_filename - (message)) ? UNIQUE_RESPONSE_OK : - UNIQUE_RESPONSE_FAIL; - break; + res = + trg_add_from_filename(win, + unique_message_data_get_filename + (message)) ? UNIQUE_RESPONSE_OK : + UNIQUE_RESPONSE_FAIL; + break; default: - res = UNIQUE_RESPONSE_OK; - break; + res = UNIQUE_RESPONSE_OK; + break; } return res; @@ -85,47 +85,47 @@ int main(int argc, char *argv[]) gtk_init(&argc, &argv); app = unique_app_new_with_commands("org.eth0.uk.org.trg", NULL, - "add", COMMAND_ADD, NULL); + "add", COMMAND_ADD, NULL); if (unique_app_is_running(app)) { - UniqueCommand command; - UniqueResponse response; - UniqueMessageData *message; - - if (argc > 1) { - command = COMMAND_ADD; - message = unique_message_data_new(); - unique_message_data_set_filename(message, argv[1]); - } else { - command = UNIQUE_ACTIVATE; - message = NULL; - } - - response = unique_app_send_message(app, command, message); - unique_message_data_free(message); - - if (response == UNIQUE_RESPONSE_OK) { - returnValue = 0; - } else { - returnValue = 1; - } + UniqueCommand command; + UniqueResponse response; + UniqueMessageData *message; + + if (argc > 1) { + command = COMMAND_ADD; + message = unique_message_data_new(); + unique_message_data_set_filename(message, argv[1]); + } else { + command = UNIQUE_ACTIVATE; + message = NULL; + } + + response = unique_app_send_message(app, command, message); + unique_message_data_free(message); + + if (response == UNIQUE_RESPONSE_OK) { + returnValue = 0; + } else { + returnValue = 1; + } } else { - client = trg_init_client(); + client = trg_init_client(); - curl_global_init(CURL_GLOBAL_ALL); + curl_global_init(CURL_GLOBAL_ALL); - window = trg_main_window_new(client); - unique_app_watch_window(app, GTK_WINDOW(window)); + window = trg_main_window_new(client); + unique_app_watch_window(app, GTK_WINDOW(window)); - g_signal_connect(app, "message-received", - G_CALLBACK(message_received_cb), window); + g_signal_connect(app, "message-received", + G_CALLBACK(message_received_cb), window); - gtk_widget_show_all(GTK_WIDGET(window)); + gtk_widget_show_all(GTK_WIDGET(window)); - auto_connect_if_required(window, client); - gtk_main(); + auto_connect_if_required(window, client); + gtk_main(); - curl_global_cleanup(); + curl_global_cleanup(); } g_object_unref(app); diff --git a/src/protocol-constants.h b/src/protocol-constants.h index 4d48751..52dd348 100644 --- a/src/protocol-constants.h +++ b/src/protocol-constants.h @@ -27,7 +27,7 @@ /* torrents */ -#define FIELD_TORRENTS "torrents" /* parent node */ +#define FIELD_TORRENTS "torrents" /* parent node */ #define FIELD_ANNOUNCE_URL "announceUrl" #define FIELD_LEFT_UNTIL_DONE "leftUntilDone" #define FIELD_TOTAL_SIZE "totalSize" @@ -119,4 +119,4 @@ enum { #define TFILE_BYTES_COMPLETED "bytesCompleted" #define TFILE_NAME "name" -#endif /* PROTOCOL_CONSTANTS_H_ */ +#endif /* PROTOCOL_CONSTANTS_H_ */ diff --git a/src/requests.c b/src/requests.c index 221ab5f..1304d7a 100644 --- a/src/requests.c +++ b/src/requests.c @@ -34,8 +34,8 @@ JsonNode *generic_request(gchar * method, JsonArray * ids) JsonNode *root = base_request(method); if (ids != NULL) - json_object_set_array_member(node_get_arguments(root), - PARAM_IDS, ids); + json_object_set_array_member(node_get_arguments(root), + PARAM_IDS, ids); return root; } @@ -61,7 +61,7 @@ JsonNode *session_get() } JsonNode *torrent_set_location(JsonArray * array, gchar * location, - gboolean move) + gboolean move) { JsonNode *req = generic_request(METHOD_TORRENT_SET_LOCATION, array); JsonObject *args = node_get_arguments(req); @@ -101,7 +101,7 @@ JsonNode *torrent_remove(JsonArray * array, gboolean removeData) JsonObject *args = node_get_arguments(root); json_object_set_array_member(args, PARAM_IDS, array); json_object_set_boolean_member(args, PARAM_DELETE_LOCAL_DATA, - removeData); + removeData); return root; } @@ -146,7 +146,7 @@ JsonNode *torrent_get() json_array_add_string_element(fields, FIELD_WANTED); json_array_add_string_element(fields, FIELD_PRIORITIES); json_object_set_array_member(node_get_arguments(root), - PARAM_FIELDS, fields); + PARAM_FIELDS, fields); return root; } diff --git a/src/requests.h b/src/requests.h index b5d8c75..e0443a1 100644 --- a/src/requests.h +++ b/src/requests.h @@ -36,9 +36,9 @@ JsonNode *torrent_remove(JsonArray * array, int removeData); JsonNode *torrent_add(gchar * filename, gboolean paused); JsonNode *torrent_add_url(const gchar * url, gboolean paused); JsonNode *torrent_set_location(JsonArray * array, gchar * location, - gboolean move); + gboolean move); JsonNode *blocklist_update(); JsonNode *port_test(); JsonNode *session_stats(); -#endif /* REQUESTS_H_ */ +#endif /* REQUESTS_H_ */ diff --git a/src/session-get.c b/src/session-get.c index f89175b..581efcc 100644 --- a/src/session-get.c +++ b/src/session-get.c @@ -27,7 +27,7 @@ int session_get_version(JsonObject * s, float *version) { const gchar *versionStr = - json_object_get_string_member(s, SGET_VERSION); + json_object_get_string_member(s, SGET_VERSION); return sscanf(versionStr, "%f", version); } @@ -49,7 +49,7 @@ const gchar *session_get_download_dir(JsonObject * s) gboolean session_get_peer_port_random(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_PEER_PORT_RANDOM_ON_START); + SGET_PEER_PORT_RANDOM_ON_START); } gint64 session_get_peer_port(JsonObject * s) @@ -100,21 +100,21 @@ gboolean session_get_seed_ratio_limited(JsonObject * s) const gchar *session_get_torrent_done_filename(JsonObject * s) { return json_object_get_string_member(s, - SGET_SCRIPT_TORRENT_DONE_FILENAME); + SGET_SCRIPT_TORRENT_DONE_FILENAME); } gboolean session_get_torrent_done_enabled(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_SCRIPT_TORRENT_DONE_ENABLED); + SGET_SCRIPT_TORRENT_DONE_ENABLED); } gint64 session_get_cache_size_mb(JsonObject * s) { if (json_object_has_member(s, SGET_CACHE_SIZE_MB)) - return json_object_get_int_member(s, SGET_CACHE_SIZE_MB); + return json_object_get_int_member(s, SGET_CACHE_SIZE_MB); else - return -1; + return -1; } gdouble session_get_seed_ratio_limit(JsonObject * s) @@ -130,7 +130,7 @@ gboolean session_get_start_added_torrents(JsonObject * s) gboolean session_get_trash_original_torrent_files(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_TRASH_ORIGINAL_TORRENT_FILES); + SGET_TRASH_ORIGINAL_TORRENT_FILES); } gboolean session_get_speed_limit_up_enabled(JsonObject * s) @@ -156,7 +156,7 @@ gint64 session_get_speed_limit_up(JsonObject * s) gboolean session_get_speed_limit_down_enabled(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_SPEED_LIMIT_DOWN_ENABLED); + SGET_SPEED_LIMIT_DOWN_ENABLED); } gint64 session_get_speed_limit_down(JsonObject * s) diff --git a/src/session-get.h b/src/session-get.h index bbd31f2..eefaa48 100644 --- a/src/session-get.h +++ b/src/session-get.h @@ -86,4 +86,4 @@ gint64 session_get_speed_limit_up(JsonObject * s); gboolean session_get_speed_limit_down_enabled(JsonObject * s); gint64 session_get_speed_limit_down(JsonObject * s); -#endif /* SESSION_GET_H_ */ +#endif /* SESSION_GET_H_ */ diff --git a/src/tfile.c b/src/tfile.c index f0b073c..0dca0a4 100644 --- a/src/tfile.c +++ b/src/tfile.c @@ -25,7 +25,7 @@ gdouble file_get_progress(JsonObject * f) { return ((gdouble) file_get_bytes_completed(f) / - (gdouble) file_get_length(f)) * 100.0; + (gdouble) file_get_length(f)) * 100.0; } gint64 file_get_length(JsonObject * f) diff --git a/src/tfile.h b/src/tfile.h index 06f87eb..ad5c57b 100644 --- a/src/tfile.h +++ b/src/tfile.h @@ -28,4 +28,4 @@ gint64 file_get_bytes_completed(JsonObject * f); const gchar *file_get_name(JsonObject * f); gdouble file_get_progress(JsonObject * f); -#endif /* TFILE_H_ */ +#endif /* TFILE_H_ */ diff --git a/src/torrent.c b/src/torrent.c index d6fcde2..def9cbc 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -161,28 +161,28 @@ gdouble torrent_get_percent_done(JsonObject * t) json_node_get_value(percentDone, &a); switch (G_VALUE_TYPE(&a)) { case G_TYPE_INT64: - return (gdouble) g_value_get_int64(&a) * 100.0; + return (gdouble) g_value_get_int64(&a) * 100.0; case G_TYPE_DOUBLE: - return g_value_get_double(&a) * 100.0; + return g_value_get_double(&a) * 100.0; default: - return 0.0; + return 0.0; } } gchar *torrent_get_status_icon(guint flags) { if (flags & TORRENT_FLAG_ERROR) - return g_strdup(GTK_STOCK_DIALOG_WARNING); + return g_strdup(GTK_STOCK_DIALOG_WARNING); else if (flags & TORRENT_FLAG_DOWNLOADING) - return g_strdup(GTK_STOCK_GO_DOWN); + return g_strdup(GTK_STOCK_GO_DOWN); else if (flags & TORRENT_FLAG_PAUSED) - return g_strdup(GTK_STOCK_MEDIA_PAUSE); + return g_strdup(GTK_STOCK_MEDIA_PAUSE); else if (flags & TORRENT_FLAG_SEEDING) - return g_strdup(GTK_STOCK_GO_UP); + return g_strdup(GTK_STOCK_GO_UP); else if (flags & TORRENT_FLAG_CHECKING) - return g_strdup(GTK_STOCK_REFRESH); + return g_strdup(GTK_STOCK_REFRESH); else - return g_strdup(GTK_STOCK_DIALOG_QUESTION); + return g_strdup(GTK_STOCK_DIALOG_QUESTION); } const gchar *torrent_get_errorstr(JsonObject * t) @@ -194,23 +194,23 @@ gchar *torrent_get_status_string(gint64 value) { switch (value) { case STATUS_DOWNLOADING: - return g_strdup("Downloading"); + return g_strdup("Downloading"); case STATUS_PAUSED: - return g_strdup("Paused"); + return g_strdup("Paused"); case STATUS_SEEDING: - return g_strdup("Seeding"); + return g_strdup("Seeding"); case STATUS_CHECKING: - return g_strdup("Checking"); + return g_strdup("Checking"); case STATUS_WAITING_TO_CHECK: - return g_strdup("Waiting To Check"); + return g_strdup("Waiting To Check"); default: - return g_strdup("Unknown"); + return g_strdup("Unknown"); } } -gint64 tracker_get_id(JsonObject *t) +gint64 tracker_get_id(JsonObject * t) { - return json_object_get_int_member(t, FIELD_ID); + return json_object_get_int_member(t, FIELD_ID); } gint64 tracker_get_tier(JsonObject * t) diff --git a/src/torrent.h b/src/torrent.h index 093759f..e76fccc 100644 --- a/src/torrent.h +++ b/src/torrent.h @@ -22,14 +22,14 @@ #include -#define TORRENT_FLAG_ERROR (1 << 0) /* 0x01 */ -#define TORRENT_FLAG_COMPLETE (1 << 1) /* 0x02 */ -#define TORRENT_FLAG_INCOMPLETE (1 << 2) /* 0x02 */ -#define TORRENT_FLAG_SEEDING (1 << 3) /* 0x04 */ -#define TORRENT_FLAG_CHECKING (1 << 4) /* 0x08 */ -#define TORRENT_FLAG_WAITING_CHECK (1 << 5) /* 0x16 */ -#define TORRENT_FLAG_DOWNLOADING (1 << 6) /* 0x32 */ -#define TORRENT_FLAG_PAUSED (1 << 7) /* 0x64 */ +#define TORRENT_FLAG_ERROR (1 << 0) /* 0x01 */ +#define TORRENT_FLAG_COMPLETE (1 << 1) /* 0x02 */ +#define TORRENT_FLAG_INCOMPLETE (1 << 2) /* 0x02 */ +#define TORRENT_FLAG_SEEDING (1 << 3) /* 0x04 */ +#define TORRENT_FLAG_CHECKING (1 << 4) /* 0x08 */ +#define TORRENT_FLAG_WAITING_CHECK (1 << 5) /* 0x16 */ +#define TORRENT_FLAG_DOWNLOADING (1 << 6) /* 0x32 */ +#define TORRENT_FLAG_PAUSED (1 << 7) /* 0x64 */ gint64 torrent_get_size(JsonObject * t); const gchar *torrent_get_name(JsonObject * t); @@ -51,7 +51,7 @@ JsonArray *torrent_get_wanted(JsonObject * t); JsonArray *torrent_get_priorities(JsonObject * t); gint64 torrent_get_id(JsonObject * t); gint64 tracker_get_tier(JsonObject * t); -gint64 tracker_get_id(JsonObject *t); +gint64 tracker_get_id(JsonObject * t); const gchar *tracker_get_announce(JsonObject * t); const gchar *tracker_get_scrape(JsonObject * t); JsonArray *torrent_get_files(JsonObject * args); @@ -70,4 +70,4 @@ gint64 torrent_get_peer_limit(JsonObject * t); JsonArray *get_torrents(JsonObject * response); -#endif /* TORRENT_H_ */ +#endif /* TORRENT_H_ */ diff --git a/src/tpeer.c b/src/tpeer.c index c44ce4b..9a22928 100644 --- a/src/tpeer.c +++ b/src/tpeer.c @@ -61,11 +61,11 @@ gdouble peer_get_progress(JsonObject * p) gint64 peer_get_rate_to_client(JsonObject * p) { return (gint64) - json_node_get_int(json_object_get_member(p, TPEER_RATE_TO_CLIENT)); + json_node_get_int(json_object_get_member(p, TPEER_RATE_TO_CLIENT)); } gint64 peer_get_rate_to_peer(JsonObject * p) { return (gint64) - json_node_get_int(json_object_get_member(p, TPEER_RATE_TO_PEER)); + json_node_get_int(json_object_get_member(p, TPEER_RATE_TO_PEER)); } diff --git a/src/tpeer.h b/src/tpeer.h index 90b9f8c..4c41c9f 100644 --- a/src/tpeer.h +++ b/src/tpeer.h @@ -44,4 +44,4 @@ gint64 peer_get_rate_to_peer(JsonObject * p); gboolean peer_get_is_uploading_to(JsonObject * p); gboolean peer_get_is_downloading_from(JsonObject * p); -#endif /* TPEER_H_ */ +#endif /* TPEER_H_ */ diff --git a/src/trg-about-window.c b/src/trg-about-window.c index 49eaca3..8ece638 100644 --- a/src/trg-about-window.c +++ b/src/trg-about-window.c @@ -41,37 +41,37 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); logo = - gdk_pixbuf_new_from_file("/usr/share/pixmaps/transmission.png", - &error); + gdk_pixbuf_new_from_file("/usr/share/pixmaps/transmission.png", + &error); if (error == NULL) - gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); + gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); else { - if (error->domain == GDK_PIXBUF_ERROR) - g_print("GdkPixbufError: %s\n", error->message); - else if (error->domain == G_FILE_ERROR) - g_print("GFileError: %s\n", error->message); - else - g_print - ("An error in the domain: %d has occurred!\n", - error->domain); - g_error_free(error); + if (error->domain == GDK_PIXBUF_ERROR) + g_print("GdkPixbufError: %s\n", error->message); + else if (error->domain == G_FILE_ERROR) + g_print("GFileError: %s\n", error->message); + else + g_print + ("An error in the domain: %d has occurred!\n", + error->domain); + g_error_free(error); } /* Set application data that will be displayed in the main dialog. */ gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(dialog), PACKAGE_NAME); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), - PACKAGE_VERSION); + PACKAGE_VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), - "(C) 2011 Alan Fitton"); + "(C) 2011 Alan Fitton"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), - "A remote client to transmission-daemon."); + "A remote client to transmission-daemon."); /* Set the license text, which is usually loaded from a file. Also, set the * web site address and label. */ gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), - "http://code.google.com/p/transmission-remote-gtk/"); + "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(dialog), - "http://code.google.com/p/transmission-remote-gtk/"); + "http://code.google.com/p/transmission-remote-gtk/"); /* Set the application authors, documenters and translators. */ gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), trgAuthors); diff --git a/src/trg-about-window.h b/src/trg-about-window.h index 621ccfc..8fbd132 100644 --- a/src/trg-about-window.h +++ b/src/trg-about-window.h @@ -24,4 +24,4 @@ GtkWidget *trg_about_window_new(GtkWindow * parent); -#endif /* ABOUT_WINDOW_H_ */ +#endif /* ABOUT_WINDOW_H_ */ diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index c4f3556..ef732bc 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererEta, trg_cell_renderer_eta, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_ETA_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_ETA, TrgCellRendererEtaPrivate)) typedef struct _TrgCellRendererEtaPrivate TrgCellRendererEtaPrivate; @@ -40,41 +40,41 @@ struct _TrgCellRendererEtaPrivate { static void trg_cell_renderer_eta_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = - TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); + TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); switch (property_id) { case PROP_ETA_VALUE: - g_value_set_int64(value, priv->eta_value); - break; + g_value_set_int64(value, priv->eta_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_eta_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = - TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); + TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); if (property_id == PROP_ETA_VALUE) { - priv->eta_value = g_value_get_int64(value); - if (priv->eta_value > 0) { - char etaString[32]; - tr_strltime_short(etaString, priv->eta_value, - sizeof(etaString)); - g_object_set(object, "text", etaString, NULL); - } else if (priv->eta_value == -2) { - g_object_set(object, "text", "∞", NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->eta_value = g_value_get_int64(value); + if (priv->eta_value > 0) { + char etaString[32]; + tr_strltime_short(etaString, priv->eta_value, + sizeof(etaString)); + g_object_set(object, "text", etaString, NULL); + } else if (priv->eta_value == -2) { + g_object_set(object, "text", "∞", NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -87,20 +87,20 @@ trg_cell_renderer_eta_class_init(TrgCellRendererEtaClass * klass) object_class->set_property = trg_cell_renderer_eta_set_property; g_object_class_install_property(object_class, - PROP_ETA_VALUE, - g_param_spec_int64("eta-value", - "Eta Value", - "Eta Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_ETA_VALUE, + g_param_spec_int64("eta-value", + "Eta Value", + "Eta Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererEtaPrivate)); } @@ -113,5 +113,5 @@ trg_cell_renderer_eta_init(TrgCellRendererEta * self G_GNUC_UNUSED) GtkCellRenderer *trg_cell_renderer_eta_new(void) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_ETA, NULL)); + GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_ETA, NULL)); } diff --git a/src/trg-cell-renderer-eta.h b/src/trg-cell-renderer-eta.h index d3533fc..a56d96f 100644 --- a/src/trg-cell-renderer-eta.h +++ b/src/trg-cell-renderer-eta.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_eta_get_type(void); GtkCellRenderer *trg_cell_renderer_eta_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_ETA_H_ */ +#endif /* TRG_CELL_RENDERER_ETA_H_ */ diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index 91ab812..77fe4f9 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -30,7 +30,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererPriority, trg_cell_renderer_priority, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_PRIORITY, TrgCellRendererPriorityPrivate)) typedef struct _TrgCellRendererPriorityPrivate @@ -42,40 +42,40 @@ struct _TrgCellRendererPriorityPrivate { static void trg_cell_renderer_priority_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec) + guint property_id, GValue * value, + GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = - TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); + TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); switch (property_id) { case PROP_PRIORITY_VALUE: - g_value_set_int64(value, priv->priority_value); - break; + g_value_set_int64(value, priv->priority_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_priority_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = - TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); + TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); if (property_id == PROP_PRIORITY_VALUE) { - priv->priority_value = g_value_get_int64(value); - if (priv->priority_value == T_PRIORITY_LOW) { - g_object_set(object, "text", "Low", NULL); - } else if (priv->priority_value == T_PRIORITY_HIGH) { - g_object_set(object, "text", "High", NULL); - } else { - g_object_set(object, "text", "Normal", NULL); - } + priv->priority_value = g_value_get_int64(value); + if (priv->priority_value == T_PRIORITY_LOW) { + g_object_set(object, "text", "Low", NULL); + } else if (priv->priority_value == T_PRIORITY_HIGH) { + g_object_set(object, "text", "High", NULL); + } else { + g_object_set(object, "text", "Normal", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -88,30 +88,30 @@ trg_cell_renderer_priority_class_init(TrgCellRendererPriorityClass * klass) object_class->set_property = trg_cell_renderer_priority_set_property; g_object_class_install_property(object_class, - PROP_PRIORITY_VALUE, - g_param_spec_int64 - ("priority-value", - "Priority Value", - "Priority Value", T_PRIORITY_LOW, - T_PRIORITY_HIGH, T_PRIORITY_NORMAL, - G_PARAM_READWRITE | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PRIORITY_VALUE, + g_param_spec_int64 + ("priority-value", + "Priority Value", + "Priority Value", T_PRIORITY_LOW, + T_PRIORITY_HIGH, T_PRIORITY_NORMAL, + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, - sizeof(TrgCellRendererPriorityPrivate)); + sizeof(TrgCellRendererPriorityPrivate)); } static void trg_cell_renderer_priority_init(TrgCellRendererPriority * - self G_GNUC_UNUSED) + self G_GNUC_UNUSED) { } GtkCellRenderer *trg_cell_renderer_priority_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_PRIORITY, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_PRIORITY, NULL)); } diff --git a/src/trg-cell-renderer-priority.h b/src/trg-cell-renderer-priority.h index e53d8ce..8d47bca 100644 --- a/src/trg-cell-renderer-priority.h +++ b/src/trg-cell-renderer-priority.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_priority_get_type(void); GtkCellRenderer *trg_cell_renderer_priority_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_PRIORITY_H_ */ +#endif /* TRG_CELL_RENDERER_PRIORITY_H_ */ diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index 5b0d4b6..2a1c304 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererRatio, trg_cell_renderer_ratio, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_RATIO_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_RATIO, TrgCellRendererRatioPrivate)) typedef struct _TrgCellRendererRatioPrivate TrgCellRendererRatioPrivate; @@ -40,37 +40,37 @@ struct _TrgCellRendererRatioPrivate { static void trg_cell_renderer_ratio_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = - TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); + TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); switch (property_id) { case PROP_RATIO_VALUE: - g_value_set_double(value, priv->ratio_value); - break; + g_value_set_double(value, priv->ratio_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_ratio_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = - TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); + TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); if (property_id == PROP_RATIO_VALUE) { - priv->ratio_value = g_value_get_double(value); - if (priv->ratio_value > 0) { - char ratioString[32]; - trg_strlratio(ratioString, priv->ratio_value); - g_object_set(object, "text", ratioString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->ratio_value = g_value_get_double(value); + if (priv->ratio_value > 0) { + char ratioString[32]; + trg_strlratio(ratioString, priv->ratio_value); + g_object_set(object, "text", ratioString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -83,20 +83,20 @@ trg_cell_renderer_ratio_class_init(TrgCellRendererRatioClass * klass) object_class->set_property = trg_cell_renderer_ratio_set_property; g_object_class_install_property(object_class, - PROP_RATIO_VALUE, - g_param_spec_double("ratio-value", - "Ratio Value", - "Ratio Value", - 0, - DBL_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_RATIO_VALUE, + g_param_spec_double("ratio-value", + "Ratio Value", + "Ratio Value", + 0, + DBL_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererRatioPrivate)); } @@ -109,6 +109,6 @@ static void trg_cell_renderer_ratio_init(TrgCellRendererRatio * self) GtkCellRenderer *trg_cell_renderer_ratio_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_RATIO, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_RATIO, NULL)); } diff --git a/src/trg-cell-renderer-ratio.h b/src/trg-cell-renderer-ratio.h index 9606f54..82593a0 100644 --- a/src/trg-cell-renderer-ratio.h +++ b/src/trg-cell-renderer-ratio.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_ratio_get_type(void); GtkCellRenderer *trg_cell_renderer_ratio_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_RATIO_H_ */ +#endif /* TRG_CELL_RENDERER_RATIO_H_ */ diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index eadf59e..2271d2e 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSize, trg_cell_renderer_size, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SIZE_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SIZE, TrgCellRendererSizePrivate)) typedef struct _TrgCellRendererSizePrivate TrgCellRendererSizePrivate; @@ -40,37 +40,37 @@ struct _TrgCellRendererSizePrivate { static void trg_cell_renderer_size_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = - TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); + TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); switch (property_id) { case PROP_SIZE_VALUE: - g_value_set_int64(value, priv->size_value); - break; + g_value_set_int64(value, priv->size_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_size_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = - TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); + TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); if (property_id == PROP_SIZE_VALUE) { - priv->size_value = g_value_get_int64(value); - if (priv->size_value > 0) { - char sizeString[32]; - trg_strlsize(sizeString, priv->size_value); - g_object_set(object, "text", sizeString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->size_value = g_value_get_int64(value); + if (priv->size_value > 0) { + char sizeString[32]; + trg_strlsize(sizeString, priv->size_value); + g_object_set(object, "text", sizeString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -83,20 +83,20 @@ trg_cell_renderer_size_class_init(TrgCellRendererSizeClass * klass) object_class->set_property = trg_cell_renderer_size_set_property; g_object_class_install_property(object_class, - PROP_SIZE_VALUE, - g_param_spec_int64("size-value", - "Size Value", - "Size Value", - 0, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_SIZE_VALUE, + g_param_spec_int64("size-value", + "Size Value", + "Size Value", + 0, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSizePrivate)); } @@ -109,5 +109,5 @@ static void trg_cell_renderer_size_init(TrgCellRendererSize * self) GtkCellRenderer *trg_cell_renderer_size_new(void) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_SIZE, NULL)); + GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_SIZE, NULL)); } diff --git a/src/trg-cell-renderer-size.h b/src/trg-cell-renderer-size.h index e4967f7..afeaab7 100644 --- a/src/trg-cell-renderer-size.h +++ b/src/trg-cell-renderer-size.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_size_get_type(void); GtkCellRenderer *trg_cell_renderer_size_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_SIZE_H_ */ +#endif /* TRG_CELL_RENDERER_SIZE_H_ */ diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 369e04d..6fcc797 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSpeed, trg_cell_renderer_speed, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SPEED_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SPEED, TrgCellRendererSpeedPrivate)) typedef struct _TrgCellRendererSpeedPrivate TrgCellRendererSpeedPrivate; @@ -40,38 +40,38 @@ struct _TrgCellRendererSpeedPrivate { static void trg_cell_renderer_speed_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); switch (property_id) { case PROP_SPEED_VALUE: - g_value_set_int64(value, priv->speed_value); - break; + g_value_set_int64(value, priv->speed_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_speed_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); if (property_id == PROP_SPEED_VALUE) { - priv->speed_value = g_value_get_int64(value); - if (priv->speed_value > 0) { - char speedString[32]; - trg_strlspeed(speedString, - priv->speed_value / KILOBYTE_FACTOR); - g_object_set(object, "text", speedString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->speed_value = g_value_get_int64(value); + if (priv->speed_value > 0) { + char speedString[32]; + trg_strlspeed(speedString, + priv->speed_value / KILOBYTE_FACTOR); + g_object_set(object, "text", speedString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -84,20 +84,20 @@ trg_cell_renderer_speed_class_init(TrgCellRendererSpeedClass * klass) object_class->set_property = trg_cell_renderer_speed_set_property; g_object_class_install_property(object_class, - PROP_SPEED_VALUE, - g_param_spec_int64("speed-value", - "Speed Value", - "Speed Value", - 0, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_SPEED_VALUE, + g_param_spec_int64("speed-value", + "Speed Value", + "Speed Value", + 0, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSpeedPrivate)); } @@ -110,6 +110,6 @@ static void trg_cell_renderer_speed_init(TrgCellRendererSpeed * self) GtkCellRenderer *trg_cell_renderer_speed_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); } diff --git a/src/trg-cell-renderer-speed.h b/src/trg-cell-renderer-speed.h index 6aa6b7f..e8ea8f0 100644 --- a/src/trg-cell-renderer-speed.h +++ b/src/trg-cell-renderer-speed.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_speed_get_type(void); GtkCellRenderer *trg_cell_renderer_speed_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_SPEED_H_ */ +#endif /* TRG_CELL_RENDERER_SPEED_H_ */ diff --git a/src/trg-cell-renderer-wanted.c b/src/trg-cell-renderer-wanted.c index ff90beb..d364bd2 100644 --- a/src/trg-cell-renderer-wanted.c +++ b/src/trg-cell-renderer-wanted.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererWanted, trg_cell_renderer_wanted, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_WANTED_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_WANTED, TrgCellRendererWantedPrivate)) typedef struct _TrgCellRendererWantedPrivate TrgCellRendererWantedPrivate; @@ -40,35 +40,35 @@ struct _TrgCellRendererWantedPrivate { static void trg_cell_renderer_wanted_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererWantedPrivate *priv = - TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object); + TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object); switch (property_id) { case PROP_WANTED_VALUE: - g_value_set_boolean(value, priv->wanted_value); - break; + g_value_set_boolean(value, priv->wanted_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_wanted_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererWantedPrivate *priv = - TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object); + TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object); if (property_id == PROP_WANTED_VALUE) { - priv->wanted_value = g_value_get_boolean(value); - if (priv->wanted_value) { - g_object_set(object, "text", "Yes", NULL); - } else { - g_object_set(object, "text", "No", NULL); - } + priv->wanted_value = g_value_get_boolean(value); + if (priv->wanted_value) { + g_object_set(object, "text", "Yes", NULL); + } else { + g_object_set(object, "text", "No", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -81,14 +81,14 @@ trg_cell_renderer_wanted_class_init(TrgCellRendererWantedClass * klass) object_class->set_property = trg_cell_renderer_wanted_set_property; g_object_class_install_property(object_class, - PROP_WANTED_VALUE, - g_param_spec_boolean - ("wanted-value", "Wanted Value", - "Wanted Value", TRUE, - G_PARAM_READWRITE | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_WANTED_VALUE, + g_param_spec_boolean + ("wanted-value", "Wanted Value", + "Wanted Value", TRUE, + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererWantedPrivate)); } @@ -101,6 +101,6 @@ trg_cell_renderer_wanted_init(TrgCellRendererWanted * self G_GNUC_UNUSED) GtkCellRenderer *trg_cell_renderer_wanted_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_WANTED, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_WANTED, NULL)); } diff --git a/src/trg-cell-renderer-wanted.h b/src/trg-cell-renderer-wanted.h index e3ef18a..f8f83d8 100644 --- a/src/trg-cell-renderer-wanted.h +++ b/src/trg-cell-renderer-wanted.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_wanted_get_type(void); GtkCellRenderer *trg_cell_renderer_wanted_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_WANTED_H_ */ +#endif /* TRG_CELL_RENDERER_WANTED_H_ */ diff --git a/src/trg-client.c b/src/trg-client.c index 8e7c46a..cdbebfc 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -24,9 +24,9 @@ #include "trg-client.h" #include "trg-preferences.h" -gboolean trg_client_supports_tracker_edit(trg_client *tc) +gboolean trg_client_supports_tracker_edit(trg_client * tc) { - return tc->session != NULL && tc->version >= 2.10; + return tc->session != NULL && tc->version >= 2.10; } trg_client *trg_init_client() @@ -42,14 +42,14 @@ trg_client *trg_init_client() #define check_for_error(error) if (error) { g_error_free(error); return TRG_GCONF_SCHEMA_ERROR; } -void trg_client_set_session(trg_client *tc, JsonObject *session) +void trg_client_set_session(trg_client * tc, JsonObject * session) { - if (tc->session != NULL) - json_object_unref(tc->session); + if (tc->session != NULL) + json_object_unref(tc->session); - session_get_version(session, &(tc->version)); + session_get_version(session, &(tc->version)); - tc->session = session; + tc->session = session; } int trg_client_populate_with_settings(trg_client * tc, GConfClient * gconf) @@ -73,27 +73,28 @@ int trg_client_populate_with_settings(trg_client * tc, GConfClient * gconf) host = gconf_client_get_string(gconf, TRG_GCONF_KEY_HOSTNAME, &error); check_for_error(error); if (!host || strlen(host) < 1) - return TRG_NO_HOSTNAME_SET; + return TRG_NO_HOSTNAME_SET; tc->ssl = gconf_client_get_bool(gconf, TRG_GCONF_KEY_SSL, &error); check_for_error(error); tc->url = - g_strdup_printf("%s://%s:%d/transmission/rpc", - tc->ssl ? "https" : "http", host, port); + g_strdup_printf("%s://%s:%d/transmission/rpc", + tc->ssl ? "https" : "http", host, port); g_free(host); - tc->interval = gconf_client_get_int(gconf, TRG_GCONF_KEY_UPDATE_INTERVAL, &error); + tc->interval = + gconf_client_get_int(gconf, TRG_GCONF_KEY_UPDATE_INTERVAL, &error); check_for_error(error); if (tc->interval < 1) - tc->interval = 3; + tc->interval = 3; tc->username = - gconf_client_get_string(gconf, TRG_GCONF_KEY_USERNAME, &error); + gconf_client_get_string(gconf, TRG_GCONF_KEY_USERNAME, &error); check_for_error(error); tc->password = - gconf_client_get_string(gconf, TRG_GCONF_KEY_PASSWORD, &error); + gconf_client_get_string(gconf, TRG_GCONF_KEY_PASSWORD, &error); check_for_error(error); return 0; diff --git a/src/trg-client.h b/src/trg-client.h index 60086e6..ae0f889 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -46,8 +46,8 @@ typedef struct { trg_client *trg_init_client(); int trg_client_populate_with_settings(trg_client * tc, - GConfClient * gconf); -void trg_client_set_session(trg_client *tc, JsonObject *session); -gboolean trg_client_supports_tracker_edit(trg_client *tc); + GConfClient * gconf); +void trg_client_set_session(trg_client * tc, JsonObject * session); +gboolean trg_client_supports_tracker_edit(trg_client * tc); -#endif /* TRG_CLIENT_H_ */ +#endif /* TRG_CLIENT_H_ */ diff --git a/src/trg-files-model.c b/src/trg-files-model.c index 3800545..9afc4cc 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -42,8 +42,8 @@ struct _TrgFilesModelPrivate { }; static void trg_files_model_iter_new(TrgFilesModel * model, - GtkTreeIter * iter, JsonObject * file, - int id) + GtkTreeIter * iter, JsonObject * file, + int id) { char size[32]; @@ -51,12 +51,12 @@ static void trg_files_model_iter_new(TrgFilesModel * model, trg_strlsize(size, file_get_length(file)); gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_NAME, file_get_name(file), - FILESCOL_SIZE, size, FILESCOL_ID, id, -1); + FILESCOL_NAME, file_get_name(file), + FILESCOL_SIZE, size, FILESCOL_ID, id, -1); } void trg_files_model_set_update_barrier(TrgFilesModel * model, - gint64 serial) + gint64 serial) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); priv->updateBarrier = serial; @@ -64,28 +64,28 @@ void trg_files_model_set_update_barrier(TrgFilesModel * model, static void trg_files_model_iter_update(TrgFilesModel * model, - GtkTreeIter * filesIter, JsonObject * file, - JsonArray * wantedArray, - JsonArray * prioritiesArray, int id) + GtkTreeIter * filesIter, JsonObject * file, + JsonArray * wantedArray, + JsonArray * prioritiesArray, int id) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); gboolean wanted = json_node_get_int(json_array_get_element - (wantedArray, id)) == 1; + (wantedArray, id)) == 1; gint64 priority = - json_node_get_int(json_array_get_element(prioritiesArray, id)); + json_node_get_int(json_array_get_element(prioritiesArray, id)); gdouble progress = file_get_progress(file); gtk_list_store_set(GTK_LIST_STORE(model), filesIter, - FILESCOL_PROGRESS, progress, -1); + FILESCOL_PROGRESS, progress, -1); if (priv->updateBarrier < 0 - || priv->currentSerial > priv->updateBarrier) { - gtk_list_store_set(GTK_LIST_STORE(model), filesIter, - FILESCOL_ICON, - wanted ? GTK_STOCK_FILE : - GTK_STOCK_STOP, FILESCOL_WANTED, wanted, - FILESCOL_PRIORITY, priority, -1); + || priv->currentSerial > priv->updateBarrier) { + gtk_list_store_set(GTK_LIST_STORE(model), filesIter, + FILESCOL_ICON, + wanted ? GTK_STOCK_FILE : + GTK_STOCK_STOP, FILESCOL_WANTED, wanted, + FILESCOL_PRIORITY, priority, -1); } } @@ -110,14 +110,14 @@ static void trg_files_model_init(TrgFilesModel * self) column_types[FILESCOL_PRIORITY] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - FILESCOL_COLUMNS, column_types); + FILESCOL_COLUMNS, column_types); } gboolean trg_files_model_update_foreach(GtkListStore * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); JsonObject *file; @@ -127,20 +127,20 @@ trg_files_model_update_foreach(GtkListStore * model, file = json_node_get_object(json_array_get_element(priv->files, id)); trg_files_model_iter_update(TRG_FILES_MODEL(model), iter, file, - priv->wanted, priv->priorities, id); + priv->wanted, priv->priorities, id); return FALSE; } void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, - JsonObject * t, gboolean first) + JsonObject * t, gboolean first) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); guint j; if (first) - gtk_list_store_clear(GTK_LIST_STORE(model)); + gtk_list_store_clear(GTK_LIST_STORE(model)); priv->torrentId = torrent_get_id(t); priv->priorities = torrent_get_priorities(t); @@ -149,20 +149,20 @@ trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, priv->currentSerial = updateSerial; if (first == TRUE) { - for (j = 0; j < json_array_get_length(priv->files); j++) { - JsonObject *file = - json_node_get_object(json_array_get_element - (priv->files, j)); - GtkTreeIter filesIter; - trg_files_model_iter_new(model, &filesIter, file, j); - trg_files_model_iter_update(model, &filesIter, - file, priv->wanted, - priv->priorities, j); - } + for (j = 0; j < json_array_get_length(priv->files); j++) { + JsonObject *file = + json_node_get_object(json_array_get_element + (priv->files, j)); + GtkTreeIter filesIter; + trg_files_model_iter_new(model, &filesIter, file, j); + trg_files_model_iter_update(model, &filesIter, + file, priv->wanted, + priv->priorities, j); + } } else { - gtk_tree_model_foreach(GTK_TREE_MODEL(model), - (GtkTreeModelForeachFunc) - trg_files_model_update_foreach, NULL); + gtk_tree_model_foreach(GTK_TREE_MODEL(model), + (GtkTreeModelForeachFunc) + trg_files_model_update_foreach, NULL); } } diff --git a/src/trg-files-model.h b/src/trg-files-model.h index 9b56be6..7c5a296 100644 --- a/src/trg-files-model.h +++ b/src/trg-files-model.h @@ -66,9 +66,9 @@ G_END_DECLS enum { void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, - JsonObject * t, gboolean first); + JsonObject * t, gboolean first); gint64 trg_files_model_get_torrent_id(TrgFilesModel * model); void trg_files_model_set_update_barrier(TrgFilesModel * model, - gint64 serial); + gint64 serial); -#endif /* TRG_FILES_MODEL_H_ */ +#endif /* TRG_FILES_MODEL_H_ */ diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index 01d8a7a..de947e8 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -47,92 +47,92 @@ static void trg_files_tree_view_class_init(TrgFilesTreeViewClass * klass) } static void set_unwanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_WANTED, - FALSE, FILESCOL_ICON, GTK_STOCK_CANCEL, -1); + FALSE, FILESCOL_ICON, GTK_STOCK_CANCEL, -1); } static void set_wanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_WANTED, - TRUE, FILESCOL_ICON, GTK_STOCK_FILE, -1); + TRUE, FILESCOL_ICON, GTK_STOCK_FILE, -1); } static void set_low_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { GValue value = { 0 }; g_value_init(&value, G_TYPE_INT64); g_value_set_int64(&value, T_PRIORITY_LOW); gtk_list_store_set_value(GTK_LIST_STORE(model), iter, - FILESCOL_PRIORITY, &value); + FILESCOL_PRIORITY, &value); } static void set_normal_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_PRIORITY, - T_PRIORITY_NORMAL, -1); + T_PRIORITY_NORMAL, -1); } static void set_high_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_PRIORITY, - T_PRIORITY_HIGH, -1); + T_PRIORITY_HIGH, -1); } static void add_file_id_to_array(JsonObject * args, gchar * key, - gint index) + gint index) { JsonArray *array = json_object_get_array_member(args, key); json_array_add_int_element(array, index); } static void send_updated_file_prefs_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonObject *args = (JsonObject *) data; gint64 priority, id; gboolean wanted; gtk_tree_model_get(model, iter, FILESCOL_WANTED, &wanted, - FILESCOL_PRIORITY, &priority, FILESCOL_ID, &id, -1); + FILESCOL_PRIORITY, &priority, FILESCOL_ID, &id, -1); if (wanted == FALSE) - add_file_id_to_array(args, FIELD_FILES_UNWANTED, id); + add_file_id_to_array(args, FIELD_FILES_UNWANTED, id); else - add_file_id_to_array(args, FIELD_FILES_WANTED, id); + add_file_id_to_array(args, FIELD_FILES_WANTED, id); if (priority == T_PRIORITY_LOW) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, id); else if (priority == T_PRIORITY_HIGH) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, id); else - add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); } static void remove_array_if_empty(JsonObject * args, gchar * key) { JsonArray *array = json_object_get_array_member(args, key); if (json_array_get_length(array) == 0) - json_object_remove_member(args, key); + json_object_remove_member(args, key); } static void send_updated_file_prefs(TrgFilesTreeView * tv) @@ -155,19 +155,19 @@ static void send_updated_file_prefs(TrgFilesTreeView * tv) args = node_get_arguments(req); json_object_set_array_member(args, FIELD_FILES_WANTED, - json_array_new()); + json_array_new()); json_object_set_array_member(args, FIELD_FILES_UNWANTED, - json_array_new()); + json_array_new()); json_object_set_array_member(args, FIELD_FILES_PRIORITY_HIGH, - json_array_new()); + json_array_new()); json_object_set_array_member(args, FIELD_FILES_PRIORITY_NORMAL, - json_array_new()); + json_array_new()); json_object_set_array_member(args, FIELD_FILES_PRIORITY_LOW, - json_array_new()); + json_array_new()); gtk_tree_selection_selected_foreach(selection, - send_updated_file_prefs_foreachfunc, - args); + send_updated_file_prefs_foreachfunc, + args); remove_array_if_empty(args, FIELD_FILES_WANTED); remove_array_if_empty(args, FIELD_FILES_UNWANTED); @@ -176,18 +176,18 @@ static void send_updated_file_prefs(TrgFilesTreeView * tv) remove_array_if_empty(args, FIELD_FILES_PRIORITY_LOW); trg_files_model_set_update_barrier(TRG_FILES_MODEL(model), - priv->client->updateSerial + 1); + priv->client->updateSerial + 1); dispatch_async(priv->client, req, on_generic_interactive_action, - priv->win); + priv->win); } static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, set_low_foreachfunc, - NULL); + NULL); send_updated_file_prefs(tv); } @@ -195,9 +195,9 @@ static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_normal_foreachfunc, NULL); + set_normal_foreachfunc, NULL); send_updated_file_prefs(tv); } @@ -205,9 +205,9 @@ static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_high_foreachfunc, NULL); + set_high_foreachfunc, NULL); send_updated_file_prefs(tv); } @@ -215,9 +215,9 @@ static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_unwanted_foreachfunc, NULL); + set_unwanted_foreachfunc, NULL); send_updated_file_prefs(tv); } @@ -225,15 +225,15 @@ static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_wanted_foreachfunc, NULL); + set_wanted_foreachfunc, NULL); send_updated_file_prefs(tv); } static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; @@ -245,7 +245,7 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, menuitem = gtk_menu_item_new_with_label("Normal Priority"); g_signal_connect(menuitem, "activate", G_CALLBACK(set_normal), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_menu_item_new_with_label("Low Priority"); @@ -253,56 +253,56 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_FILE); gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); + (menuitem), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), "Download"); g_signal_connect(menuitem, "activate", G_CALLBACK(set_wanted), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_STOP); gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); + (menuitem), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), "Skip"); g_signal_connect(menuitem, "activate", G_CALLBACK(set_unwanted), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 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 gboolean view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { GtkTreeSelection *selection; GtkTreePath *path; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - gtk_tree_path_free(path); - - view_popup_menu(treeview, event, userdata); - return TRUE; - } + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + gtk_tree_path_free(path); + + view_popup_menu(treeview, event, userdata); + return TRUE; + } } return FALSE; @@ -315,32 +315,32 @@ static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) } static void trg_files_tree_view_add_priority_column(TrgTreeView * tv, - char *title, int index, - int width) + char *title, int index, + int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = trg_cell_renderer_priority_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "priority-value", - index, NULL); + "priority-value", + index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); } static void trg_files_tree_view_add_wanted_column(TrgTreeView * tv, - char *title, int index, - int width) + char *title, int index, + int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = trg_cell_renderer_wanted_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "wanted-value", - index, NULL); + "wanted-value", + index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); @@ -349,26 +349,26 @@ static void trg_files_tree_view_add_wanted_column(TrgTreeView * tv, static void trg_files_tree_view_init(TrgFilesTreeView * self) { trg_tree_view_add_pixbuf_text_column(TRG_TREE_VIEW(self), - FILESCOL_ICON, FILESCOL_NAME, - "Name", -1); + FILESCOL_ICON, FILESCOL_NAME, + "Name", -1); trg_tree_view_add_column(TRG_TREE_VIEW(self), "Size", FILESCOL_SIZE); trg_tree_view_add_prog_column(TRG_TREE_VIEW(self), "Progress", - FILESCOL_PROGRESS, -1); + FILESCOL_PROGRESS, -1); trg_files_tree_view_add_wanted_column(TRG_TREE_VIEW(self), - "Wanted", FILESCOL_WANTED, -1); + "Wanted", FILESCOL_WANTED, -1); trg_files_tree_view_add_priority_column(TRG_TREE_VIEW(self), - "Priority", - FILESCOL_PRIORITY, -1); + "Priority", + FILESCOL_PRIORITY, -1); g_signal_connect(self, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(self, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); } TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, - TrgMainWindow * win, - trg_client * client) + TrgMainWindow * win, + trg_client * client) { GObject *obj = g_object_new(TRG_TYPE_FILES_TREE_VIEW, NULL); TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(obj); diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index c957f8a..ac006f9 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -49,8 +49,8 @@ typedef struct { GType trg_files_tree_view_get_type(void); TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, - TrgMainWindow * win, - trg_client * client); + TrgMainWindow * win, + trg_client * client); G_END_DECLS -#endif /* TRG_FILES_TREE_VIEW_H_ */ +#endif /* TRG_FILES_TREE_VIEW_H_ */ diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index b52347f..b98a78b 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -27,7 +27,7 @@ static void gtk_label_clear(GtkLabel * l); static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * fixed, - char *key, int col, int row); + char *key, int col, int row); G_DEFINE_TYPE(TrgGeneralPanel, trg_general_panel, GTK_TYPE_FIXED) #define TRG_GENERAL_PANEL_GET_PRIVATE(o) \ @@ -79,7 +79,7 @@ static void trg_general_panel_class_init(TrgGeneralPanelClass * klass) } void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter) + GtkTreeIter * iter) { TrgGeneralPanelPrivate *priv; gchar buf[32]; @@ -108,8 +108,8 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_downloaded_label), buf); trg_strlratio(buf, - (double) torrent_get_uploaded(t) / - (double) torrent_get_downloaded(t)); + (double) torrent_get_uploaded(t) / + (double) torrent_get_downloaded(t)); gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); statusString = torrent_get_status_string(torrent_get_status(t)); @@ -120,20 +120,20 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_completed_label), buf); gtk_label_set_text(GTK_LABEL(priv->gen_name_label), - torrent_get_name(t)); + torrent_get_name(t)); if ((eta = torrent_get_eta(t)) > 0) { - tr_strltime_long(buf, eta, sizeOfBuf); - gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), buf); + tr_strltime_long(buf, eta, sizeOfBuf); + gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), buf); } else { - gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), "N/A"); + gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), "N/A"); } seeders = 0; leechers = 0; gtk_tree_model_get(GTK_TREE_MODEL(priv->model), iter, - TORRENT_COLUMN_SEEDS, &seeders, - TORRENT_COLUMN_LEECHERS, &leechers, -1); + TORRENT_COLUMN_SEEDS, &seeders, + TORRENT_COLUMN_LEECHERS, &leechers, -1); snprintf(buf, sizeof(buf), "%d", seeders); gtk_label_set_text(GTK_LABEL(priv->gen_seeders_label), buf); @@ -142,7 +142,7 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, } static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * fixed, - char *key, int col, int row) + char *key, int col, int row) { GtkWidget *keyLabel; GtkWidget *value; @@ -153,12 +153,12 @@ static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * fixed, gtk_label_set_markup(GTK_LABEL(keyLabel), keyMarkup); g_free(keyMarkup); gtk_fixed_put(GTK_FIXED(fixed), keyLabel, 10 + (col * 280), - 10 + (row * 22)); + 10 + (row * 22)); value = gtk_label_new(NULL); gtk_label_set_selectable(GTK_LABEL(value), TRUE); gtk_fixed_put(GTK_FIXED(fixed), value, 140 + (col * 300), - 10 + (row * 22)); + 10 + (row * 22)); g_object_set_data(G_OBJECT(value), "key-label", keyLabel); return GTK_LABEL(value); @@ -169,32 +169,32 @@ static void trg_general_panel_init(TrgGeneralPanel * self) TrgGeneralPanelPrivate *priv = TRG_GENERAL_PANEL_GET_PRIVATE(self); priv->gen_name_label = - trg_general_panel_add_label(self, "Name:", 0, 0); + trg_general_panel_add_label(self, "Name:", 0, 0); priv->gen_size_label = - trg_general_panel_add_label(self, "Size:", 0, 1); + trg_general_panel_add_label(self, "Size:", 0, 1); priv->gen_eta_label = trg_general_panel_add_label(self, "ETA:", 1, 1); priv->gen_completed_label = - trg_general_panel_add_label(self, "Completed:", 2, 1); + trg_general_panel_add_label(self, "Completed:", 2, 1); priv->gen_seeders_label = - trg_general_panel_add_label(self, "Seeders:", 0, 2); + trg_general_panel_add_label(self, "Seeders:", 0, 2); priv->gen_down_rate_label = - trg_general_panel_add_label(self, "Rate Down:", 1, 2); + trg_general_panel_add_label(self, "Rate Down:", 1, 2); priv->gen_downloaded_label = - trg_general_panel_add_label(self, "Downloaded:", 2, 2); + trg_general_panel_add_label(self, "Downloaded:", 2, 2); priv->gen_leechers_label = - trg_general_panel_add_label(self, "Leechers:", 0, 3); + trg_general_panel_add_label(self, "Leechers:", 0, 3); priv->gen_up_rate_label = - trg_general_panel_add_label(self, "Rate Up:", 1, 3); + trg_general_panel_add_label(self, "Rate Up:", 1, 3); priv->gen_uploaded_label = - trg_general_panel_add_label(self, "Uploaded:", 2, 3); + trg_general_panel_add_label(self, "Uploaded:", 2, 3); priv->gen_status_label = - trg_general_panel_add_label(self, "Status:", 0, 4); + trg_general_panel_add_label(self, "Status:", 0, 4); priv->gen_ratio_label = - trg_general_panel_add_label(self, "Ratio:", 1, 4); + trg_general_panel_add_label(self, "Ratio:", 1, 4); gtk_widget_set_sensitive(GTK_WIDGET(self), FALSE); } diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h index d0adacc..ef20ffd 100644 --- a/src/trg-general-panel.h +++ b/src/trg-general-panel.h @@ -53,7 +53,7 @@ TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model); G_END_DECLS void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter); + GtkTreeIter * iter); void trg_general_panel_clear(TrgGeneralPanel * panel); -#endif /* TRG_GENERAL_PANEL_H_ */ +#endif /* TRG_GENERAL_PANEL_H_ */ diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index bcff5e9..5573602 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -25,7 +25,7 @@ void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_toggle_button_get_active(b)); + gtk_toggle_button_get_active(b)); } void gtk_spin_button_json_int_out(GtkSpinButton * spin, JsonObject * out) @@ -42,11 +42,11 @@ void gtk_combo_box_json_string_output(GtkComboBox * c, JsonObject * out) } void gtk_spin_button_json_double_out(GtkSpinButton * spin, - JsonObject * out) + JsonObject * out) { gchar *key = g_object_get_data(G_OBJECT(spin), JSON_OBJECT_KEY); json_object_set_double_member(out, key, - gtk_spin_button_get_value(spin)); + gtk_spin_button_get_value(spin)); } void gtk_entry_json_output(GtkEntry * e, JsonObject * out) @@ -58,11 +58,11 @@ void gtk_entry_json_output(GtkEntry * e, JsonObject * out) void widget_set_json_key(GtkWidget * w, gchar * key) { g_object_set_data_full(G_OBJECT(w), JSON_OBJECT_KEY, - g_strdup(key), g_free); + g_strdup(key), g_free); } gboolean gtk_toggle_button_json_out(GtkToggleButton * button, - JsonObject * out) + JsonObject * out) { gboolean active = gtk_toggle_button_get_active(button); gchar *key = g_object_get_data(G_OBJECT(button), JSON_OBJECT_KEY); diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h index 025b629..792c9fb 100644 --- a/src/trg-json-widgets.h +++ b/src/trg-json-widgets.h @@ -30,11 +30,11 @@ void widget_set_json_key(GtkWidget * w, gchar * key); void gtk_spin_button_json_int_out(GtkSpinButton * spin, JsonObject * out); void gtk_spin_button_json_double_out(GtkSpinButton * spin, - JsonObject * out); + JsonObject * out); gboolean gtk_toggle_button_json_out(GtkToggleButton * button, - JsonObject * out); + JsonObject * out); void gtk_entry_json_output(GtkEntry * e, JsonObject * out); void gtk_combo_box_json_string_output(GtkComboBox * c, JsonObject * out); void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data); -#endif /* TRG_JSON_WIDGETS_H_ */ +#endif /* TRG_JSON_WIDGETS_H_ */ diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 20e3185..7c84cf1 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -65,23 +65,23 @@ #include "trg-preferences-dialog.h" static gboolean update_selected_torrent_notebook(TrgMainWindow * win, - gboolean first); + gboolean first); static void torrent_event_notification(TrgTorrentModel * model, - gchar * icon, gchar * desc, - gint tmout, gchar * prefKey, - GtkTreeIter * iter, - gpointer * data); + gchar * icon, gchar * desc, + gint tmout, gchar * prefKey, + GtkTreeIter * iter, + gpointer * data); static void on_torrent_completed(TrgTorrentModel * model, - GtkTreeIter * iter, gpointer * data); + GtkTreeIter * iter, gpointer * data); static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter, - gpointer * data); + gpointer * data); static gboolean delete_event(GtkWidget * w, GdkEvent * event, - gpointer * data); + 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 gpointer add_files_threadfunc(gpointer data); static void add_url_cb(GtkWidget * w, gpointer data); static void add_cb(GtkWidget * w, gpointer data); @@ -98,92 +98,92 @@ 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); + GtkTreeSelection * selection, + gchar * question_single, + gchar * question_multi, + gchar * action_stock); static GtkWidget *my_scrolledwin_new(GtkWidget * child); 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); static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win); static void on_session_get(JsonObject * response, int status, - gpointer data); + gpointer data); static void on_torrent_get_first(JsonObject * response, int status, - gpointer data); + gpointer data); static void on_torrent_get(JsonObject * response, int status, - gpointer data); + gpointer data); static gboolean trg_update_torrents_timerfunc(gpointer data); static void trg_main_window_update_notebook_displays(TrgMainWindow * win, - JsonObject * t, - GtkTreeIter * iter, - gboolean first); + JsonObject * t, + GtkTreeIter * iter, + gboolean first); static void open_about_cb(GtkWidget * w, GtkWindow * parent); static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model, - GtkTreeIter * iter, - gpointer data); + GtkTreeIter * iter, + gpointer data); static TrgTorrentTreeView * trg_main_window_torrent_tree_view_new(TrgMainWindow * win, - GtkTreeModel * model, - TrgStateSelector * selector); + GtkTreeModel * model, + TrgStateSelector * selector); static gboolean trg_dialog_error_handler(TrgMainWindow * win, - JsonObject * response, - int status); + JsonObject * response, + int status); static gboolean torrent_selection_changed(GtkWidget * w, gpointer data); static void trg_main_window_torrent_scrub(TrgMainWindow * win); static void on_torrent_get_multipurpose(JsonObject * response, - gboolean first, int status, - gpointer data); + gboolean first, int status, + gpointer data); 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); + gboolean connected); static void trg_main_window_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec); + guint property_id, GValue * value, + GParamSpec * pspec); static void trg_main_window_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec); + 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); static void status_icon_activated(GtkStatusIcon * icon, gpointer data); static void clear_filter_entry_cb(GtkWidget * w, gpointer data); static gboolean torrent_tv_key_press_event(GtkWidget * w, - GdkEventKey * key, - gpointer data); + GdkEventKey * key, + gpointer data); static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell, char *text, - char *stock_id, gboolean sensitive, - GCallback cb, gpointer cbdata); + 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, gint limit); + gint64 currentLimit, gint 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 void trg_status_icon_view_menu(GtkStatusIcon * icon, - GdkEventButton * event, - gpointer data); + GdkEventButton * event, + 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); 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); + gpointer userdata); static void status_bar_text_pushed(GtkStatusbar * statusbar, - guint context_id, gchar * text, - gpointer user_data); + guint context_id, gchar * text, + gpointer user_data); 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) \ @@ -231,7 +231,7 @@ static void trg_main_window_init(TrgMainWindow * self G_GNUC_UNUSED) } static gboolean update_selected_torrent_notebook(TrgMainWindow * win, - gboolean first) + gboolean first) { TrgMainWindowPrivate *priv; GtkTreeIter iter; @@ -240,27 +240,27 @@ static gboolean update_selected_torrent_notebook(TrgMainWindow * win, priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); newFirstSelected = - get_first_selected(priv->client, priv->torrentTreeView, &iter, - &json); + get_first_selected(priv->client, priv->torrentTreeView, &iter, + &json); if (priv->selectedTorrentId >= 0 - && (priv->selectedTorrentId != newFirstSelected - || newFirstSelected < 0)) { - trg_main_window_torrent_scrub(win); + && (priv->selectedTorrentId != newFirstSelected + || newFirstSelected < 0)) { + trg_main_window_torrent_scrub(win); } if ((priv->selectedTorrentId = newFirstSelected) >= 0) { - trg_main_window_update_notebook_displays(win, json, &iter, first); - return TRUE; + trg_main_window_update_notebook_displays(win, json, &iter, first); + return TRUE; } return FALSE; } static void torrent_event_notification(TrgTorrentModel * model, - gchar * icon, gchar * desc, - gint tmout, gchar * prefKey, - GtkTreeIter * iter, gpointer * data) + gchar * icon, gchar * desc, + gint tmout, gchar * prefKey, + GtkTreeIter * iter, gpointer * data) { TrgMainWindowPrivate *priv; gchar *name; @@ -269,20 +269,20 @@ static void torrent_event_notification(TrgTorrentModel * model, priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); if (priv->statusIcon == NULL - || !gtk_status_icon_is_embedded(priv->statusIcon)) - return; + || !gtk_status_icon_is_embedded(priv->statusIcon)) + return; if (!gconf_client_get_bool(priv->client->gconf, prefKey, NULL)) - return; + return; gtk_tree_model_get(GTK_TREE_MODEL(model), iter, - TORRENT_COLUMN_NAME, &name, -1); + 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 - ); + ); #if !defined(NOTIFY_VERSION_MINOR) || (NOTIFY_VERSION_MAJOR == 0 && NOTIFY_VERSION_MINOR < 7) notify_notification_attach_to_status_icon(notify, priv->statusIcon); @@ -297,32 +297,32 @@ static void torrent_event_notification(TrgTorrentModel * model, } static void on_torrent_completed(TrgTorrentModel * model, - GtkTreeIter * iter, gpointer * data) + GtkTreeIter * iter, gpointer * data) { torrent_event_notification(model, GTK_STOCK_APPLY, - "This torrent has completed.", 8000, - TRG_GCONF_KEY_COMPLETE_NOTIFY, iter, data); + "This torrent has completed.", 8000, + TRG_GCONF_KEY_COMPLETE_NOTIFY, iter, data); } static void on_torrent_added(TrgTorrentModel * model, - GtkTreeIter * iter, gpointer * data) + GtkTreeIter * iter, gpointer * data) { torrent_event_notification(model, GTK_STOCK_ADD, - "This torrent has been added.", 3000, - TRG_GCONF_KEY_ADD_NOTIFY, iter, data); + "This torrent has been added.", 3000, + TRG_GCONF_KEY_ADD_NOTIFY, iter, data); } static gboolean delete_event(GtkWidget * w, - GdkEvent * event G_GNUC_UNUSED, - gpointer * data G_GNUC_UNUSED) + GdkEvent * event G_GNUC_UNUSED, + gpointer * data G_GNUC_UNUSED) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(w); int width, height; gtk_window_get_size(GTK_WINDOW(w), &width, &height); gconf_client_set_int(priv->client->gconf, TRG_GCONF_KEY_WINDOW_HEIGHT, - height, NULL); + height, NULL); gconf_client_set_int(priv->client->gconf, TRG_GCONF_KEY_WINDOW_WIDTH, - width, NULL); + width, NULL); return FALSE; } @@ -337,18 +337,18 @@ static void open_props_cb(GtkWidget * w, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgTorrentPropsDialog *dialog = - trg_torrent_props_dialog_new(GTK_WINDOW(data), - priv->torrentTreeView, - priv->client); + trg_torrent_props_dialog_new(GTK_WINDOW(data), + 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); } @@ -375,10 +375,10 @@ static gpointer add_files_threadfunc(gpointer data) args = (struct add_torrent_threadfunc_args *) data; for (li = args->list; li != NULL; li = g_slist_next(li)) { - request = torrent_add((gchar *) li->data, FALSE); - g_free(li->data); - response = dispatch(args->client, request, &status); - on_generic_interactive_action(response, status, args->cb_data); + request = torrent_add((gchar *) li->data, FALSE); + g_free(li->data); + response = dispatch(args->client, request, &status); + on_generic_interactive_action(response, status, args->cb_data); } g_slist_free(args->list); @@ -393,7 +393,7 @@ static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgTorrentAddUrlDialog *dlg = - trg_torrent_add_url_dialog_new(win, priv->client); + trg_torrent_add_url_dialog_new(win, priv->client); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -406,12 +406,12 @@ static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); dialog = gtk_file_chooser_dialog_new("Open File", - GTK_WINDOW(data), - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, - GTK_RESPONSE_ACCEPT, NULL); + GTK_WINDOW(data), + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, + GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, + GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE); filter = gtk_file_filter_new(); @@ -420,23 +420,23 @@ static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { - GThread *thread; - GError *error = NULL; - struct add_torrent_threadfunc_args *args; - - args = g_new(struct add_torrent_threadfunc_args, 1); - args->list = - gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); - args->cb_data = data; - args->client = priv->client; - - thread = - g_thread_create(add_files_threadfunc, args, FALSE, &error); - if (error != NULL) { - g_printf("thread creation error: %s\n", error->message); - g_error_free(error); - g_free(args); - } + GThread *thread; + GError *error = NULL; + struct add_torrent_threadfunc_args *args; + + args = g_new(struct add_torrent_threadfunc_args, 1); + args->list = + gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); + args->cb_data = data; + args->client = priv->client; + + thread = + g_thread_create(add_files_threadfunc, args, FALSE, &error); + if (error != NULL) { + g_printf("thread creation error: %s\n", error->message); + g_error_free(error); + g_free(args); + } } gtk_widget_destroy(dialog); @@ -447,9 +447,9 @@ static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); 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); } gboolean trg_add_from_filename(TrgMainWindow * win, gchar * fileName) @@ -457,10 +457,10 @@ gboolean trg_add_from_filename(TrgMainWindow * win, gchar * fileName) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); if (g_file_test(fileName, G_FILE_TEST_EXISTS) == TRUE) { - JsonNode *torrentAddReq = torrent_add(fileName, FALSE); - dispatch_async(priv->client, torrentAddReq, - on_generic_interactive_action, win); - return TRUE; + JsonNode *torrentAddReq = torrent_add(fileName, FALSE); + dispatch_async(priv->client, torrentAddReq, + on_generic_interactive_action, win); + return TRUE; } return FALSE; @@ -471,9 +471,9 @@ static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); 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) @@ -492,36 +492,36 @@ static void connect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); populate_result = - trg_client_populate_with_settings(priv->client, - priv->client->gconf); + trg_client_populate_with_settings(priv->client, + priv->client->gconf); if (populate_result < 0) { - gchar *msg; - - switch (populate_result) { - case TRG_GCONF_SCHEMA_ERROR: - msg = - "Unable to retrieve connection settings from GConf. Schema not installed?"; - break; - case TRG_NO_HOSTNAME_SET: - msg = "No hostname set"; - break; - default: - msg = "Unknown error getting settings"; - break; - } - - - - dialog = - gtk_message_dialog_new(GTK_WINDOW(data), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, "%s", msg); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); - - return; + gchar *msg; + + switch (populate_result) { + case TRG_GCONF_SCHEMA_ERROR: + msg = + "Unable to retrieve connection settings from GConf. Schema not installed?"; + break; + case TRG_NO_HOSTNAME_SET: + msg = "No hostname set"; + break; + default: + msg = "Unknown error getting settings"; + break; + } + + + + dialog = + gtk_message_dialog_new(GTK_WINDOW(data), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, "%s", msg); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + + return; } trg_status_bar_push_connection_msg(priv->statusBar, "Connecting..."); @@ -533,19 +533,19 @@ 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->gconf); + trg_preferences_dialog_get_instance(TRG_MAIN_WINDOW(data), + priv->client->gconf); gtk_widget_show_all(dlg); } static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, - gpointer data) + gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgRemotePrefsDialog *dlg = - trg_remote_prefs_dialog_get_instance(TRG_MAIN_WINDOW(data), - priv->client); + trg_remote_prefs_dialog_get_instance(TRG_MAIN_WINDOW(data), + priv->client); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -554,24 +554,24 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) { GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause; GObject *b_remove, *b_delete, *b_props, *b_local_prefs, - *b_remote_prefs; + *b_remote_prefs; TrgToolbar *toolBar = trg_toolbar_new(); 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); + "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_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); @@ -579,9 +579,9 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * 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_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; } @@ -591,16 +591,16 @@ static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(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 gint confirm_action_dialog(GtkWindow * win, - GtkTreeSelection * selection, - gchar * question_single, - gchar * question_multi, - gchar * action_stock) + GtkTreeSelection * selection, + gchar * question_single, + gchar * question_multi, + gchar * action_stock) { TrgMainWindowPrivate *priv; gint selectCount; @@ -612,50 +612,50 @@ static gint confirm_action_dialog(GtkWindow * win, selectCount = gtk_tree_selection_count_selected_rows(selection); if (selectCount == 1) { - GList *list; - GList *firstNode; - GtkTreeIter firstIter; - gchar *name = NULL; - - list = gtk_tree_selection_get_selected_rows(selection, NULL); - firstNode = g_list_first(list); - - gtk_tree_model_get_iter(GTK_TREE_MODEL - (priv->sortedTorrentModel), - &firstIter, firstNode->data); - gtk_tree_model_get(GTK_TREE_MODEL - (priv->sortedTorrentModel), - &firstIter, TORRENT_COLUMN_NAME, &name, -1); - 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); - g_free(name); + GList *list; + GList *firstNode; + GtkTreeIter firstIter; + gchar *name = NULL; + + list = gtk_tree_selection_get_selected_rows(selection, NULL); + firstNode = g_list_first(list); + + gtk_tree_model_get_iter(GTK_TREE_MODEL + (priv->sortedTorrentModel), + &firstIter, firstNode->data); + gtk_tree_model_get(GTK_TREE_MODEL + (priv->sortedTorrentModel), + &firstIter, TORRENT_COLUMN_NAME, &name, -1); + 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); + 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); + dialog = + gtk_message_dialog_new_with_markup(GTK_WINDOW(win), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_NONE, + question_multi, + selectCount); } else { - return 0; + return 0; } gtk_dialog_add_buttons(GTK_DIALOG(dialog), - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - action_stock, GTK_RESPONSE_ACCEPT, NULL); + 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); 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); @@ -666,8 +666,8 @@ static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgTorrentMoveDialog *dlg = - trg_torrent_move_dialog_new(TRG_MAIN_WINDOW(data), priv->client, - priv->torrentTreeView); + trg_torrent_move_dialog_new(TRG_MAIN_WINDOW(data), priv->client, + priv->torrentTreeView); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -680,19 +680,19 @@ static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); + 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, - "Remove torrent \"%s\"?", - "Remove %d torrents?", - GTK_STOCK_REMOVE) == GTK_RESPONSE_ACCEPT) - dispatch_async(priv->client, - torrent_remove(ids, - FALSE), - on_generic_interactive_action, data); + (GTK_WINDOW(data), selection, + "Remove torrent \"%s\"?", + "Remove %d torrents?", + GTK_STOCK_REMOVE) == GTK_RESPONSE_ACCEPT) + dispatch_async(priv->client, + torrent_remove(ids, + FALSE), + on_generic_interactive_action, data); else - json_array_unref(ids); + json_array_unref(ids); } static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) @@ -704,20 +704,20 @@ static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); + 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, - "Remove and delete torrent \"%s\"?", - "Remove and delete %d torrents?", - GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT) - dispatch_async(priv->client, - torrent_remove(ids, - TRUE), - on_generic_interactive_action, data); + (GTK_WINDOW(data), selection, + "Remove and delete torrent \"%s\"?", + "Remove and delete %d torrents?", + GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT) + dispatch_async(priv->client, + torrent_remove(ids, + TRUE), + on_generic_interactive_action, data); else - json_array_unref(ids); + json_array_unref(ids); } static @@ -725,8 +725,8 @@ GtkWidget *my_scrolledwin_new(GtkWidget * child) { GtkWidget *scrolled_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_win), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scrolled_win), child); return scrolled_win; } @@ -736,7 +736,7 @@ 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); + trg_stats_dialog_get_instance(TRG_MAIN_WINDOW(data), priv->client); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -745,14 +745,14 @@ static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); gtk_widget_set_visible(GTK_WIDGET(priv->stateSelector), - gtk_check_menu_item_get_active(w)); + gtk_check_menu_item_get_active(w)); } static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); gtk_widget_set_visible(priv->notebook, - gtk_check_menu_item_get_active(w)); + gtk_check_menu_item_get_active(w)); } static @@ -766,31 +766,31 @@ GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) priv->genDetails = trg_general_panel_new(priv->sortedTorrentModel); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - GTK_WIDGET(priv->genDetails), - gtk_label_new("General")); + GTK_WIDGET(priv->genDetails), + gtk_label_new("General")); priv->trackersModel = trg_trackers_model_new(); priv->trackersTreeView = - trg_trackers_tree_view_new(priv->trackersModel, priv->client, win); + 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); + trg_files_tree_view_new(priv->filesModel, win, 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(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")); return notebook; } @@ -800,7 +800,7 @@ void on_session_set(JsonObject * response, int status, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); if (status == CURLE_OK || status == FAIL_RESPONSE_UNSUCCESSFUL) - dispatch_async(priv->client, session_get(), on_session_get, data); + dispatch_async(priv->client, session_get(), on_session_get, data); gdk_threads_enter(); trg_dialog_error_handler(TRG_MAIN_WINDOW(data), response, status); @@ -810,7 +810,7 @@ void on_session_set(JsonObject * response, int status, gpointer data) } static void on_session_get(JsonObject * response, int status, - gpointer data) + gpointer data) { TrgMainWindow *win = TRG_MAIN_WINDOW(data); TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); @@ -820,18 +820,18 @@ static void on_session_get(JsonObject * response, int status, gdk_threads_enter(); if (trg_dialog_error_handler(win, response, status) == TRUE) { - response_unref(response); - gdk_threads_leave(); - return; + response_unref(response); + gdk_threads_leave(); + return; } newSession = get_arguments(response); if (client->session == NULL) { - trg_status_bar_connect(priv->statusBar, newSession); - trg_main_window_conn_changed(win, TRUE); + trg_status_bar_connect(priv->statusBar, newSession); + trg_main_window_conn_changed(win, TRUE); - dispatch_async(client, torrent_get(), on_torrent_get_first, data); + dispatch_async(client, torrent_get(), on_torrent_get_first, data); } trg_client_set_session(client, newSession); @@ -849,7 +849,7 @@ on_torrent_get_first(JsonObject * response, int status, gpointer data) } static void on_torrent_get(JsonObject * response, int status, - gpointer data) + gpointer data) { on_torrent_get_multipurpose(response, FALSE, status, data); } @@ -859,16 +859,16 @@ static gboolean trg_update_torrents_timerfunc(gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); if (priv->client->session != NULL) - dispatch_async(priv->client, torrent_get(), on_torrent_get, data); + dispatch_async(priv->client, torrent_get(), on_torrent_get, data); return FALSE; } static void trg_main_window_update_notebook_displays(TrgMainWindow * win, - JsonObject * t, - GtkTreeIter * iter, - gboolean first) + JsonObject * t, + GtkTreeIter * iter, + gboolean first) { TrgMainWindowPrivate *priv; trg_client *client; @@ -877,11 +877,12 @@ trg_main_window_update_notebook_displays(TrgMainWindow * win, client = priv->client; trg_general_panel_update(priv->genDetails, t, iter); - trg_trackers_model_update(priv->trackersModel, client->updateSerial, t, first); - trg_files_model_update(priv->filesModel, client->updateSerial, - t, first); - trg_peers_model_update(priv->peersModel, client->updateSerial, - t, first); + trg_trackers_model_update(priv->trackersModel, client->updateSerial, t, + first); + trg_files_model_update(priv->filesModel, client->updateSerial, t, + first); + trg_peers_model_update(priv->peersModel, client->updateSerial, t, + first); } static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent) @@ -894,7 +895,7 @@ 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) { guint flags; gchar *name = NULL; @@ -905,16 +906,16 @@ trg_torrent_tree_view_visible_func(GtkTreeModel * model, guint32 criteria = trg_state_selector_get_flag(priv->stateSelector); gtk_tree_model_get(model, iter, - TORRENT_COLUMN_FLAGS, &flags, - TORRENT_COLUMN_NAME, &name, -1); + TORRENT_COLUMN_FLAGS, &flags, + TORRENT_COLUMN_NAME, &name, -1); if (criteria != 0 && !(flags & criteria)) { - visible = FALSE; + visible = FALSE; } else if (name != NULL) { - const gchar *filterText = - gtk_entry_get_text(GTK_ENTRY(priv->filterEntry)); - if (strlen(filterText) > 0 && strstr(name, filterText) == NULL) - visible = FALSE; + const gchar *filterText = + gtk_entry_get_text(GTK_ENTRY(priv->filterEntry)); + if (strlen(filterText) > 0 && strstr(name, filterText) == NULL) + visible = FALSE; } g_free(name); @@ -924,50 +925,50 @@ trg_torrent_tree_view_visible_func(GtkTreeModel * model, static TrgTorrentTreeView *trg_main_window_torrent_tree_view_new(TrgMainWindow * - win, - GtkTreeModel * - model, - TrgStateSelector - * - selector - G_GNUC_UNUSED) + win, + GtkTreeModel * + model, + TrgStateSelector + * + selector + G_GNUC_UNUSED) { TrgTorrentTreeView *torrentTreeView = trg_torrent_tree_view_new(model); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(torrentTreeView)); + 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, JsonObject * response, - int status) + int status) { TrgMainWindowPrivate *priv; priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); if (status != CURLE_OK) { - GtkWidget *dialog; - const gchar *msg; - - msg = make_error_message(response, status); - 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_window_set_title(GTK_WINDOW(dialog), "Error"); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); - g_free((gpointer) msg); - return TRUE; + GtkWidget *dialog; + const gchar *msg; + + msg = make_error_message(response, status); + 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_window_set_title(GTK_WINDOW(dialog), "Error"); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + g_free((gpointer) msg); + return TRUE; } else { - return FALSE; + return FALSE; } } @@ -989,14 +990,15 @@ torrent_selection_changed(GtkWidget * w G_GNUC_UNUSED, gpointer data) trg_menu_bar_torrent_actions_sensitive(priv->menuBar, isSelected); if (!isSelected) - trg_trackers_model_set_no_selection(TRG_TRACKERS_MODEL(priv->trackersModel)); + trg_trackers_model_set_no_selection(TRG_TRACKERS_MODEL + (priv->trackersModel)); return TRUE; } void on_generic_interactive_action(JsonObject * response, int status, - gpointer data) + gpointer data) { gdk_threads_enter(); trg_dialog_error_handler(TRG_MAIN_WINDOW(data), response, status); @@ -1018,7 +1020,7 @@ void trg_main_window_torrent_scrub(TrgMainWindow * win) static void on_torrent_get_multipurpose(JsonObject * response, gboolean first, - int status, gpointer data) + int status, gpointer data) { trg_torrent_model_update_stats stats; TrgMainWindowPrivate *priv; @@ -1031,34 +1033,35 @@ on_torrent_get_multipurpose(JsonObject * response, gboolean first, /* Disconnected between request and response callback */ if (client->session == NULL) { - gdk_threads_leave(); - response_unref(response); - return; + gdk_threads_leave(); + response_unref(response); + return; } if (status != CURLE_OK) { - client->failCount++; - if (client->failCount >= 3) { - trg_main_window_conn_changed(TRG_MAIN_WINDOW(data), FALSE); - trg_dialog_error_handler(TRG_MAIN_WINDOW(data), - response, status); - } else { - const gchar *msg; - gchar *statusBarMsg; - - msg = make_error_message(response, status); - statusBarMsg = - g_strdup_printf("Request %d/%d failed: %s", - client->failCount, 3, msg); - trg_status_bar_push_connection_msg(priv->statusBar, - statusBarMsg); - g_free((gpointer) msg); - g_free(statusBarMsg); - g_timeout_add_seconds(client->interval, trg_update_torrents_timerfunc, data); - } - gdk_threads_leave(); - response_unref(response); - return; + client->failCount++; + if (client->failCount >= 3) { + trg_main_window_conn_changed(TRG_MAIN_WINDOW(data), FALSE); + trg_dialog_error_handler(TRG_MAIN_WINDOW(data), + response, status); + } else { + const gchar *msg; + gchar *statusBarMsg; + + msg = make_error_message(response, status); + statusBarMsg = + g_strdup_printf("Request %d/%d failed: %s", + client->failCount, 3, msg); + trg_status_bar_push_connection_msg(priv->statusBar, + statusBarMsg); + g_free((gpointer) msg); + g_free(statusBarMsg); + g_timeout_add_seconds(client->interval, + trg_update_torrents_timerfunc, data); + } + gdk_threads_leave(); + response_unref(response); + return; } client->failCount = 0; @@ -1073,7 +1076,7 @@ on_torrent_get_multipurpose(JsonObject * response, gboolean first, client->updateSerial++; trg_torrent_model_update(priv->torrentModel, priv->client, - response, &stats, first); + response, &stats, first); update_selected_torrent_notebook(TRG_MAIN_WINDOW(data), first); @@ -1081,7 +1084,8 @@ on_torrent_get_multipurpose(JsonObject * response, gboolean first, trg_status_bar_update(priv->statusBar, &stats); - g_timeout_add_seconds(client->interval, trg_update_torrents_timerfunc, data); + g_timeout_add_seconds(client->interval, trg_update_torrents_timerfunc, + data); gdk_threads_leave(); response_unref(response); @@ -1093,11 +1097,11 @@ static void entry_filter_changed_cb(GtkWidget * w, gpointer 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)); #if GTK_CHECK_VERSION( 2,16,0 ) g_object_set(priv->filterEntryClearButton, - "secondary-icon-sensitive", clearSensitive, NULL); + "secondary-icon-sensitive", clearSensitive, NULL); #else gtk_widget_set_sensitive(priv->filterEntryClearButton, clearSensitive); #endif @@ -1105,7 +1109,7 @@ static void entry_filter_changed_cb(GtkWidget * w, gpointer data) static void torrent_state_selection_changed(TrgStateSelector * selector G_GNUC_UNUSED, - guint flag G_GNUC_UNUSED, gpointer data) + guint flag G_GNUC_UNUSED, gpointer data) { gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data)); } @@ -1123,43 +1127,43 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean 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); + connected); gtk_widget_set_sensitive(GTK_WIDGET(priv->genDetails), connected); if (connected == FALSE) { - json_object_unref(tc->session); - tc->session = NULL; + json_object_unref(tc->session); + tc->session = NULL; - gtk_list_store_clear(GTK_LIST_STORE(priv->torrentModel)); - trg_main_window_torrent_scrub(win); + gtk_list_store_clear(GTK_LIST_STORE(priv->torrentModel)); + trg_main_window_torrent_scrub(win); } } static void trg_main_window_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_main_window_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -1171,34 +1175,34 @@ static void quit_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) { GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause, - *b_verify, *b_remove, *b_delete, *b_props, *b_local_prefs, - *b_remote_prefs, *b_about, *b_view_states, *b_view_notebook, - *b_view_stats, *b_add_url, *b_quit, *b_move; + *b_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; TrgMenuBar *menuBar; menuBar = trg_menu_bar_new(win); g_object_get(menuBar, - "connect-button", &b_connect, - "disconnect-button", &b_disconnect, - "add-button", &b_add, - "add-url-button", &b_add_url, - "resume-button", &b_resume, - "pause-button", &b_pause, - "delete-button", &b_delete, - "remove-button", &b_remove, - "move-button", &b_move, - "verify-button", &b_verify, - "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, NULL); + "connect-button", &b_connect, + "disconnect-button", &b_disconnect, + "add-button", &b_add, + "add-url-button", &b_add_url, + "resume-button", &b_resume, + "pause-button", &b_pause, + "delete-button", &b_delete, + "remove-button", &b_remove, + "move-button", &b_move, + "verify-button", &b_verify, + "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, NULL); g_signal_connect(b_connect, "activate", G_CALLBACK(connect_cb), win); g_signal_connect(b_disconnect, "activate", - G_CALLBACK(disconnect_cb), win); + 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); @@ -1209,15 +1213,15 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * 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_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_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); g_signal_connect(b_props, "activate", G_CALLBACK(open_props_cb), win); g_signal_connect(b_quit, "activate", G_CALLBACK(quit_cb), win); @@ -1225,41 +1229,41 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) } static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED, - gpointer data) + gpointer data) { gtk_window_deiconify(GTK_WINDOW(data)); gtk_window_present(GTK_WINDOW(data)); } static void clear_filter_entry_cb(GtkWidget * w, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { gtk_entry_set_text(GTK_ENTRY(w), ""); } static gboolean torrent_tv_key_press_event(GtkWidget * w, - GdkEventKey * key, - gpointer data) + GdkEventKey * key, + gpointer data) { if (key->keyval == GDK_Delete) { - if (key->state & GDK_SHIFT_MASK) - delete_cb(w, data); - else - remove_cb(w, data); + if (key->state & GDK_SHIFT_MASK) + delete_cb(w, data); + else + remove_cb(w, data); } return FALSE; } static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell, char *text, - char *stock_id, gboolean sensitive, - GCallback cb, gpointer cbdata) + 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); @@ -1282,27 +1286,27 @@ static void set_limit_cb(GtkWidget * w, gpointer data) JsonNode *req = NULL; JsonObject *args; if (limitIds == NULL) { - req = session_set(); + req = session_set(); } else { - req = torrent_set((JsonArray *) limitIds); + req = torrent_set((JsonArray *) limitIds); } args = node_get_arguments(req); if (speed >= 0) - json_object_set_int_member(args, speedKey, speed); + json_object_set_int_member(args, speedKey, speed); json_object_set_boolean_member(args, enabledKey, speed >= 0); if (limitIds == NULL) - dispatch_async(priv->client, req, on_session_set, data); + dispatch_async(priv->client, req, on_session_set, data); else - dispatch_async(priv->client, req, on_generic_interactive_action, - data); + dispatch_async(priv->client, req, on_generic_interactive_action, + data); } static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu, - gint64 currentLimit, gint limit) + gint64 currentLimit, gint limit) { char speed[32]; GtkWidget *item; @@ -1320,8 +1324,8 @@ 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); @@ -1331,27 +1335,27 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, gint64 limit; if (ids == NULL) - current = priv->client->session; + current = priv->client->session; else - get_first_selected(priv->client, priv->torrentTreeView, &iter, - ¤t); + get_first_selected(priv->client, priv->torrentTreeView, &iter, + ¤t); limit = json_object_get_boolean_member(current, enabledKey) ? - json_object_get_int_member(current, speedKey) : -1; + 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_strdup(speedKey), g_free); g_object_set_data_full(G_OBJECT(menu), "enabledKey", - g_strdup(enabledKey), g_free); + 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); @@ -1360,7 +1364,7 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); limit_item_new(win, menu, limit, 0); limit_item_new(win, menu, limit, 5); @@ -1382,7 +1386,7 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, static void trg_torrent_tv_view_menu(GtkWidget * treeview, - GdkEventButton * event, gpointer data) + GdkEventButton * event, gpointer data) { GtkWidget *menu; JsonArray *ids; @@ -1391,46 +1395,46 @@ 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); + 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_REFRESH, TRUE, G_CALLBACK(verify_cb), + data); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Move", - GTK_STOCK_HARDDISK, TRUE, G_CALLBACK(move_cb), - data); + 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); + TRUE, G_CALLBACK(remove_cb), data); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Remove & Delete", - GTK_STOCK_DELETE, TRUE, G_CALLBACK(delete_cb), - data); + GTK_STOCK_DELETE, TRUE, G_CALLBACK(delete_cb), + data); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - limit_menu_new(TRG_MAIN_WINDOW(data), - "Down Limit", - FIELD_DOWNLOAD_LIMITED, - FIELD_DOWNLOAD_LIMIT, ids)); + 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)); + 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 void trg_status_icon_view_menu(GtkStatusIcon * icon G_GNUC_UNUSED, - GdkEventButton * event, gpointer data) + GdkEventButton * event, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); gboolean connected = priv->client->session != NULL; @@ -1439,132 +1443,132 @@ trg_status_icon_view_menu(GtkStatusIcon * icon G_GNUC_UNUSED, menu = gtk_menu_new(); if (!connected) { - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Connect", - GTK_STOCK_CONNECT, !connected, - G_CALLBACK(connect_cb), data); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Connect", + GTK_STOCK_CONNECT, !connected, + G_CALLBACK(connect_cb), data); } else { - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Disconnect", - GTK_STOCK_DISCONNECT, connected, - G_CALLBACK(disconnect_cb), data); - - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Add", GTK_STOCK_ADD, - connected, G_CALLBACK(add_cb), data); - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Add from URL", - GTK_STOCK_ADD, connected, - G_CALLBACK(add_url_cb), data); - - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - limit_menu_new(TRG_MAIN_WINDOW(data), - "Down Limit", - SGET_SPEED_LIMIT_DOWN_ENABLED, - SGET_SPEED_LIMIT_DOWN, NULL)); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - limit_menu_new(TRG_MAIN_WINDOW(data), - "Up Limit", - SGET_SPEED_LIMIT_UP_ENABLED, - SGET_SPEED_LIMIT_UP, NULL)); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Disconnect", + GTK_STOCK_DISCONNECT, connected, + G_CALLBACK(disconnect_cb), data); + + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Add", GTK_STOCK_ADD, + connected, G_CALLBACK(add_cb), data); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Add from URL", + GTK_STOCK_ADD, connected, + G_CALLBACK(add_url_cb), data); + + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + limit_menu_new(TRG_MAIN_WINDOW(data), + "Down Limit", + SGET_SPEED_LIMIT_DOWN_ENABLED, + SGET_SPEED_LIMIT_DOWN, NULL)); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + limit_menu_new(TRG_MAIN_WINDOW(data), + "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()); + gtk_separator_menu_item_new()); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Quit", GTK_STOCK_QUIT, - TRUE, G_CALLBACK(quit_cb), data); + TRUE, G_CALLBACK(quit_cb), data); 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 gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon, - gpointer userdata) + gpointer userdata) { trg_status_icon_view_menu(icon, NULL, userdata); 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) { - trg_status_icon_view_menu(icon, event, data); - return TRUE; + trg_status_icon_view_menu(icon, event, data); + return TRUE; } else { - return FALSE; + return FALSE; } } static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { GtkTreeSelection *selection; GtkTreePath *path; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - - gtk_tree_path_free(path); - - trg_torrent_tv_view_menu(treeview, event, userdata); - return TRUE; - } + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + + gtk_tree_path_free(path); + + trg_torrent_tv_view_menu(treeview, event, userdata); + return TRUE; + } } return FALSE; } static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview, - gpointer userdata) + gpointer userdata) { trg_torrent_tv_view_menu(treeview, NULL, userdata); return TRUE; } static void status_bar_text_pushed(GtkStatusbar * statusbar, - guint context_id, gchar * text, - gpointer user_data) + guint context_id, gchar * text, + gpointer user_data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(user_data); if (priv->statusIcon != NULL) - gtk_status_icon_set_tooltip(priv->statusIcon, text); + gtk_status_icon_set_tooltip(priv->statusIcon, text); } static gboolean window_state_event(GtkWidget * widget, - GdkEventWindowState * event, - gpointer trayIcon) + GdkEventWindowState * event, + gpointer trayIcon) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget); if (priv->statusIcon != NULL - && 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))) { - GError *error = NULL; - gboolean tray_min = gconf_client_get_bool(priv->client->gconf, - TRG_GCONF_KEY_SYSTEM_TRAY_MINIMISE, - &error); - - if (error) { - g_error_free(error); - tray_min = TRUE; - } - - if (tray_min) - gtk_widget_hide(GTK_WIDGET(widget)); + && 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))) { + GError *error = NULL; + gboolean tray_min = gconf_client_get_bool(priv->client->gconf, + TRG_GCONF_KEY_SYSTEM_TRAY_MINIMISE, + &error); + + if (error) { + g_error_free(error); + tray_min = TRUE; + } + + if (tray_min) + gtk_widget_hide(GTK_WIDGET(widget)); } return TRUE; @@ -1575,7 +1579,7 @@ void trg_main_window_remove_status_icon(TrgMainWindow * win) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); if (priv->statusIcon != NULL) - g_object_unref(G_OBJECT(priv->statusIcon)); + g_object_unref(G_OBJECT(priv->statusIcon)); priv->statusIcon = NULL; } @@ -1585,24 +1589,24 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); if (priv->icon == NULL) - return; + return; 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); } 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; @@ -1615,102 +1619,102 @@ static GObject *trg_main_window_constructor(GType type, gboolean tray; 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); theme = gtk_icon_theme_get_default(); priv->icon = - gtk_icon_theme_load_icon(theme, PACKAGE_NAME, 48, - GTK_ICON_LOOKUP_USE_BUILTIN, NULL); + gtk_icon_theme_load_icon(theme, PACKAGE_NAME, 48, + GTK_ICON_LOOKUP_USE_BUILTIN, NULL); if (priv->icon) - gtk_window_set_default_icon(priv->icon); + gtk_window_set_default_icon(priv->icon); gtk_window_set_title(GTK_WINDOW(self), PACKAGE_NAME); gtk_container_set_border_width(GTK_CONTAINER(self), 5); gtk_window_set_default_size(GTK_WINDOW(self), 1000, 600); g_signal_connect(G_OBJECT(self), "delete-event", - G_CALLBACK(delete_event), NULL); + 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); priv->torrentModel = trg_torrent_model_new(); 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->filteredTorrentModel = - gtk_tree_model_filter_new(GTK_TREE_MODEL(priv->torrentModel), - NULL); + gtk_tree_model_filter_new(GTK_TREE_MODEL(priv->torrentModel), + 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->sortedTorrentModel = - gtk_tree_model_sort_new_with_model(priv->filteredTorrentModel); + gtk_tree_model_sort_new_with_model(priv->filteredTorrentModel); priv->torrentTreeView = - trg_main_window_torrent_tree_view_new(self, - priv->sortedTorrentModel, - priv->stateSelector); + trg_main_window_torrent_tree_view_new(self, + priv->sortedTorrentModel, + priv->stateSelector); g_signal_connect(priv->torrentTreeView, "key-press-event", - G_CALLBACK(torrent_tv_key_press_event), self); + G_CALLBACK(torrent_tv_key_press_event), self); 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); + 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); + TRUE, TRUE, 0); #if GTK_CHECK_VERSION( 2,16,0 ) w = gtk_entry_new(); gtk_entry_set_icon_from_stock(GTK_ENTRY(w), - GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_CLEAR); + GTK_ENTRY_ICON_SECONDARY, + GTK_STOCK_CLEAR); g_signal_connect(w, "icon-release", - G_CALLBACK(clear_filter_entry_cb), w); + G_CALLBACK(clear_filter_entry_cb), w); gtk_box_pack_start(GTK_BOX(toolbarHbox), w, FALSE, FALSE, 0); g_object_set(w, "secondary-icon-sensitive", FALSE, NULL); priv->filterEntryClearButton = priv->filterEntry = w; #else priv->filterEntry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(toolbarHbox), priv->filterEntry, FALSE, - FALSE, 0); + FALSE, 0); w = gtk_button_new(); gtk_button_set_relief(GTK_BUTTON(w), GTK_RELIEF_NONE); gtk_button_set_image(GTK_BUTTON(w), - gtk_image_new_from_stock(GTK_STOCK_CLEAR, - GTK_ICON_SIZE_MENU)); + gtk_image_new_from_stock(GTK_STOCK_CLEAR, + GTK_ICON_SIZE_MENU)); gtk_box_pack_start(GTK_BOX(toolbarHbox), w, FALSE, FALSE, 0); g_signal_connect_swapped(w, "clicked", - G_CALLBACK(clear_filter_entry_cb), - priv->filterEntry); + G_CALLBACK(clear_filter_entry_cb), + priv->filterEntry); priv->filterEntryClearButton = w; #endif 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, FALSE, 0); priv->vpaned = gtk_vpaned_new(); priv->hpaned = gtk_hpaned_new(); @@ -1719,50 +1723,50 @@ static GObject *trg_main_window_constructor(GType type, priv->stateSelector = trg_state_selector_new(); gtk_paned_pack1(GTK_PANED(priv->hpaned), - GTK_WIDGET(priv->stateSelector), FALSE, FALSE); + GTK_WIDGET(priv->stateSelector), FALSE, FALSE); gtk_paned_pack2(GTK_PANED(priv->hpaned), - my_scrolledwin_new(GTK_WIDGET - (priv->torrentTreeView)), TRUE, - TRUE); + my_scrolledwin_new(GTK_WIDGET + (priv->torrentTreeView)), TRUE, + TRUE); g_signal_connect(G_OBJECT(priv->stateSelector), - "torrent-state-changed", - G_CALLBACK(torrent_state_selection_changed), - priv->filteredTorrentModel); + "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 = - gconf_client_get_bool(priv->client->gconf, - TRG_GCONF_KEY_SYSTEM_TRAY, &error); + gconf_client_get_bool(priv->client->gconf, + TRG_GCONF_KEY_SYSTEM_TRAY, &error); if (error) { - g_error_free(error); - tray = TRUE; + g_error_free(error); + tray = TRUE; } if (tray) { - trg_main_window_add_status_icon(self); + trg_main_window_add_status_icon(self); } else { - priv->statusIcon = NULL; + priv->statusIcon = NULL; } priv->statusBar = trg_status_bar_new(); g_signal_connect(priv->statusBar, "text-pushed", - G_CALLBACK(status_bar_text_pushed), self); + G_CALLBACK(status_bar_text_pushed), self); gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->statusBar), - FALSE, FALSE, 2); + FALSE, FALSE, 2); width = - gconf_client_get_int(priv->client->gconf, - TRG_GCONF_KEY_WINDOW_WIDTH, NULL); + gconf_client_get_int(priv->client->gconf, + TRG_GCONF_KEY_WINDOW_WIDTH, NULL); height = - gconf_client_get_int(priv->client->gconf, - TRG_GCONF_KEY_WINDOW_HEIGHT, NULL); + gconf_client_get_int(priv->client->gconf, + TRG_GCONF_KEY_WINDOW_HEIGHT, NULL); if (width > 0 && height > 0) - gtk_window_set_default_size(GTK_WINDOW(self), width, height); + gtk_window_set_default_size(GTK_WINDOW(self), width, height); return G_OBJECT(self); } @@ -1778,30 +1782,30 @@ static void trg_main_window_class_init(TrgMainWindowClass * klass) 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)); + 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)); } void auto_connect_if_required(TrgMainWindow * win, trg_client * tc) { gchar *host = - gconf_client_get_string(tc->gconf, TRG_GCONF_KEY_HOSTNAME, - NULL); + gconf_client_get_string(tc->gconf, TRG_GCONF_KEY_HOSTNAME, + NULL); if (host != NULL) { - gint len = strlen(host); - g_free(host); - if (len > 0 - && gconf_client_get_bool(tc->gconf, - TRG_GCONF_KEY_AUTO_CONNECT, - NULL) == TRUE) - connect_cb(NULL, win); + gint len = strlen(host); + g_free(host); + if (len > 0 + && gconf_client_get_bool(tc->gconf, + TRG_GCONF_KEY_AUTO_CONNECT, + NULL) == TRUE) + connect_cb(NULL, win); } } diff --git a/src/trg-main-window.h b/src/trg-main-window.h index e563088..b461075 100644 --- a/src/trg-main-window.h +++ b/src/trg-main-window.h @@ -57,11 +57,11 @@ GType trg_main_window_get_type(void); gboolean trg_add_from_filename(TrgMainWindow * win, gchar * fileName); void on_session_set(JsonObject * response, int status, gpointer data); void on_generic_interactive_action(JsonObject * response, int status, - gpointer data); + gpointer data); void auto_connect_if_required(TrgMainWindow * win, trg_client * tc); TrgMainWindow *trg_main_window_new(trg_client * tc); void trg_main_window_add_status_icon(TrgMainWindow * win); void trg_main_window_remove_status_icon(TrgMainWindow * win); G_END_DECLS -#endif /* MAIN_WINDOW_H_ */ +#endif /* MAIN_WINDOW_H_ */ diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index e55a2c3..1f59ea1 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -82,7 +82,7 @@ void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected) } void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive) + gboolean sensitive) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb); @@ -97,96 +97,96 @@ void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, static void trg_menu_bar_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(object); switch (property_id) { case PROP_CONNECT_BUTTON: - g_value_set_object(value, priv->mb_connect); - break; + g_value_set_object(value, priv->mb_connect); + break; case PROP_DISCONNECT_BUTTON: - g_value_set_object(value, priv->mb_disconnect); - break; + g_value_set_object(value, priv->mb_disconnect); + break; case PROP_ADD_BUTTON: - g_value_set_object(value, priv->mb_add); - break; + g_value_set_object(value, priv->mb_add); + break; case PROP_ADD_URL_BUTTON: - g_value_set_object(value, priv->mb_add_url); - break; + g_value_set_object(value, priv->mb_add_url); + break; case PROP_REMOVE_BUTTON: - g_value_set_object(value, priv->mb_remove); - break; + g_value_set_object(value, priv->mb_remove); + break; case PROP_DELETE_BUTTON: - g_value_set_object(value, priv->mb_delete); - break; + g_value_set_object(value, priv->mb_delete); + break; case PROP_MOVE_BUTTON: - g_value_set_object(value, priv->mb_move); - break; + g_value_set_object(value, priv->mb_move); + break; case PROP_RESUME_BUTTON: - g_value_set_object(value, priv->mb_resume); - break; + g_value_set_object(value, priv->mb_resume); + break; case PROP_PAUSE_BUTTON: - g_value_set_object(value, priv->mb_pause); - break; + g_value_set_object(value, priv->mb_pause); + break; case PROP_VERIFY_BUTTON: - g_value_set_object(value, priv->mb_verify); - break; + g_value_set_object(value, priv->mb_verify); + break; case PROP_PROPS_BUTTON: - g_value_set_object(value, priv->mb_props); - break; + g_value_set_object(value, priv->mb_props); + break; case PROP_REMOTE_PREFS_BUTTON: - g_value_set_object(value, priv->mb_remote_prefs); - break; + g_value_set_object(value, priv->mb_remote_prefs); + break; case PROP_LOCAL_PREFS_BUTTON: - g_value_set_object(value, priv->mb_local_prefs); - break; + g_value_set_object(value, priv->mb_local_prefs); + break; case PROP_ABOUT_BUTTON: - g_value_set_object(value, priv->mb_about); - break; + g_value_set_object(value, priv->mb_about); + break; case PROP_VIEW_STATES_BUTTON: - g_value_set_object(value, priv->mb_view_states); - break; + g_value_set_object(value, priv->mb_view_states); + break; case PROP_VIEW_NOTEBOOK_BUTTON: - g_value_set_object(value, priv->mb_view_notebook); - break; + g_value_set_object(value, priv->mb_view_notebook); + break; case PROP_VIEW_STATS_BUTTON: - g_value_set_object(value, priv->mb_view_stats); - break; + g_value_set_object(value, priv->mb_view_stats); + break; case PROP_QUIT: - g_value_set_object(value, priv->mb_quit); - break; + g_value_set_object(value, priv->mb_quit); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_menu_bar_install_widget_prop(GObjectClass * class, guint propId, - const gchar * name, const gchar * nick) + const gchar * name, const gchar * nick) { g_object_class_install_property(class, - propId, - g_param_spec_object(name, - nick, - nick, - GTK_TYPE_WIDGET, - G_PARAM_READABLE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + propId, + g_param_spec_object(name, + nick, + nick, + GTK_TYPE_WIDGET, + G_PARAM_READABLE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, char *text, - char *stock_id, gboolean sensitive) + char *stock_id, gboolean sensitive) { 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); gtk_widget_set_sensitive(item, sensitive); @@ -202,20 +202,20 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), viewMenu); priv->mb_view_states = - gtk_check_menu_item_new_with_label("State selector"); + gtk_check_menu_item_new_with_label("State selector"); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM - (priv->mb_view_states), TRUE); + (priv->mb_view_states), TRUE); priv->mb_view_notebook = - gtk_check_menu_item_new_with_label("Torrent details"); + gtk_check_menu_item_new_with_label("Torrent details"); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM - (priv->mb_view_notebook), TRUE); + (priv->mb_view_notebook), TRUE); priv->mb_view_stats = gtk_menu_item_new_with_label("Statistics"); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_states); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_view_notebook); + priv->mb_view_notebook); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_stats); return view; @@ -229,14 +229,14 @@ GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(opts), optsMenu); priv->mb_local_prefs = - trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), - "Local Preferences", - GTK_STOCK_PREFERENCES, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), + "Local Preferences", + GTK_STOCK_PREFERENCES, TRUE); priv->mb_remote_prefs = - trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), - "Remote Preferences", - GTK_STOCK_NETWORK, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), + "Remote Preferences", + GTK_STOCK_NETWORK, FALSE); return opts; } @@ -249,20 +249,20 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), fileMenu); priv->mb_connect = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Connect", - GTK_STOCK_CONNECT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Connect", + GTK_STOCK_CONNECT, TRUE); priv->mb_disconnect = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Disconnect", - GTK_STOCK_DISCONNECT, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Disconnect", + GTK_STOCK_DISCONNECT, FALSE); priv->mb_add = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Add", - GTK_STOCK_ADD, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Add", + GTK_STOCK_ADD, FALSE); priv->mb_add_url = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Add from URL", - GTK_STOCK_ADD, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Add from URL", + GTK_STOCK_ADD, FALSE); priv->mb_quit = trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), "Quit", - GTK_STOCK_QUIT, TRUE); + GTK_STOCK_QUIT, TRUE); return file; } @@ -275,27 +275,27 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(torrent), torrentMenu); priv->mb_props = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - "Properties", GTK_STOCK_PROPERTIES, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + "Properties", GTK_STOCK_PROPERTIES, FALSE); priv->mb_resume = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Resume", - GTK_STOCK_MEDIA_PLAY, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Resume", + GTK_STOCK_MEDIA_PLAY, FALSE); priv->mb_pause = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Pause", - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Pause", + GTK_STOCK_MEDIA_PAUSE, FALSE); priv->mb_verify = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Verify", - GTK_STOCK_REFRESH, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Verify", + GTK_STOCK_REFRESH, FALSE); priv->mb_move = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Move", - GTK_STOCK_HARDDISK, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Move", + GTK_STOCK_HARDDISK, FALSE); priv->mb_remove = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Remove", - GTK_STOCK_REMOVE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), "Remove", + GTK_STOCK_REMOVE, FALSE); priv->mb_delete = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - "Remove and Delete", GTK_STOCK_DELETE, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + "Remove and Delete", GTK_STOCK_DELETE, + FALSE); return torrent; } @@ -311,8 +311,8 @@ GtkWidget *trg_menu_bar_help_menu_new(TrgMenuBar * menuBar) gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), help); priv->mb_about = - trg_menu_bar_item_new(GTK_MENU_SHELL(helpMenu), "About", - GTK_STOCK_ABOUT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(helpMenu), "About", + GTK_STOCK_ABOUT, TRUE); return helpMenu; } @@ -325,54 +325,54 @@ static void trg_menu_bar_class_init(TrgMenuBarClass * klass) g_type_class_add_private(klass, sizeof(TrgMenuBarPrivate)); trg_menu_bar_install_widget_prop(object_class, PROP_CONNECT_BUTTON, - "connect-button", "Connect Button"); + "connect-button", "Connect Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_DISCONNECT_BUTTON, - "disconnect-button", - "Disconnect Button"); + PROP_DISCONNECT_BUTTON, + "disconnect-button", + "Disconnect Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ADD_BUTTON, - "add-button", "Add Button"); + "add-button", "Add Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ADD_URL_BUTTON, - "add-url-button", "Add URL Button"); + "add-url-button", "Add URL Button"); trg_menu_bar_install_widget_prop(object_class, PROP_REMOVE_BUTTON, - "remove-button", "Remove Button"); + "remove-button", "Remove Button"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_BUTTON, - "move-button", "Move Button"); + "move-button", "Move Button"); trg_menu_bar_install_widget_prop(object_class, PROP_DELETE_BUTTON, - "delete-button", "Delete Button"); + "delete-button", "Delete Button"); trg_menu_bar_install_widget_prop(object_class, PROP_RESUME_BUTTON, - "resume-button", "Resume Button"); + "resume-button", "Resume Button"); trg_menu_bar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, - "verify-button", "Verify Button"); + "verify-button", "Verify Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, - "pause-button", "Pause Button"); + "pause-button", "Pause Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PROPS_BUTTON, - "props-button", "Props Button"); + "props-button", "Props Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ABOUT_BUTTON, - "about-button", "About Button"); + "about-button", "About Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_VIEW_STATS_BUTTON, - "view-stats-button", - "View stats button"); + PROP_VIEW_STATS_BUTTON, + "view-stats-button", + "View stats button"); trg_menu_bar_install_widget_prop(object_class, - PROP_VIEW_STATES_BUTTON, - "view-states-button", - "View states Button"); + PROP_VIEW_STATES_BUTTON, + "view-states-button", + "View states Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_VIEW_NOTEBOOK_BUTTON, - "view-notebook-button", - "View notebook Button"); + PROP_VIEW_NOTEBOOK_BUTTON, + "view-notebook-button", + "View notebook Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, - "remote-prefs-button", - "Remote Prefs Button"); + PROP_REMOTE_PREFS_BUTTON, + "remote-prefs-button", + "Remote Prefs Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_LOCAL_PREFS_BUTTON, - "local-prefs-button", - "Local Prefs Button"); + PROP_LOCAL_PREFS_BUTTON, + "local-prefs-button", + "Local Prefs Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_QUIT, - "quit-button", "Quit Button"); + PROP_QUIT, + "quit-button", "Quit Button"); } static void trg_menu_bar_init(TrgMenuBar * self) @@ -380,13 +380,13 @@ static void trg_menu_bar_init(TrgMenuBar * self) TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(self); gtk_menu_shell_append(GTK_MENU_SHELL(self), - trg_menu_bar_file_file_menu_new(priv)); + trg_menu_bar_file_file_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(self), - trg_menu_bar_torrent_menu_new(priv)); + trg_menu_bar_torrent_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(self), - trg_menu_bar_options_menu_new(priv)); + trg_menu_bar_options_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(self), - trg_menu_bar_view_menu_new(priv)); + trg_menu_bar_view_menu_new(priv)); trg_menu_bar_help_menu_new(TRG_MENU_BAR(self)); } diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h index bb98475..cc148be 100644 --- a/src/trg-menu-bar.h +++ b/src/trg-menu-bar.h @@ -49,11 +49,11 @@ GType trg_menu_bar_get_type(void); TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win); GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, char *text, - char *stock_id, gboolean sensitive); + char *stock_id, gboolean sensitive); G_END_DECLS void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive); + gboolean sensitive); void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected); -#endif /* TRG_MENU_BAR_H_ */ +#endif /* TRG_MENU_BAR_H_ */ diff --git a/src/trg-model.c b/src/trg-model.c index 2d1ff67..e41c4b3 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -29,23 +29,23 @@ struct trg_model_remove_removed_foreachfunc_args { gboolean trg_model_remove_removed_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct trg_model_remove_removed_foreachfunc_args *args = - (struct trg_model_remove_removed_foreachfunc_args *) data; + (struct trg_model_remove_removed_foreachfunc_args *) data; gint64 rowSerial; gtk_tree_model_get(model, iter, args->serial_column, &rowSerial, -1); if (rowSerial != args->currentSerial) - args->toRemove = - g_list_append(args->toRemove, gtk_tree_iter_copy(iter)); + args->toRemove = + g_list_append(args->toRemove, gtk_tree_iter_copy(iter)); return FALSE; } void trg_model_remove_removed(GtkListStore * model, gint serial_column, - gint64 currentSerial) + gint64 currentSerial) { struct trg_model_remove_removed_foreachfunc_args args; GList *li; @@ -54,14 +54,14 @@ trg_model_remove_removed(GtkListStore * model, gint serial_column, args.currentSerial = currentSerial; args.serial_column = serial_column; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_model_remove_removed_foreachfunc, &args); + trg_model_remove_removed_foreachfunc, &args); if (args.toRemove != NULL) { - for (li = g_list_last(args.toRemove); li != NULL; - li = g_list_previous(li)) { - gtk_list_store_remove(model, (GtkTreeIter *) li->data); - gtk_tree_iter_free((GtkTreeIter *) li->data); - } - g_list_free(args.toRemove); + for (li = g_list_last(args.toRemove); li != NULL; + li = g_list_previous(li)) { + gtk_list_store_remove(model, (GtkTreeIter *) li->data); + gtk_tree_iter_free((GtkTreeIter *) li->data); + } + g_list_free(args.toRemove); } } @@ -74,32 +74,32 @@ struct find_existing_item_foreach_args { static gboolean find_existing_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { - struct find_existing_item_foreach_args *args = (struct find_existing_item_foreach_args *) data; + struct find_existing_item_foreach_args *args = + (struct find_existing_item_foreach_args *) data; gint64 currentId; gtk_tree_model_get(model, iter, args->search_column, ¤tId, -1); if (currentId == args->id) { - args->iter = iter; - return args->found = TRUE; + args->iter = iter; + return args->found = TRUE; } return FALSE; } gboolean -find_existing_model_item(GtkTreeModel * model, gint search_column, gint64 id, - GtkTreeIter * iter) +find_existing_model_item(GtkTreeModel * model, gint search_column, + gint64 id, GtkTreeIter * iter) { struct find_existing_item_foreach_args args; args.id = id; args.found = FALSE; args.search_column = search_column; - gtk_tree_model_foreach(model, - find_existing_item_foreachfunc, &args); + gtk_tree_model_foreach(model, find_existing_item_foreachfunc, &args); if (args.found == TRUE) - *iter = *(args.iter); + *iter = *(args.iter); return args.found; } diff --git a/src/trg-model.h b/src/trg-model.h index e954153..b20cbe4 100644 --- a/src/trg-model.h +++ b/src/trg-model.h @@ -23,10 +23,10 @@ #include void trg_model_remove_removed(GtkListStore * model, gint serial_column, - gint64 currentSerial); + gint64 currentSerial); gboolean -find_existing_model_item(GtkTreeModel * model, gint search_column, gint64 id, - GtkTreeIter * iter); +find_existing_model_item(GtkTreeModel * model, gint search_column, + gint64 id, GtkTreeIter * iter); -#endif /* TRG_MODEL_H_ */ +#endif /* TRG_MODEL_H_ */ diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 0fb3721..ee48d4d 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -57,8 +57,8 @@ trg_peers_model_class_init(TrgPeersModelClass * klass G_GNUC_UNUSED) gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct peerAndIter *pi; gchar *ip; @@ -67,8 +67,8 @@ find_existing_peer_item_foreachfunc(GtkTreeModel * model, gtk_tree_model_get(model, iter, PEERSCOL_IP, &ip, -1); if (g_strcmp0(ip, pi->ip) == 0) { - pi->iter = *iter; - pi->found = TRUE; + pi->iter = *iter; + pi->found = TRUE; } g_free(ip); return pi->found; @@ -76,23 +76,23 @@ find_existing_peer_item_foreachfunc(GtkTreeModel * model, gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, - GtkTreeIter * iter) + GtkTreeIter * iter) { struct peerAndIter pi; pi.ip = peer_get_address(p); pi.found = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - find_existing_peer_item_foreachfunc, &pi); + find_existing_peer_item_foreachfunc, &pi); if (pi.found == TRUE) - *iter = pi.iter; + *iter = pi.iter; return pi.found; } static void resolved_dns_cb(GObject * source_object, - GAsyncResult * res, gpointer data) + GAsyncResult * res, gpointer data) { GtkTreeRowReference *treeRef; GtkTreeModel *model; @@ -103,27 +103,27 @@ static void resolved_dns_cb(GObject * source_object, path = gtk_tree_row_reference_get_path(treeRef); if (path != NULL) { - gchar *rdns = - g_resolver_lookup_by_address_finish(G_RESOLVER(source_object), - res, NULL); - if (rdns != NULL) { - GtkTreeIter iter; - if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { - gdk_threads_enter(); - gtk_list_store_set(GTK_LIST_STORE(model), - &iter, PEERSCOL_HOST, rdns, -1); - gdk_threads_leave(); - } - g_free(rdns); - } - gtk_tree_path_free(path); + gchar *rdns = + g_resolver_lookup_by_address_finish(G_RESOLVER(source_object), + res, NULL); + if (rdns != NULL) { + GtkTreeIter iter; + if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { + gdk_threads_enter(); + gtk_list_store_set(GTK_LIST_STORE(model), + &iter, PEERSCOL_HOST, rdns, -1); + gdk_threads_leave(); + } + g_free(rdns); + } + gtk_tree_path_free(path); } gtk_tree_row_reference_free(treeRef); } void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, - JsonObject * t, gboolean first) + JsonObject * t, gboolean first) { #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); @@ -137,76 +137,76 @@ void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, peers = torrent_get_peers(t); if (first == TRUE) - gtk_list_store_clear(GTK_LIST_STORE(model)); + gtk_list_store_clear(GTK_LIST_STORE(model)); for (j = 0; j < json_array_get_length(peers); j++) { - JsonObject *peer; - const gchar *address = NULL, *flagStr; + JsonObject *peer; + const gchar *address = NULL, *flagStr; #ifdef HAVE_GEOIP - const gchar *country = NULL; + const gchar *country = NULL; #endif - peer = json_node_get_object(json_array_get_element(peers, j)); + peer = json_node_get_object(json_array_get_element(peers, j)); - if (first == TRUE - || find_existing_peer_item(model, peer, &peerIter) == FALSE) { - gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); + if (first == TRUE + || find_existing_peer_item(model, peer, &peerIter) == FALSE) { + gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); - address = peer_get_address(peer); + address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (priv->geoip != NULL) - country = GeoIP_country_name_by_addr(priv->geoip, address); + if (priv->geoip != NULL) + country = GeoIP_country_name_by_addr(priv->geoip, address); #endif - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_ICON, GTK_STOCK_NETWORK, - PEERSCOL_IP, address, + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_ICON, GTK_STOCK_NETWORK, + PEERSCOL_IP, address, #ifdef HAVE_GEOIP - PEERSCOL_COUNTRY, - country != NULL ? country : "", + PEERSCOL_COUNTRY, + country != NULL ? country : "", #endif - PEERSCOL_CLIENT, peer_get_client_name(peer), - -1); - - isNew = TRUE; - } else { - isNew = FALSE; - } - - flagStr = peer_get_flagstr(peer); - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_FLAGS, flagStr, - PEERSCOL_PROGRESS, - peer_get_progress(peer), - PEERSCOL_DOWNSPEED, - peer_get_rate_to_client(peer), - PEERSCOL_UPSPEED, - peer_get_rate_to_peer(peer), - PEERSCOL_UPDATESERIAL, updateSerial, -1); - - if (isNew == TRUE) { - GtkTreePath *path; - GtkTreeRowReference *treeRef; - GInetAddress *inetAddr; - GResolver *resolver; - - path = - gtk_tree_model_get_path(GTK_TREE_MODEL(model), &peerIter); - treeRef = - gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); - gtk_tree_path_free(path); - - inetAddr = g_inet_address_new_from_string(address); - resolver = g_resolver_get_default(); - g_resolver_lookup_by_address_async(resolver, - inetAddr, NULL, - resolved_dns_cb, treeRef); - g_object_unref(resolver); - g_object_unref(inetAddr); - } + PEERSCOL_CLIENT, peer_get_client_name(peer), + -1); + + isNew = TRUE; + } else { + isNew = FALSE; + } + + flagStr = peer_get_flagstr(peer); + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_FLAGS, flagStr, + PEERSCOL_PROGRESS, + peer_get_progress(peer), + PEERSCOL_DOWNSPEED, + peer_get_rate_to_client(peer), + PEERSCOL_UPSPEED, + peer_get_rate_to_peer(peer), + PEERSCOL_UPDATESERIAL, updateSerial, -1); + + if (isNew == TRUE) { + GtkTreePath *path; + GtkTreeRowReference *treeRef; + GInetAddress *inetAddr; + GResolver *resolver; + + path = + gtk_tree_model_get_path(GTK_TREE_MODEL(model), &peerIter); + treeRef = + gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); + gtk_tree_path_free(path); + + inetAddr = g_inet_address_new_from_string(address); + resolver = g_resolver_get_default(); + g_resolver_lookup_by_address_async(resolver, + inetAddr, NULL, + resolved_dns_cb, treeRef); + g_object_unref(resolver); + g_object_unref(inetAddr); + } } if (first == FALSE) - trg_model_remove_removed(GTK_LIST_STORE(model), - PEERSCOL_UPDATESERIAL, updateSerial); + trg_model_remove_removed(GTK_LIST_STORE(model), + PEERSCOL_UPDATESERIAL, updateSerial); } static void trg_peers_model_init(TrgPeersModel * self) @@ -231,13 +231,13 @@ static void trg_peers_model_init(TrgPeersModel * self) column_types[PEERSCOL_UPDATESERIAL] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - PEERSCOL_COLUMNS, column_types); + PEERSCOL_COLUMNS, column_types); #ifdef HAVE_GEOIP if (g_file_test(TRG_GEOIP_DATABASE, G_FILE_TEST_EXISTS) == TRUE) - priv->geoip = - GeoIP_open(TRG_GEOIP_DATABASE, - GEOIP_STANDARD | GEOIP_CHECK_CACHE); + priv->geoip = + GeoIP_open(TRG_GEOIP_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); #endif } diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index c08598b..95dcce2 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -79,8 +79,8 @@ enum { }; void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, - JsonObject * t, gboolean first); + JsonObject * t, gboolean first); -#endif /* TRG_PEERS_MODEL_H_ */ +#endif /* TRG_PEERS_MODEL_H_ */ #define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 2bd624b..6d75331 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -42,24 +42,24 @@ trg_peers_tree_view_class_init(TrgPeersTreeViewClass * klass G_GNUC_UNUSED) static void trg_peers_tree_view_init(TrgPeersTreeView * self) { trg_tree_view_add_pixbuf_text_column(TRG_TREE_VIEW - (self), - PEERSCOL_ICON, - PEERSCOL_IP, "IP", 160); + (self), + PEERSCOL_ICON, + PEERSCOL_IP, "IP", 160); trg_tree_view_add_column_fixed_width(TRG_TREE_VIEW(self), "Host", - PEERSCOL_HOST, 250); + PEERSCOL_HOST, 250); #ifdef HAVE_GEOIP trg_tree_view_add_column(TRG_TREE_VIEW(self), "Country", - PEERSCOL_COUNTRY); + PEERSCOL_COUNTRY); #endif trg_tree_view_add_speed_column(TRG_TREE_VIEW(self), "Down Speed", - PEERSCOL_DOWNSPEED, -1); + PEERSCOL_DOWNSPEED, -1); trg_tree_view_add_speed_column(TRG_TREE_VIEW(self), "Up Speed", - PEERSCOL_UPSPEED, -1); + PEERSCOL_UPSPEED, -1); trg_tree_view_add_prog_column(TRG_TREE_VIEW(self), "Progress", - PEERSCOL_PROGRESS, -1); + PEERSCOL_PROGRESS, -1); trg_tree_view_add_column(TRG_TREE_VIEW(self), "Flags", PEERSCOL_FLAGS); trg_tree_view_add_column(TRG_TREE_VIEW(self), "Client", - PEERSCOL_CLIENT); + PEERSCOL_CLIENT); } TrgPeersTreeView *trg_peers_tree_view_new(TrgPeersModel * model) diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index a62e602..ce1a8a0 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -51,4 +51,4 @@ GType trg_peers_tree_view_get_type(void); TrgPeersTreeView *trg_peers_tree_view_new(TrgPeersModel * model); G_END_DECLS -#endif /* TRG_PEERS_TREE_VIEW_H_ */ +#endif /* TRG_PEERS_TREE_VIEW_H_ */ diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 141fb8c..ef5ab10 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -36,7 +36,7 @@ (G_TYPE_INSTANCE_GET_PRIVATE ((object), TRG_TYPE_PREFERENCES_DIALOG, TrgPreferencesDialogPrivate)) G_DEFINE_TYPE(TrgPreferencesDialog, trg_preferences_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) enum { PROP_0, @@ -57,53 +57,53 @@ static GObject *instance = NULL; static void trg_preferences_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_GCONF_CLIENT: - priv->gconf = g_value_get_object(value); - break; + priv->gconf = g_value_get_object(value); + break; case PROP_MAIN_WINDOW: - priv->win = g_value_get_object(value); - break; + priv->win = g_value_get_object(value); + break; case PROP_TRG_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; } } static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { - gtk_widget_destroy(GTK_WIDGET(dlg)); - instance = NULL; + gtk_widget_destroy(GTK_WIDGET(dlg)); + instance = NULL; } static void trg_preferences_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_GCONF_CLIENT: - g_value_set_object(value, priv->gconf); - break; + g_value_set_object(value, priv->gconf); + break; case PROP_MAIN_WINDOW: - g_value_set_object(value, priv->win); - break; + g_value_set_object(value, priv->win); + break; case PROP_TRG_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; } } @@ -119,23 +119,24 @@ static void toggled_cb(GtkToggleButton * w, gpointer gconf) } static GtkWidget *new_check_button(GConfClient * gconf, - const char *mnemonic, const char *key) + const char *mnemonic, const char *key) { GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic); g_object_set_data_full(G_OBJECT(w), GCONF_OBJECT_KEY, - g_strdup(key), g_free); + g_strdup(key), g_free); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), - gconf_client_get_bool(gconf, key, NULL)); + gconf_client_get_bool(gconf, key, NULL)); g_signal_connect(w, "toggled", G_CALLBACK(toggled_cb), gconf); return w; } -static void interval_changed_cb(GtkWidget *w, gpointer data) +static void interval_changed_cb(GtkWidget * w, gpointer data) { - trg_client *client = (trg_client*)data; - client->interval = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(w)); + trg_client *client = (trg_client *) data; + client->interval = + gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(w)); } static void spun_cb_int(GtkWidget * widget, gpointer gconf) @@ -145,14 +146,14 @@ static void spun_cb_int(GtkWidget * widget, gpointer gconf) key = g_object_get_data(G_OBJECT(widget), GCONF_OBJECT_KEY); gconf_client_set_int(GCONF_CLIENT(gconf), - key, - gtk_spin_button_get_value_as_int - (GTK_SPIN_BUTTON(widget)), NULL); + key, + gtk_spin_button_get_value_as_int + (GTK_SPIN_BUTTON(widget)), NULL); } static GtkWidget *new_spin_button(GConfClient * gconf, - const char *key, - int low, int high, int step) + const char *key, + int low, int high, int step) { GtkWidget *w; gint currentValue; @@ -160,17 +161,17 @@ static GtkWidget *new_spin_button(GConfClient * gconf, w = gtk_spin_button_new_with_range(low, high, step); g_object_set_data_full(G_OBJECT(w), GCONF_OBJECT_KEY, - g_strdup(key), g_free); + g_strdup(key), g_free); gtk_spin_button_set_digits(GTK_SPIN_BUTTON(w), 0); currentValue = gconf_client_get_int(gconf, key, &error); if (error != NULL) { - g_error_free(error); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), 9091); + g_error_free(error); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), 9091); } else { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), currentValue); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), currentValue); } g_signal_connect(w, "value-changed", G_CALLBACK(spun_cb_int), gconf); @@ -197,12 +198,12 @@ static GtkWidget *new_entry(GConfClient * gconf, const char *key) value = gconf_client_get_string(gconf, key, NULL); if (value != NULL) { - gtk_entry_set_text(GTK_ENTRY(w), value); - g_free((gpointer) value); + gtk_entry_set_text(GTK_ENTRY(w), value); + g_free((gpointer) value); } g_object_set_data_full(G_OBJECT(w), GCONF_OBJECT_KEY, - g_strdup(key), g_free); + g_strdup(key), g_free); g_signal_connect(w, "changed", G_CALLBACK(entry_changed_cb), gconf); return w; @@ -211,13 +212,13 @@ static GtkWidget *new_entry(GConfClient * gconf, const char *key) static void toggle_tray_icon(GtkToggleButton * w, gpointer win) { if (gtk_toggle_button_get_active(w)) - trg_main_window_add_status_icon(TRG_MAIN_WINDOW(win)); + trg_main_window_add_status_icon(TRG_MAIN_WINDOW(win)); else - trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win)); + trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win)); } static GtkWidget *trg_prefs_desktopPage(GConfClient * gconf, - TrgMainWindow * win) + TrgMainWindow * win) { GtkWidget *tray, *w, *t; gint row = 0; @@ -227,42 +228,43 @@ static GtkWidget *trg_prefs_desktopPage(GConfClient * gconf, hig_workarea_add_section_title(t, &row, "System Tray"); tray = new_check_button(gconf, "Show in system tray", - TRG_GCONF_KEY_SYSTEM_TRAY); + TRG_GCONF_KEY_SYSTEM_TRAY); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_tray_icon), win); + G_CALLBACK(toggle_tray_icon), win); hig_workarea_add_wide_control(t, &row, tray); w = new_check_button(gconf, "Minimise to system tray", - TRG_GCONF_KEY_SYSTEM_TRAY_MINIMISE); + TRG_GCONF_KEY_SYSTEM_TRAY_MINIMISE); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tray))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tray))); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_wide_control(t, &row, w); w = new_check_button(gconf, "Torrent added notifications", - TRG_GCONF_KEY_ADD_NOTIFY); + TRG_GCONF_KEY_ADD_NOTIFY); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tray))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tray))); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_wide_control(t, &row, w); w = new_check_button(gconf, "Torrent complete notifications", - TRG_GCONF_KEY_COMPLETE_NOTIFY); + TRG_GCONF_KEY_COMPLETE_NOTIFY); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tray))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tray))); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_wide_control(t, &row, w); return t; } -static GtkWidget *trg_prefs_serverPage(GConfClient * gconf, trg_client *client) +static GtkWidget *trg_prefs_serverPage(GConfClient * gconf, + trg_client * client) { GtkWidget *w, *t; gint row = 0; @@ -278,14 +280,15 @@ static GtkWidget *trg_prefs_serverPage(GConfClient * gconf, trg_client *client) hig_workarea_add_row(t, &row, "Port:", w, NULL); w = new_check_button(gconf, "Automatically connect", - TRG_GCONF_KEY_AUTO_CONNECT); + TRG_GCONF_KEY_AUTO_CONNECT); hig_workarea_add_wide_control(t, &row, w); w = new_check_button(gconf, "SSL", TRG_GCONF_KEY_SSL); hig_workarea_add_wide_control(t, &row, w); w = new_spin_button(gconf, TRG_GCONF_KEY_UPDATE_INTERVAL, 1, 60, 1); - g_signal_connect(w, "value-changed", G_CALLBACK(interval_changed_cb), client); + g_signal_connect(w, "value-changed", G_CALLBACK(interval_changed_cb), + client); hig_workarea_add_row(t, &row, "Update interval:", w, NULL); hig_workarea_add_section_divider(t, &row); @@ -302,48 +305,49 @@ static GtkWidget *trg_prefs_serverPage(GConfClient * gconf, trg_client *client) } static GObject *trg_preferences_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgPreferencesDialogPrivate *priv; GtkWidget *notebook; object = - G_OBJECT_CLASS - (trg_preferences_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + G_OBJECT_CLASS + (trg_preferences_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->win)); + GTK_WINDOW(priv->win)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_window_set_title(GTK_WINDOW(object), "Local Preferences"); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_preferences_response_cb), NULL); + "response", + G_CALLBACK(trg_preferences_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_serverPage(priv->gconf, priv->client), - gtk_label_new("Connection")); + trg_prefs_serverPage(priv->gconf, + priv->client), + gtk_label_new("Connection")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_desktopPage(priv->gconf, priv->win), - gtk_label_new("Desktop")); + trg_prefs_desktopPage(priv->gconf, priv->win), + gtk_label_new("Desktop")); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(object)->vbox), notebook, - TRUE, TRUE, 0); + TRUE, TRUE, 0); gtk_widget_show_all(GTK_DIALOG(object)->vbox); @@ -360,45 +364,45 @@ trg_preferences_dialog_class_init(TrgPreferencesDialogClass * class) g_object_class->get_property = trg_preferences_dialog_get_property; g_object_class_install_property(g_object_class, - PROP_TRG_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)); + PROP_TRG_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(g_object_class, - PROP_GCONF_CLIENT, - g_param_spec_object("gconf-client", - "GConf Client", - "GConf Client", - GCONF_TYPE_CLIENT, - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_GCONF_CLIENT, + g_param_spec_object("gconf-client", + "GConf Client", + "GConf Client", + GCONF_TYPE_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(g_object_class, - PROP_MAIN_WINDOW, - g_param_spec_object - ("main-window", "Main Window", - "Main Window", TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_MAIN_WINDOW, + g_param_spec_object + ("main-window", "Main Window", + "Main Window", TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(g_object_class, - sizeof(TrgPreferencesDialogPrivate)); + sizeof(TrgPreferencesDialogPrivate)); } static void trg_preferences_dialog_init(TrgPreferencesDialog * pref_dlg) @@ -406,13 +410,13 @@ static void trg_preferences_dialog_init(TrgPreferencesDialog * pref_dlg) } GtkWidget *trg_preferences_dialog_get_instance(TrgMainWindow * win, - GConfClient * client) + GConfClient * client) { if (instance == NULL) { - instance = g_object_new(TRG_TYPE_PREFERENCES_DIALOG, - "main-window", win, - "trg-client", client, - "gconf-client", client, NULL); + instance = g_object_new(TRG_TYPE_PREFERENCES_DIALOG, + "main-window", win, + "trg-client", client, + "gconf-client", client, NULL); } return GTK_WIDGET(instance); diff --git a/src/trg-preferences-dialog.h b/src/trg-preferences-dialog.h index 04c8c3c..5a493b4 100644 --- a/src/trg-preferences-dialog.h +++ b/src/trg-preferences-dialog.h @@ -50,6 +50,6 @@ struct _TrgPreferencesDialogClass { GType trg_preferences_dialog_get_type(void); GtkWidget *trg_preferences_dialog_get_instance(TrgMainWindow * win, - GConfClient * client); + GConfClient * client); G_END_DECLS -#endif /* TRG_PREFERENCES_WINDOW_H_ */ +#endif /* TRG_PREFERENCES_WINDOW_H_ */ diff --git a/src/trg-preferences.h b/src/trg-preferences.h index b43f85b..b27bdfb 100644 --- a/src/trg-preferences.h +++ b/src/trg-preferences.h @@ -34,4 +34,4 @@ #define TRG_GCONF_KEY_SYSTEM_TRAY "/apps/transmission-remote-gtk/system-tray" #define TRG_GCONF_KEY_SYSTEM_TRAY_MINIMISE "/apps/transmission-remote-gtk/system-tray-minimise" -#endif /* TRG_PREFERENCES_H_ */ +#endif /* TRG_PREFERENCES_H_ */ diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index 5d5d8a5..4157ecc 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -30,7 +30,7 @@ #include "session-get.h" G_DEFINE_TYPE(TrgRemotePrefsDialog, trg_remote_prefs_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_REMOTE_PREFS_DIALOG, TrgRemotePrefsDialogPrivate)) enum { @@ -77,7 +77,7 @@ static GObject *instance = NULL; static void update_session(GtkDialog * dlg) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); JsonNode *request = session_set(); JsonObject *args = node_get_arguments(request); gchar *encryption; @@ -87,60 +87,60 @@ static void update_session(GtkDialog * dlg) gtk_entry_json_output(GTK_ENTRY(priv->download_dir_entry), args); gtk_entry_json_output(GTK_ENTRY(priv->incomplete_dir_entry), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->done_script_enabled_check), args); + (priv->done_script_enabled_check), args); gtk_entry_json_output(GTK_ENTRY(priv->done_script_entry), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->rename_partial_files_check), args); + (priv->rename_partial_files_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->incomplete_dir_check), args); + (priv->incomplete_dir_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->trash_original_torrent_files_check), - args); + (priv->trash_original_torrent_files_check), + args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->start_added_torrent_check), args); + (priv->start_added_torrent_check), args); if (priv->cache_size_mb_spin != NULL) - gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->cache_size_mb_spin), args); + gtk_spin_button_json_int_out(GTK_SPIN_BUTTON + (priv->cache_size_mb_spin), args); /* Connection */ encryption = - g_ascii_strdown(gtk_combo_box_get_active_text - (GTK_COMBO_BOX(priv->encryption_combo)), -1); + g_ascii_strdown(gtk_combo_box_get_active_text + (GTK_COMBO_BOX(priv->encryption_combo)), -1); json_object_set_string_member(args, SGET_ENCRYPTION, encryption); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->peer_port_random_check), args); + (priv->peer_port_random_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->peer_port_forwarding_check), args); + (priv->peer_port_forwarding_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->pex_enabled_check), args); + (priv->pex_enabled_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->lpd_enabled_check), args); + (priv->lpd_enabled_check), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON(priv->peer_port_spin), - args); + args); /* Limits */ gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->seed_ratio_limit_check), args); + (priv->seed_ratio_limit_check), args); gtk_spin_button_json_double_out(GTK_SPIN_BUTTON - (priv->seed_ratio_limit_spin), args); + (priv->seed_ratio_limit_spin), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->speed_limit_down_check), args); + (priv->speed_limit_down_check), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->speed_limit_down_spin), args); + (priv->speed_limit_down_spin), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->speed_limit_up_check), args); + (priv->speed_limit_up_check), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->speed_limit_up_spin), args); + (priv->speed_limit_up_spin), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->peer_limit_global_spin), args); + (priv->peer_limit_global_spin), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->peer_limit_per_torrent_spin), - args); + (priv->peer_limit_per_torrent_spin), + args); g_free(encryption); @@ -149,10 +149,10 @@ static void update_session(GtkDialog * dlg) static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { if (res_id == GTK_RESPONSE_ACCEPT) { - update_session(dlg); + update_session(dlg); } gtk_widget_destroy(GTK_WIDGET(dlg)); instance = NULL; @@ -160,46 +160,46 @@ trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, static void trg_remote_prefs_dialog_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_PARENT: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_remote_prefs_dialog_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, - JsonObject * json) + JsonObject * json) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -208,86 +208,86 @@ static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, hig_workarea_add_section_title(t, &row, "Bandwidth"); tb = priv->speed_limit_down_check = gtk_check_button_new_with_mnemonic - ("Limit download speed (KB/s)"); + ("Limit download speed (KB/s)"); widget_set_json_key(tb, SGET_SPEED_LIMIT_DOWN_ENABLED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - session_get_speed_limit_down_enabled - (json)); + session_get_speed_limit_down_enabled + (json)); w = priv->speed_limit_down_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(w, SGET_SPEED_LIMIT_DOWN); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - session_get_speed_limit_down(json)); + session_get_speed_limit_down(json)); g_signal_connect(G_OBJECT(tb), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tb))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tb))); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = priv->speed_limit_up_check = gtk_check_button_new_with_mnemonic - ("Limit upload speed (KB/s)"); + ("Limit upload speed (KB/s)"); widget_set_json_key(tb, SGET_SPEED_LIMIT_UP_ENABLED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - session_get_speed_limit_up_enabled(json)); + session_get_speed_limit_up_enabled(json)); w = priv->speed_limit_up_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(w, SGET_SPEED_LIMIT_UP); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - session_get_speed_limit_up(json)); + session_get_speed_limit_up(json)); g_signal_connect(G_OBJECT(tb), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tb))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tb))); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, "Seeding"); tb = priv->seed_ratio_limit_check = gtk_check_button_new_with_mnemonic - ("Seed ratio limit"); + ("Seed ratio limit"); widget_set_json_key(tb, SGET_SEED_RATIO_LIMITED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - session_get_seed_ratio_limited(json)); + session_get_seed_ratio_limited(json)); w = priv->seed_ratio_limit_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 0.1); + gtk_spin_button_new_with_range(0, INT_MAX, 0.1); widget_set_json_key(w, SGET_SEED_RATIO_LIMIT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - session_get_seed_ratio_limit(json)); + session_get_seed_ratio_limit(json)); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tb))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tb))); g_signal_connect(G_OBJECT(tb), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, "Peers"); w = priv->peer_limit_global_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(GTK_WIDGET(w), SGET_PEER_LIMIT_GLOBAL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - session_get_peer_limit_global(json)); + session_get_peer_limit_global(json)); hig_workarea_add_row(t, &row, "Global peer limit", w, w); w = priv->peer_limit_per_torrent_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(GTK_WIDGET(w), SGET_PEER_LIMIT_PER_TORRENT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - session_get_peer_limit_per_torrent(json)); + session_get_peer_limit_per_torrent(json)); hig_workarea_add_row(t, &row, "Per torrent peer limit", w, w); return t; } static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, - JsonObject * s) + JsonObject * s) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *t; const gchar *encryption; @@ -302,53 +302,53 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, gtk_combo_box_append_text(GTK_COMBO_BOX(w), "Tolerated"); encryption = session_get_encryption(s); if (g_strcmp0(encryption, "required") == 0) { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); } else if (g_strcmp0(encryption, "tolerated") == 0) { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); } else { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); } hig_workarea_add_row(t, &row, "Encryption", w, NULL); w = priv->peer_port_spin = gtk_spin_button_new_with_range(0, 65535, 1); widget_set_json_key(w, SGET_PEER_PORT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - session_get_peer_port(s)); + session_get_peer_port(s)); hig_workarea_add_row(t, &row, "Peer port", w, w); w = priv->peer_port_random_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Random peer port on start", - session_get_peer_port_random(s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Random peer port on start", + session_get_peer_port_random(s)); widget_set_json_key(w, SGET_PEER_PORT_RANDOM_ON_START); w = priv->peer_port_forwarding_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Peer port forwarding", - session_get_port_forwarding_enabled - (s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Peer port forwarding", + session_get_port_forwarding_enabled + (s)); widget_set_json_key(w, SGET_PORT_FORWARDING_ENABLED); w = priv->pex_enabled_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Peer exchange (PEX)", - session_get_pex_enabled(s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Peer exchange (PEX)", + session_get_pex_enabled(s)); widget_set_json_key(w, SGET_PEX_ENABLED); w = priv->lpd_enabled_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Local peer discovery", - session_get_lpd_enabled(s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Local peer discovery", + session_get_lpd_enabled(s)); widget_set_json_key(w, SGET_LPD_ENABLED); return t; } static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win, - JsonObject * s) + JsonObject * s) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -362,75 +362,75 @@ static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win, hig_workarea_add_row(t, &row, "Download directory", w, NULL); tb = priv->incomplete_dir_check = - gtk_check_button_new_with_mnemonic("Incomplete download dir"); + gtk_check_button_new_with_mnemonic("Incomplete download dir"); widget_set_json_key(tb, SGET_INCOMPLETE_DIR_ENABLED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - session_get_incomplete_dir_enabled(s)); + session_get_incomplete_dir_enabled(s)); w = priv->incomplete_dir_entry = gtk_entry_new(); widget_set_json_key(w, SGET_INCOMPLETE_DIR); gtk_entry_set_text(GTK_ENTRY(w), session_get_incomplete_dir(s)); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tb))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tb))); g_signal_connect(G_OBJECT(tb), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = priv->done_script_enabled_check = - gtk_check_button_new_with_mnemonic("Torrent done script"); + gtk_check_button_new_with_mnemonic("Torrent done script"); widget_set_json_key(tb, SGET_SCRIPT_TORRENT_DONE_ENABLED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - session_get_torrent_done_enabled(s)); + session_get_torrent_done_enabled(s)); w = priv->done_script_entry = gtk_entry_new(); widget_set_json_key(w, SGET_SCRIPT_TORRENT_DONE_FILENAME); gtk_entry_set_text(GTK_ENTRY(w), session_get_torrent_done_filename(s)); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tb))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tb))); g_signal_connect(G_OBJECT(tb), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_row_w(t, &row, tb, w, NULL); cache_size_mb = session_get_cache_size_mb(s); if (cache_size_mb >= 0) { - w = priv->cache_size_mb_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 1); - widget_set_json_key(w, SGET_CACHE_SIZE_MB); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), cache_size_mb); - hig_workarea_add_row(t, &row, "Cache size (MB)", w, w); + w = priv->cache_size_mb_spin = + gtk_spin_button_new_with_range(0, INT_MAX, 1); + widget_set_json_key(w, SGET_CACHE_SIZE_MB); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), cache_size_mb); + hig_workarea_add_row(t, &row, "Cache size (MB)", w, w); } w = priv->rename_partial_files_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Rename partial files", - session_get_rename_partial_files - (s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Rename partial files", + session_get_rename_partial_files + (s)); widget_set_json_key(w, SGET_RENAME_PARTIAL_FILES); w = priv->trash_original_torrent_files_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Trash original torrent files", - session_get_trash_original_torrent_files - (s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Trash original torrent files", + session_get_trash_original_torrent_files + (s)); widget_set_json_key(w, SGET_TRASH_ORIGINAL_TORRENT_FILES); w = priv->start_added_torrent_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Start added torrents", - session_get_start_added_torrents - (s)); + hig_workarea_add_wide_checkbutton(t, &row, + "Start added torrents", + session_get_start_added_torrents + (s)); widget_set_json_key(w, SGET_START_ADDED_TORRENTS); return t; } static GObject *trg_remote_prefs_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object; TrgRemotePrefsDialogPrivate *priv; @@ -438,56 +438,56 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type, GtkWidget *notebook; object = G_OBJECT_CLASS - (trg_remote_prefs_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_remote_prefs_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); session = priv->client->session; gtk_window_set_title(GTK_WINDOW(object), "Remote Preferences"); gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_APPLY, - GTK_RESPONSE_ACCEPT); + GTK_RESPONSE_ACCEPT); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_set_alternative_button_order(GTK_DIALOG(object), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CLOSE, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CLOSE, -1); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_remote_prefs_response_cb), NULL); + "response", + G_CALLBACK(trg_remote_prefs_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_generalPage - (TRG_REMOTE_PREFS_DIALOG(object), - session), gtk_label_new("General")); + trg_rprefs_generalPage + (TRG_REMOTE_PREFS_DIALOG(object), + session), gtk_label_new("General")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_connPage - (TRG_REMOTE_PREFS_DIALOG(object), - session), gtk_label_new("Connections")); + trg_rprefs_connPage + (TRG_REMOTE_PREFS_DIALOG(object), + session), gtk_label_new("Connections")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_limitsPage - (TRG_REMOTE_PREFS_DIALOG(object), - session), gtk_label_new("Limits")); + trg_rprefs_limitsPage + (TRG_REMOTE_PREFS_DIALOG(object), + session), gtk_label_new("Limits")); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(object)->vbox), notebook, - TRUE, TRUE, 0); + TRUE, TRUE, 0); return object; } @@ -504,27 +504,27 @@ trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * klass) object_class->set_property = trg_remote_prefs_dialog_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)); + 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_PARENT, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); } static void @@ -533,14 +533,14 @@ trg_remote_prefs_dialog_init(TrgRemotePrefsDialog * self G_GNUC_UNUSED) } TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow * - parent, - trg_client * - client) + parent, + trg_client * + client) { if (instance == NULL) { - instance = g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, - "parent-window", parent, - "trg-client", client, NULL); + instance = g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, + "parent-window", parent, + "trg-client", client, NULL); } return TRG_REMOTE_PREFS_DIALOG(instance); diff --git a/src/trg-remote-prefs-dialog.h b/src/trg-remote-prefs-dialog.h index a124350..a6af9ea 100644 --- a/src/trg-remote-prefs-dialog.h +++ b/src/trg-remote-prefs-dialog.h @@ -49,9 +49,9 @@ typedef struct { GType trg_remote_prefs_dialog_get_type(void); TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow * - parent, - trg_client * - client); + parent, + trg_client * + client); G_END_DECLS -#endif /* TRG_REMOTE_PREFS_DIALOG_H_ */ +#endif /* TRG_REMOTE_PREFS_DIALOG_H_ */ diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index 8d6d7f3..deb3301 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -50,19 +50,19 @@ static void trg_state_selector_class_init(TrgStateSelectorClass * klass) GObjectClass *object_class = G_OBJECT_CLASS(klass); signals[SELECTOR_STATE_CHANGED] = - g_signal_new("torrent-state-changed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgStateSelectorClass, - torrent_state_changed), NULL, - NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, - 1, G_TYPE_UINT); + g_signal_new("torrent-state-changed", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgStateSelectorClass, + torrent_state_changed), NULL, + NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, + 1, G_TYPE_UINT); g_type_class_add_private(klass, sizeof(TrgStateSelectorPrivate)); } static void state_selection_changed(GtkTreeSelection * selection, - gpointer data) + gpointer data) { TrgStateSelectorPrivate *priv; GtkTreeIter iter; @@ -75,24 +75,24 @@ static void state_selection_changed(GtkTreeSelection * selection, stateModel = gtk_tree_view_get_model(tv); if (gtk_tree_selection_get_selected(selection, &stateModel, &iter)) - gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, - &(priv->flag), -1); + gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, + &(priv->flag), -1); else - priv->flag = 0; + priv->flag = 0; g_signal_emit(TRG_STATE_SELECTOR(data), - signals[SELECTOR_STATE_CHANGED], 0, priv->flag); + signals[SELECTOR_STATE_CHANGED], 0, priv->flag); } static void trg_state_selector_add_state(GtkListStore * model, - GtkTreeIter * iter, gchar * icon, - gchar * name, guint32 flag) + GtkTreeIter * iter, gchar * icon, + gchar * name, guint32 flag) { gtk_list_store_append(model, iter); gtk_list_store_set(model, iter, - STATE_SELECTOR_ICON, icon, - STATE_SELECTOR_NAME, name, - STATE_SELECTOR_BIT, flag, -1); + STATE_SELECTOR_ICON, icon, + STATE_SELECTOR_NAME, name, + STATE_SELECTOR_BIT, flag, -1); } static void trg_state_selector_init(TrgStateSelector * self) @@ -115,7 +115,7 @@ static void trg_state_selector_init(TrgStateSelector * self) gtk_tree_view_column_pack_start(column, renderer, FALSE); g_object_set(renderer, "stock-size", 4, NULL); gtk_tree_view_column_set_attributes(column, renderer, "stock-id", - 0, NULL); + 0, NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); @@ -124,25 +124,25 @@ static void trg_state_selector_init(TrgStateSelector * self) gtk_tree_view_append_column(GTK_TREE_VIEW(self), column); store = - gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_UINT); + gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_UINT); trg_state_selector_add_state(store, &iter, GTK_STOCK_ABOUT, "All", 0); trg_state_selector_add_state(store, &iter, GTK_STOCK_GO_DOWN, - "Downloading", TORRENT_FLAG_DOWNLOADING); + "Downloading", TORRENT_FLAG_DOWNLOADING); trg_state_selector_add_state(store, &iter, GTK_STOCK_MEDIA_PAUSE, - "Paused", TORRENT_FLAG_PAUSED); + "Paused", TORRENT_FLAG_PAUSED); trg_state_selector_add_state(store, &iter, GTK_STOCK_REFRESH, - "Checking", TORRENT_FLAG_CHECKING); + "Checking", TORRENT_FLAG_CHECKING); trg_state_selector_add_state(store, &iter, GTK_STOCK_APPLY, - "Complete", TORRENT_FLAG_COMPLETE); + "Complete", TORRENT_FLAG_COMPLETE); trg_state_selector_add_state(store, &iter, GTK_STOCK_SELECT_ALL, - "Incomplete", TORRENT_FLAG_INCOMPLETE); + "Incomplete", TORRENT_FLAG_INCOMPLETE); trg_state_selector_add_state(store, &iter, GTK_STOCK_GO_UP, - "Seeding", TORRENT_FLAG_SEEDING); + "Seeding", TORRENT_FLAG_SEEDING); trg_state_selector_add_state(store, &iter, - GTK_STOCK_DIALOG_WARNING, "Error", - TORRENT_FLAG_ERROR); + GTK_STOCK_DIALOG_WARNING, "Error", + TORRENT_FLAG_ERROR); gtk_tree_view_set_model(GTK_TREE_VIEW(self), GTK_TREE_MODEL(store)); gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(self), TRUE); @@ -152,7 +152,7 @@ static void trg_state_selector_init(TrgStateSelector * self) selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self)); g_signal_connect(G_OBJECT(selection), "changed", - G_CALLBACK(state_selection_changed), self); + G_CALLBACK(state_selection_changed), self); } TrgStateSelector *trg_state_selector_new(void) diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h index 0df22cf..944647a 100644 --- a/src/trg-state-selector.h +++ b/src/trg-state-selector.h @@ -52,7 +52,7 @@ typedef struct { /* SIGNALS */ void (*torrent_state_changed) (TrgStateSelector * selector, - guint flag, gpointer data); + guint flag, gpointer data); } TrgStateSelectorClass; GType trg_state_selector_get_type(void); @@ -60,4 +60,4 @@ TrgStateSelector *trg_state_selector_new(void); G_END_DECLS guint32 trg_state_selector_get_flag(TrgStateSelector * s); -#endif /* TRG_STATE_LIST_H_ */ +#endif /* TRG_STATE_LIST_H_ */ diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index 4c1d08c..c7d94b9 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -55,38 +55,38 @@ struct _TrgStatsDialogPrivate { GtkWidget *tv; GtkListStore *model; GtkTreeRowReference *rr_up, *rr_down, *rr_files_added, - *rr_session_count, *rr_active; + *rr_session_count, *rr_active; }; static GObject *instance = NULL; static gboolean trg_update_stats_timerfunc(gpointer data); static void on_stats_reply(JsonObject * response, int status, - gpointer data); + gpointer data); static void trg_stats_dialog_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_stats_dialog_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { TrgStatsDialogPrivate *priv = TRG_STATS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -100,14 +100,14 @@ trg_stats_dialog_dispose (GObject *object) static void trg_stats_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { gtk_widget_destroy(GTK_WIDGET(dlg)); instance = NULL; } static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * - model, gchar * name) + model, gchar * name) { GtkTreeIter iter; GtkTreePath *path; @@ -124,7 +124,7 @@ static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * } static void update_statistic(GtkTreeRowReference * rr, gchar * session, - gchar * cumulat) + gchar * cumulat) { GtkTreePath *path = gtk_tree_row_reference_get_path(rr); GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); @@ -133,7 +133,7 @@ static void update_statistic(GtkTreeRowReference * rr, gchar * session, gtk_tree_model_get_iter(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, STATCOL_SESSION, - session, STATCOL_CUMULAT, cumulat, -1); + session, STATCOL_CUMULAT, cumulat, -1); gtk_tree_path_free(path); } @@ -149,89 +149,88 @@ static JsonObject *get_cumulat_arg(JsonObject * args) } static void update_int_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; g_snprintf(session_val, sizeof(session_val), "%ld", - json_object_get_int_member(get_session_arg(args), jsonKey)); + json_object_get_int_member(get_session_arg(args), jsonKey)); g_snprintf(cumulat_val, sizeof(cumulat_val), "%ld", - json_object_get_int_member(get_cumulat_arg(args), jsonKey)); + json_object_get_int_member(get_cumulat_arg(args), jsonKey)); update_statistic(rr, session_val, cumulat_val); } static void update_size_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; trg_strlsize(cumulat_val, - json_object_get_int_member(get_cumulat_arg(args), - jsonKey)); + json_object_get_int_member(get_cumulat_arg(args), + jsonKey)); trg_strlsize(session_val, - json_object_get_int_member(get_session_arg(args), - jsonKey)); + json_object_get_int_member(get_session_arg(args), + jsonKey)); update_statistic(rr, session_val, cumulat_val); } static void update_time_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; tr_strltime_long(session_val, - json_object_get_int_member(get_session_arg(args), - jsonKey), - sizeof(session_val)); + json_object_get_int_member(get_session_arg(args), + jsonKey), + sizeof(session_val)); tr_strltime_long(cumulat_val, - json_object_get_int_member(get_cumulat_arg(args), - jsonKey), - sizeof(cumulat_val)); + json_object_get_int_member(get_cumulat_arg(args), + jsonKey), + sizeof(cumulat_val)); update_statistic(rr, session_val, cumulat_val); } static void on_stats_reply(JsonObject * response, int status, - gpointer data) + gpointer data) { TrgStatsDialogPrivate *priv; JsonObject *args; - if (!TRG_IS_STATS_DIALOG(data)) - { - response_unref(response); - return; + if (!TRG_IS_STATS_DIALOG(data)) { + response_unref(response); + return; } priv = TRG_STATS_DIALOG_GET_PRIVATE(data); if (status == CURLE_OK) { - args = get_arguments(response); + args = get_arguments(response); - update_size_stat(args, priv->rr_up, "uploadedBytes"); - update_size_stat(args, priv->rr_down, "downloadedBytes"); - update_int_stat(args, priv->rr_files_added, "filesAdded"); - update_int_stat(args, priv->rr_session_count, "sessionCount"); - update_time_stat(args, priv->rr_active, "secondsActive"); + update_size_stat(args, priv->rr_up, "uploadedBytes"); + update_size_stat(args, priv->rr_down, "downloadedBytes"); + update_int_stat(args, priv->rr_files_added, "filesAdded"); + update_int_stat(args, priv->rr_session_count, "sessionCount"); + update_time_stat(args, priv->rr_active, "secondsActive"); - if (priv->client->session != NULL) - g_timeout_add_seconds(5, trg_update_stats_timerfunc, data); + if (priv->client->session != NULL) + g_timeout_add_seconds(5, trg_update_stats_timerfunc, data); } else { - const gchar *msg = make_error_message(response, status); - GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(data), - 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); - g_free((gpointer) msg); + const gchar *msg = make_error_message(response, status); + GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(data), + 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); + g_free((gpointer) msg); } response_unref(response); @@ -242,21 +241,21 @@ static gboolean trg_update_stats_timerfunc(gpointer data) TrgStatsDialogPrivate *priv; if (TRG_IS_STATS_DIALOG(data)) { - priv = TRG_STATS_DIALOG_GET_PRIVATE(data); - dispatch_async(priv->client, session_stats(), on_stats_reply, - data); + priv = TRG_STATS_DIALOG_GET_PRIVATE(data); + dispatch_async(priv->client, session_stats(), on_stats_reply, + data); } return FALSE; } static void trg_stats_add_column(GtkTreeView * tv, gint index, - gchar * title, gint width) + gchar * title, gint width) { GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); GtkTreeViewColumn *column = - gtk_tree_view_column_new_with_attributes(title, renderer, - "text", index, NULL); + gtk_tree_view_column_new_with_attributes(title, renderer, + "text", index, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_fixed_width(column, width); @@ -264,59 +263,59 @@ static void trg_stats_add_column(GtkTreeView * tv, gint index, } static GObject *trg_stats_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GtkWidget *tv; GObject *obj = G_OBJECT_CLASS - (trg_stats_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_stats_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgStatsDialogPrivate *priv = TRG_STATS_DIALOG_GET_PRIVATE(obj); gtk_window_set_title(GTK_WINDOW(obj), "Statistics"); gtk_window_set_transient_for(GTK_WINDOW(obj), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(obj), TRUE); gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_container_set_border_width(GTK_CONTAINER(obj), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(obj), GTK_RESPONSE_CLOSE); g_signal_connect(G_OBJECT(obj), - "response", G_CALLBACK(trg_stats_response_cb), NULL); + "response", G_CALLBACK(trg_stats_response_cb), NULL); priv->model = - gtk_list_store_new(STATCOL_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, - G_TYPE_STRING); + gtk_list_store_new(STATCOL_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING); priv->rr_down = - stats_dialog_add_statistic(priv->model, "Download Total"); + stats_dialog_add_statistic(priv->model, "Download Total"); priv->rr_up = stats_dialog_add_statistic(priv->model, "Upload Total"); priv->rr_files_added = - stats_dialog_add_statistic(priv->model, "Files Added"); + stats_dialog_add_statistic(priv->model, "Files Added"); priv->rr_session_count = - stats_dialog_add_statistic(priv->model, "Session Count"); + stats_dialog_add_statistic(priv->model, "Session Count"); priv->rr_active = - stats_dialog_add_statistic(priv->model, "Time Active"); + stats_dialog_add_statistic(priv->model, "Time Active"); tv = priv->tv = trg_tree_view_new(); gtk_widget_set_sensitive(tv, TRUE); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_STAT, "Statistic", - 170); + 170); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_SESSION, "Session", - 100); + 100); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_CUMULAT, "Cumulative", - 100); + 100); gtk_tree_view_set_model(GTK_TREE_VIEW(tv), - GTK_TREE_MODEL(priv->model)); + GTK_TREE_MODEL(priv->model)); gtk_container_set_border_width(GTK_CONTAINER(tv), GUI_PAD); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(obj)->vbox), tv, TRUE, TRUE, 0); @@ -338,27 +337,27 @@ static void trg_stats_dialog_class_init(TrgStatsDialogClass * klass) object_class->constructor = trg_stats_dialog_constructor; g_object_class_install_property(object_class, - PROP_PARENT, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", + TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void trg_stats_dialog_init(TrgStatsDialog * self) @@ -366,12 +365,12 @@ static void trg_stats_dialog_init(TrgStatsDialog * self) } TrgStatsDialog *trg_stats_dialog_get_instance(TrgMainWindow * parent, - trg_client * client) + trg_client * client) { if (instance == NULL) { - instance = g_object_new(TRG_TYPE_STATS_DIALOG, - "trg-client", client, - "parent-window", parent, NULL); + instance = g_object_new(TRG_TYPE_STATS_DIALOG, + "trg-client", client, + "parent-window", parent, NULL); } return TRG_STATS_DIALOG(instance); diff --git a/src/trg-stats-dialog.h b/src/trg-stats-dialog.h index 0547467..acdbc55 100644 --- a/src/trg-stats-dialog.h +++ b/src/trg-stats-dialog.h @@ -50,7 +50,7 @@ typedef struct { GType trg_stats_dialog_get_type(void); TrgStatsDialog *trg_stats_dialog_get_instance(TrgMainWindow * parent, - trg_client * client); + trg_client * client); G_END_DECLS -#endif /* TRG_STATS_DIALOG_H_ */ +#endif /* TRG_STATS_DIALOG_H_ */ diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index 056bae0..7f21412 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -45,14 +45,14 @@ static void trg_status_bar_init(TrgStatusBar * self) TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(self); priv->connectionCtx = - gtk_statusbar_get_context_id(GTK_STATUSBAR(self), "connection"); + gtk_statusbar_get_context_id(GTK_STATUSBAR(self), "connection"); priv->countSpeedsCtx = - gtk_statusbar_get_context_id(GTK_STATUSBAR(self), - "counts and speeds"); + gtk_statusbar_get_context_id(GTK_STATUSBAR(self), + "counts and speeds"); } void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg) + const gchar * msg) { TrgStatusBarPrivate *priv; @@ -69,15 +69,15 @@ void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session) session_get_version(session, &version); statusMsg = - g_strdup_printf - ("Connected to Transmission %g, getting torrents...", version); + g_strdup_printf + ("Connected to Transmission %g, getting torrents...", version); g_printf("%s\n", statusMsg); trg_status_bar_push_connection_msg(sb, statusMsg); g_free(statusMsg); } void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats) + trg_torrent_model_update_stats * stats) { TrgStatusBarPrivate *priv; gchar *statusBarUpdate; @@ -86,18 +86,18 @@ void trg_status_bar_update(TrgStatusBar * sb, priv = TRG_STATUS_BAR_GET_PRIVATE(sb); trg_strlspeed(downRateTotalString, - stats->downRateTotal / KILOBYTE_FACTOR); + stats->downRateTotal / KILOBYTE_FACTOR); trg_strlspeed(upRateTotalString, stats->upRateTotal / KILOBYTE_FACTOR); statusBarUpdate = - g_strdup_printf - ("%d torrents .. Down %s, Up %s .. %d seeding, %d downloading, %d paused", - stats->count, - downRateTotalString, upRateTotalString, - stats->seeding, stats->down, stats->paused); + g_strdup_printf + ("%d torrents .. Down %s, Up %s .. %d seeding, %d downloading, %d paused", + stats->count, + downRateTotalString, upRateTotalString, + stats->seeding, stats->down, stats->paused); gtk_statusbar_pop(GTK_STATUSBAR(sb), priv->countSpeedsCtx); gtk_statusbar_push(GTK_STATUSBAR(sb), - priv->countSpeedsCtx, statusBarUpdate); + priv->countSpeedsCtx, statusBarUpdate); g_free(statusBarUpdate); } diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index 90e0133..5908c9f 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -52,9 +52,9 @@ TrgStatusBar *trg_status_bar_new(); G_END_DECLS void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats); + trg_torrent_model_update_stats * stats); void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session); void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg); + const gchar * msg); -#endif /* TRG_STATUS_BAR_H_ */ +#endif /* TRG_STATUS_BAR_H_ */ diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index f7b6c27..4924db1 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -58,69 +58,69 @@ struct _TrgToolbarPrivate { static void trg_toolbar_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(object); switch (property_id) { case PROP_CONNECT_BUTTON: - g_value_set_object(value, priv->tb_connect); - break; + g_value_set_object(value, priv->tb_connect); + break; case PROP_DISCONNECT_BUTTON: - g_value_set_object(value, priv->tb_disconnect); - break; + g_value_set_object(value, priv->tb_disconnect); + break; case PROP_ADD_BUTTON: - g_value_set_object(value, priv->tb_add); - break; + g_value_set_object(value, priv->tb_add); + break; /* case PROP_ADD_URL_BUTTON: g_value_set_object(value, priv->tb_add_url); break;*/ case PROP_REMOVE_BUTTON: - g_value_set_object(value, priv->tb_remove); - break; + g_value_set_object(value, priv->tb_remove); + break; case PROP_DELETE_BUTTON: - g_value_set_object(value, priv->tb_delete); - break; + g_value_set_object(value, priv->tb_delete); + break; case PROP_RESUME_BUTTON: - g_value_set_object(value, priv->tb_resume); - break; + g_value_set_object(value, priv->tb_resume); + break; case PROP_PAUSE_BUTTON: - g_value_set_object(value, priv->tb_pause); - break; - /*case PROP_VERIFY_BUTTON: - g_value_set_object(value, priv->tb_verify); - break; */ + g_value_set_object(value, priv->tb_pause); + break; + /*case PROP_VERIFY_BUTTON: + g_value_set_object(value, priv->tb_verify); + break; */ case PROP_PROPS_BUTTON: - g_value_set_object(value, priv->tb_props); - break; + g_value_set_object(value, priv->tb_props); + break; case PROP_REMOTE_PREFS_BUTTON: - g_value_set_object(value, priv->tb_remote_prefs); - break; + g_value_set_object(value, priv->tb_remote_prefs); + break; case PROP_LOCAL_PREFS_BUTTON: - g_value_set_object(value, priv->tb_local_prefs); - break; + g_value_set_object(value, priv->tb_local_prefs); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_toolbar_install_widget_prop(GObjectClass * class, guint propId, - const gchar * name, const gchar * nick) + const gchar * name, const gchar * nick) { g_object_class_install_property(class, - propId, - g_param_spec_object(name, - nick, - nick, - GTK_TYPE_WIDGET, - G_PARAM_READABLE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + propId, + g_param_spec_object(name, + nick, + nick, + GTK_TYPE_WIDGET, + G_PARAM_READABLE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } static void trg_toolbar_class_init(TrgToolbarClass * klass) @@ -129,44 +129,44 @@ static void trg_toolbar_class_init(TrgToolbarClass * klass) object_class->get_property = trg_toolbar_get_property; trg_toolbar_install_widget_prop(object_class, PROP_CONNECT_BUTTON, - "connect-button", "Connect Button"); + "connect-button", "Connect Button"); trg_toolbar_install_widget_prop(object_class, - PROP_DISCONNECT_BUTTON, - "disconnect-button", - "Disconnect Button"); + PROP_DISCONNECT_BUTTON, + "disconnect-button", + "Disconnect Button"); trg_toolbar_install_widget_prop(object_class, PROP_ADD_BUTTON, - "add-button", "Add Button"); + "add-button", "Add Button"); trg_toolbar_install_widget_prop(object_class, PROP_ADD_URL_BUTTON, - "add-url-button", "Add URL Button"); + "add-url-button", "Add URL Button"); trg_toolbar_install_widget_prop(object_class, PROP_REMOVE_BUTTON, - "remove-button", "Remove Button"); + "remove-button", "Remove Button"); trg_toolbar_install_widget_prop(object_class, PROP_DELETE_BUTTON, - "delete-button", "Delete Button"); + "delete-button", "Delete Button"); trg_toolbar_install_widget_prop(object_class, PROP_RESUME_BUTTON, - "resume-button", "Resume Button"); + "resume-button", "Resume Button"); trg_toolbar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, - "pause-button", "Pause Button"); + "pause-button", "Pause Button"); /*trg_toolbar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, "verify-button", "Verify Button"); */ trg_toolbar_install_widget_prop(object_class, PROP_PROPS_BUTTON, - "props-button", "Props Button"); + "props-button", "Props Button"); trg_toolbar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, - "remote-prefs-button", - "Remote Prefs Button"); + PROP_REMOTE_PREFS_BUTTON, + "remote-prefs-button", + "Remote Prefs Button"); trg_toolbar_install_widget_prop(object_class, - PROP_LOCAL_PREFS_BUTTON, - "local-prefs-button", - "Local Prefs Button"); + PROP_LOCAL_PREFS_BUTTON, + "local-prefs-button", + "Local Prefs Button"); g_type_class_add_private(klass, sizeof(TrgToolbarPrivate)); } static GtkWidget *trg_toolbar_item_new(TrgToolbar * toolbar, - gchar * text G_GNUC_UNUSED, - int *index, gchar * icon, - gboolean sensitive) + gchar * text G_GNUC_UNUSED, + int *index, gchar * icon, + gboolean sensitive) { GtkToolItem *w = gtk_tool_button_new_from_stock(icon); gtk_widget_set_sensitive(GTK_WIDGET(w), sensitive); @@ -186,7 +186,7 @@ void trg_toolbar_connected_change(TrgToolbar * tb, gboolean connected) } void trg_toolbar_torrent_actions_sensitive(TrgToolbar * tb, - gboolean sensitive) + gboolean sensitive) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(tb); @@ -207,19 +207,19 @@ static void trg_toolbar_init(TrgToolbar * self) priv = TRG_TOOLBAR_GET_PRIVATE(self); gtk_orientable_set_orientation(GTK_ORIENTABLE(self), - GTK_ORIENTATION_HORIZONTAL); + GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_icon_size(GTK_TOOLBAR(self), - GTK_ICON_SIZE_LARGE_TOOLBAR); + GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_toolbar_set_style(GTK_TOOLBAR(self), GTK_TOOLBAR_ICONS); priv->tb_connect = - trg_toolbar_item_new(self, "Connect", &position, - GTK_STOCK_CONNECT, TRUE); + trg_toolbar_item_new(self, "Connect", &position, + GTK_STOCK_CONNECT, TRUE); priv->tb_disconnect = - trg_toolbar_item_new(self, "Disconnect", &position, - GTK_STOCK_DISCONNECT, FALSE); + trg_toolbar_item_new(self, "Disconnect", &position, + GTK_STOCK_DISCONNECT, FALSE); priv->tb_add = - trg_toolbar_item_new(self, "Add", &position, GTK_STOCK_ADD, FALSE); + trg_toolbar_item_new(self, "Add", &position, GTK_STOCK_ADD, FALSE); /*priv->tb_add_url = trg_toolbar_item_new(self, "Add URL", 3, GTK_STOCK_ADD, FALSE); */ @@ -228,23 +228,23 @@ static void trg_toolbar_init(TrgToolbar * self) gtk_toolbar_insert(GTK_TOOLBAR(self), separator, position++); priv->tb_resume = - trg_toolbar_item_new(self, "Resume", &position, - GTK_STOCK_MEDIA_PLAY, FALSE); + trg_toolbar_item_new(self, "Resume", &position, + GTK_STOCK_MEDIA_PLAY, FALSE); priv->tb_pause = - trg_toolbar_item_new(self, "Pause", &position, - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_toolbar_item_new(self, "Pause", &position, + GTK_STOCK_MEDIA_PAUSE, FALSE); priv->tb_props = - trg_toolbar_item_new(self, "Properties", &position, - GTK_STOCK_PROPERTIES, FALSE); + trg_toolbar_item_new(self, "Properties", &position, + GTK_STOCK_PROPERTIES, FALSE); priv->tb_remove = - trg_toolbar_item_new(self, "Remove", &position, - GTK_STOCK_REMOVE, FALSE); + trg_toolbar_item_new(self, "Remove", &position, + GTK_STOCK_REMOVE, FALSE); priv->tb_delete = - trg_toolbar_item_new(self, "Remove with data", - &position, GTK_STOCK_DELETE, FALSE); + trg_toolbar_item_new(self, "Remove with data", + &position, GTK_STOCK_DELETE, FALSE); /*priv->tb_verify = trg_toolbar_item_new(self, "Verify", 11, @@ -254,12 +254,12 @@ static void trg_toolbar_init(TrgToolbar * self) gtk_toolbar_insert(GTK_TOOLBAR(self), separator, position++); priv->tb_local_prefs = - trg_toolbar_item_new(self, "Local Preferences", &position, - GTK_STOCK_PREFERENCES, TRUE); + trg_toolbar_item_new(self, "Local Preferences", &position, + GTK_STOCK_PREFERENCES, TRUE); priv->tb_remote_prefs = - trg_toolbar_item_new(self, "Remote Preferences", - &position, GTK_STOCK_NETWORK, FALSE); + trg_toolbar_item_new(self, "Remote Preferences", + &position, GTK_STOCK_NETWORK, FALSE); } TrgToolbar *trg_toolbar_new(void) diff --git a/src/trg-toolbar.h b/src/trg-toolbar.h index 2aaa094..c63d353 100644 --- a/src/trg-toolbar.h +++ b/src/trg-toolbar.h @@ -50,7 +50,7 @@ TrgToolbar *trg_toolbar_new(void); G_END_DECLS void trg_toolbar_torrent_actions_sensitive(TrgToolbar * mb, - gboolean sensitive); + gboolean sensitive); void trg_toolbar_connected_change(TrgToolbar * mb, gboolean connected); -#endif /* TRG_TOOLBAR_H_ */ +#endif /* TRG_TOOLBAR_H_ */ diff --git a/src/trg-torrent-add-url-dialog.c b/src/trg-torrent-add-url-dialog.c index 3844813..a2b35df 100644 --- a/src/trg-torrent-add-url-dialog.c +++ b/src/trg-torrent-add-url-dialog.c @@ -28,7 +28,7 @@ #include "dispatch.h" G_DEFINE_TYPE(TrgTorrentAddUrlDialog, trg_torrent_add_url_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_ADD_URL_DIALOG, TrgTorrentAddUrlDialogPrivate)) typedef struct _TrgTorrentAddUrlDialogPrivate @@ -48,17 +48,17 @@ trg_torrent_add_url_dialog_class_init(TrgTorrentAddUrlDialogClass * klass) static void trg_torrent_add_url_response_cb(GtkDialog * dlg, gint res_id, - gpointer data) + gpointer data) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_ACCEPT) { - JsonNode *request = - torrent_add_url(gtk_entry_get_text(GTK_ENTRY(priv->urlEntry)), - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(priv->startCheck))); - dispatch_async(priv->client, request, - on_generic_interactive_action, data); + JsonNode *request = + torrent_add_url(gtk_entry_get_text(GTK_ENTRY(priv->urlEntry)), + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(priv->startCheck))); + dispatch_async(priv->client, request, + on_generic_interactive_action, data); } gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -66,15 +66,15 @@ trg_torrent_add_url_response_cb(GtkDialog * dlg, gint res_id, static void url_entry_changed(GtkWidget * w, gpointer data) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(data); gtk_widget_set_sensitive(priv->addButton, - gtk_entry_get_text_length(GTK_ENTRY(w)) > 0); + gtk_entry_get_text_length(GTK_ENTRY(w)) > 0); } static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(self); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(self); GtkWidget *w, *t; gint row = 0; @@ -85,16 +85,16 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) w = hig_workarea_add_row(t, &row, "URL:", w, NULL); priv->startCheck = - hig_workarea_add_wide_checkbutton(t, &row, "Start Paused", FALSE); + hig_workarea_add_wide_checkbutton(t, &row, "Start Paused", FALSE); gtk_window_set_title(GTK_WINDOW(self), "Add torrent from URL"); gtk_window_set_destroy_with_parent(GTK_WINDOW(self), TRUE); gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_CLOSE, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); priv->addButton = - gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_ADD, - GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_ADD, + GTK_RESPONSE_ACCEPT); gtk_widget_set_sensitive(priv->addButton, FALSE); gtk_container_set_border_width(GTK_CONTAINER(self), GUI_PAD); @@ -102,8 +102,8 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) gtk_dialog_set_default_response(GTK_DIALOG(self), GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(self), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD); @@ -111,19 +111,19 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) } TrgTorrentAddUrlDialog *trg_torrent_add_url_dialog_new(TrgMainWindow * win, - trg_client * client) + trg_client * client) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_ADD_URL_DIALOG, NULL); TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(obj); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(obj); priv->client = client; priv->win = win; gtk_window_set_transient_for(GTK_WINDOW(obj), GTK_WINDOW(win)); g_signal_connect(G_OBJECT(obj), - "response", - G_CALLBACK(trg_torrent_add_url_response_cb), win); + "response", + G_CALLBACK(trg_torrent_add_url_response_cb), win); return TRG_TORRENT_ADD_URL_DIALOG(obj); } diff --git a/src/trg-torrent-add-url-dialog.h b/src/trg-torrent-add-url-dialog.h index d089169..8e2fb26 100644 --- a/src/trg-torrent-add-url-dialog.h +++ b/src/trg-torrent-add-url-dialog.h @@ -49,8 +49,8 @@ typedef struct { GType trg_torrent_add_url_dialog_get_type(void); TrgTorrentAddUrlDialog *trg_torrent_add_url_dialog_new(TrgMainWindow * win, - trg_client * - client); + trg_client * + client); G_END_DECLS -#endif /* TRG_TORRENT_ADD_URL_DIALOG_H_ */ +#endif /* TRG_TORRENT_ADD_URL_DIALOG_H_ */ diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index 3bfe20c..c201fa2 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -41,39 +41,39 @@ static guint signals[TMODEL_SIGNAL_COUNT] = { 0 }; G_DEFINE_TYPE(TrgTorrentModel, trg_torrent_model, GTK_TYPE_LIST_STORE) static guint32 torrent_get_flags(JsonObject * t, gint64 status, - trg_torrent_model_update_stats * stats); + trg_torrent_model_update_stats * stats); static void update_torrent_iter(gint64 serial, TrgTorrentModel * model, - GtkTreeIter * iter, JsonObject * t, - trg_torrent_model_update_stats * stats); + GtkTreeIter * iter, JsonObject * t, + trg_torrent_model_update_stats * stats); static void trg_torrent_model_class_init(TrgTorrentModelClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); signals[TMODEL_TORRENT_COMPLETED] = - g_signal_new("torrent-completed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgTorrentModelClass, - torrent_completed), NULL, - NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_POINTER); + g_signal_new("torrent-completed", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgTorrentModelClass, + torrent_completed), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); signals[TMODEL_TORRENT_ADDED] = - g_signal_new("torrent-added", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgTorrentModelClass, - torrent_added), NULL, - NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_POINTER); + g_signal_new("torrent-added", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgTorrentModelClass, + torrent_added), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); } static void trg_torrent_model_count_peers(TrgTorrentModel * model, - GtkTreeIter * iter, - JsonObject * t) + GtkTreeIter * iter, + JsonObject * t) { JsonArray *peers; gint seeders, leechers; @@ -85,20 +85,20 @@ static void trg_torrent_model_count_peers(TrgTorrentModel * model, leechers = 0; for (j = 0; j < json_array_get_length(peers); j++) { - JsonObject *peer; + JsonObject *peer; - peer = json_node_get_object(json_array_get_element(peers, j)); + peer = json_node_get_object(json_array_get_element(peers, j)); - if (peer_get_is_downloading_from(peer)) - seeders++; + if (peer_get_is_downloading_from(peer)) + seeders++; - if (peer_get_is_uploading_to(peer)) - leechers++; + if (peer_get_is_uploading_to(peer)) + leechers++; } gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_SEEDS, seeders, - TORRENT_COLUMN_LEECHERS, leechers, -1); + TORRENT_COLUMN_SEEDS, seeders, + TORRENT_COLUMN_LEECHERS, leechers, -1); } static void trg_torrent_model_init(TrgTorrentModel * self) @@ -124,50 +124,50 @@ static void trg_torrent_model_init(TrgTorrentModel * self) column_types[TORRENT_COLUMN_FLAGS] = G_TYPE_INT; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - TORRENT_COLUMN_COLUMNS, column_types); + TORRENT_COLUMN_COLUMNS, column_types); } static guint32 torrent_get_flags(JsonObject * t, gint64 status, - trg_torrent_model_update_stats * stats) + trg_torrent_model_update_stats * stats) { guint32 flags = 0; switch (status) { case STATUS_DOWNLOADING: - flags |= TORRENT_FLAG_DOWNLOADING; - stats->down++; - break; + flags |= TORRENT_FLAG_DOWNLOADING; + stats->down++; + break; case STATUS_PAUSED: - flags |= TORRENT_FLAG_PAUSED; - stats->paused++; - break; + flags |= TORRENT_FLAG_PAUSED; + stats->paused++; + break; case STATUS_SEEDING: - flags |= TORRENT_FLAG_SEEDING; - stats->seeding++; - break; + flags |= TORRENT_FLAG_SEEDING; + stats->seeding++; + break; case STATUS_CHECKING: - flags |= TORRENT_FLAG_CHECKING; - break; + flags |= TORRENT_FLAG_CHECKING; + break; case STATUS_WAITING_TO_CHECK: - flags |= TORRENT_FLAG_WAITING_CHECK; - flags |= TORRENT_FLAG_CHECKING; - break; + flags |= TORRENT_FLAG_WAITING_CHECK; + flags |= TORRENT_FLAG_CHECKING; + break; } if (torrent_get_is_finished(t) == TRUE) - flags |= TORRENT_FLAG_COMPLETE; + flags |= TORRENT_FLAG_COMPLETE; else - flags |= TORRENT_FLAG_INCOMPLETE; + flags |= TORRENT_FLAG_INCOMPLETE; if (strlen(torrent_get_errorstr(t)) > 0) - flags |= TORRENT_FLAG_ERROR; + flags |= TORRENT_FLAG_ERROR; return flags; } static void update_torrent_iter(gint64 serial, TrgTorrentModel * model, - GtkTreeIter * iter, JsonObject * t, - trg_torrent_model_update_stats * stats) + GtkTreeIter * iter, JsonObject * t, + trg_torrent_model_update_stats * stats) { guint lastFlags, newFlags; gchar *statusString, *statusIcon; @@ -190,69 +190,69 @@ update_torrent_iter(gint64 serial, TrgTorrentModel * model, statusIcon = torrent_get_status_icon(newFlags); gtk_tree_model_get(GTK_TREE_MODEL(model), iter, - TORRENT_COLUMN_FLAGS, &lastFlags, -1); + TORRENT_COLUMN_FLAGS, &lastFlags, -1); #ifdef DEBUG gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_ICON, statusIcon, -1); + TORRENT_COLUMN_ICON, statusIcon, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_NAME, torrent_get_name(t), -1); + TORRENT_COLUMN_NAME, torrent_get_name(t), -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_SIZE, torrent_get_size(t), -1); + TORRENT_COLUMN_SIZE, torrent_get_size(t), -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_DONE, torrent_get_percent_done(t), - -1); + TORRENT_COLUMN_DONE, torrent_get_percent_done(t), + -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_STATUS, - statusString, -1); + statusString, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_DOWNSPEED, downRate, -1); + TORRENT_COLUMN_DOWNSPEED, downRate, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_FLAGS, - newFlags, -1); + newFlags, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_UPSPEED, - upRate, -1); + upRate, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_ETA, - torrent_get_eta(t), -1); + torrent_get_eta(t), -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_UPLOADED, uploaded, -1); + TORRENT_COLUMN_UPLOADED, uploaded, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_DOWNLOADED, downloaded, -1); + TORRENT_COLUMN_DOWNLOADED, downloaded, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_RATIO, - uploaded > 0 - && downloaded > - 0 ? (double) uploaded / (double) downloaded : 0, - -1); + uploaded > 0 + && downloaded > + 0 ? (double) uploaded / (double) downloaded : 0, + -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_ID, id, - -1); + -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_JSON, t, - -1); + -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_UPDATESERIAL, serial, -1); + TORRENT_COLUMN_UPDATESERIAL, serial, -1); #else gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_ICON, statusIcon, - TORRENT_COLUMN_NAME, torrent_get_name(t), - TORRENT_COLUMN_SIZE, torrent_get_size(t), - TORRENT_COLUMN_DONE, - torrent_get_percent_done(t), - TORRENT_COLUMN_STATUS, statusString, - TORRENT_COLUMN_DOWNSPEED, downRate, - TORRENT_COLUMN_FLAGS, newFlags, - TORRENT_COLUMN_UPSPEED, upRate, - TORRENT_COLUMN_ETA, torrent_get_eta(t), - TORRENT_COLUMN_UPLOADED, uploaded, - TORRENT_COLUMN_DOWNLOADED, downloaded, - TORRENT_COLUMN_RATIO, - uploaded > - 0 - && downloaded > - 0 ? (double) uploaded / (double) downloaded : 0, - TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t, - TORRENT_COLUMN_UPDATESERIAL, serial, -1); + TORRENT_COLUMN_ICON, statusIcon, + TORRENT_COLUMN_NAME, torrent_get_name(t), + TORRENT_COLUMN_SIZE, torrent_get_size(t), + TORRENT_COLUMN_DONE, + torrent_get_percent_done(t), + TORRENT_COLUMN_STATUS, statusString, + TORRENT_COLUMN_DOWNSPEED, downRate, + TORRENT_COLUMN_FLAGS, newFlags, + TORRENT_COLUMN_UPSPEED, upRate, + TORRENT_COLUMN_ETA, torrent_get_eta(t), + TORRENT_COLUMN_UPLOADED, uploaded, + TORRENT_COLUMN_DOWNLOADED, downloaded, + TORRENT_COLUMN_RATIO, + uploaded > + 0 + && downloaded > + 0 ? (double) uploaded / (double) downloaded : 0, + TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t, + TORRENT_COLUMN_UPDATESERIAL, serial, -1); #endif if ((lastFlags & TORRENT_FLAG_DOWNLOADING) - && (newFlags & TORRENT_FLAG_COMPLETE)) - g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter); + && (newFlags & TORRENT_FLAG_COMPLETE)) + g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter); trg_torrent_model_count_peers(model, iter, t); @@ -266,9 +266,9 @@ TrgTorrentModel *trg_torrent_model_new(void) } void trg_torrent_model_update(TrgTorrentModel * model, trg_client * tc, - JsonObject * response, - trg_torrent_model_update_stats * stats, - gboolean first) + JsonObject * response, + trg_torrent_model_update_stats * stats, + gboolean first) { int i; JsonArray *newTorrents; @@ -277,31 +277,34 @@ void trg_torrent_model_update(TrgTorrentModel * model, trg_client * tc, stats->count = json_array_get_length(newTorrents); for (i = 0; i < stats->count; i++) { - GtkTreeIter iter; - JsonObject *t; - - t = json_array_get_object_element(newTorrents, i); - - if (first == TRUE - || find_existing_model_item(GTK_TREE_MODEL(model), TORRENT_COLUMN_ID, torrent_get_id(t), &iter) == FALSE) { - gtk_list_store_append(GTK_LIST_STORE(model), &iter); - update_torrent_iter(tc->updateSerial, model, &iter, t, stats); - if (!first) - g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, - &iter); - } else { - update_torrent_iter(tc->updateSerial, model, &iter, t, stats); - } + GtkTreeIter iter; + JsonObject *t; + + t = json_array_get_object_element(newTorrents, i); + + if (first == TRUE + || find_existing_model_item(GTK_TREE_MODEL(model), + TORRENT_COLUMN_ID, + torrent_get_id(t), + &iter) == FALSE) { + gtk_list_store_append(GTK_LIST_STORE(model), &iter); + update_torrent_iter(tc->updateSerial, model, &iter, t, stats); + if (!first) + g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, + &iter); + } else { + update_torrent_iter(tc->updateSerial, model, &iter, t, stats); + } } json_array_ref(newTorrents); if (tc->torrents != NULL) - json_array_unref(tc->torrents); + json_array_unref(tc->torrents); tc->torrents = newTorrents; trg_model_remove_removed(GTK_LIST_STORE(model), - TORRENT_COLUMN_UPDATESERIAL, - tc->updateSerial); + TORRENT_COLUMN_UPDATESERIAL, + tc->updateSerial); } diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index b486737..cc8c695 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -45,11 +45,11 @@ G_BEGIN_DECLS typedef struct { GtkListStoreClass parent_class; void (*torrent_completed) (TrgTorrentModel * model, - GtkTreeIter * iter, JsonObject * t, - gpointer data); + GtkTreeIter * iter, JsonObject * t, + gpointer data); void (*torrent_added) (TrgTorrentModel * model, - GtkTreeIter * iter, JsonObject * t, - gpointer data); + GtkTreeIter * iter, JsonObject * t, + gpointer data); } TrgTorrentModelClass; typedef struct { @@ -68,12 +68,12 @@ TrgTorrentModel *trg_torrent_model_new(); G_END_DECLS gboolean find_existing_peer_item(GtkListStore * model, JsonObject * p, - GtkTreeIter * iter); + GtkTreeIter * iter); void trg_torrent_model_update(TrgTorrentModel * model, trg_client * tc, - JsonObject * response, - trg_torrent_model_update_stats * stats, - gboolean first); + JsonObject * response, + trg_torrent_model_update_stats * stats, + gboolean first); enum { TORRENT_COLUMN_ICON, @@ -96,4 +96,4 @@ enum { TORRENT_COLUMN_COLUMNS }; -#endif /* TRG_TORRENT_MODEL_H_ */ +#endif /* TRG_TORRENT_MODEL_H_ */ diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c index 895b269..9e5df10 100644 --- a/src/trg-torrent-move-dialog.c +++ b/src/trg-torrent-move-dialog.c @@ -29,7 +29,7 @@ #include "dispatch.h" G_DEFINE_TYPE(TrgTorrentMoveDialog, trg_torrent_move_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_MOVE_DIALOG, TrgTorrentMoveDialogPrivate)) typedef struct _TrgTorrentMoveDialogPrivate @@ -52,20 +52,20 @@ static void trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_ACCEPT) { - gchar *location = - gtk_combo_box_get_active_text(GTK_COMBO_BOX - (priv->location_combo)); - JsonNode *request = torrent_set_location(priv->ids, location, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON - (priv->move_check))); - g_free(location); - dispatch_async(priv->client, request, - on_generic_interactive_action, data); + gchar *location = + gtk_combo_box_get_active_text(GTK_COMBO_BOX + (priv->location_combo)); + JsonNode *request = torrent_set_location(priv->ids, location, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON + (priv->move_check))); + g_free(location); + dispatch_async(priv->client, request, + on_generic_interactive_action, data); } else { - json_array_unref(priv->ids); + json_array_unref(priv->ids); } gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -73,9 +73,9 @@ trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data) static void location_changed(GtkWidget * w, gpointer data) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(data); gchar *location = - gtk_combo_box_get_active_text(GTK_COMBO_BOX(priv->location_combo)); + gtk_combo_box_get_active_text(GTK_COMBO_BOX(priv->location_combo)); gtk_widget_set_sensitive(priv->move_button, strlen(location) > 0); g_free(location); } @@ -83,7 +83,7 @@ static void location_changed(GtkWidget * w, gpointer data) static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(self); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(self); GtkWidget *w, *t; gint row = 0; @@ -94,15 +94,15 @@ static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) w = hig_workarea_add_row(t, &row, "Location:", w, NULL); priv->move_check = - hig_workarea_add_wide_checkbutton(t, &row, "Move", TRUE); + hig_workarea_add_wide_checkbutton(t, &row, "Move", TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(self), TRUE); gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_CLOSE, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); priv->move_button = - gtk_dialog_add_button(GTK_DIALOG(self), "Move", - GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button(GTK_DIALOG(self), "Move", + GTK_RESPONSE_ACCEPT); gtk_widget_set_sensitive(priv->move_button, FALSE); gtk_container_set_border_width(GTK_CONTAINER(self), GUI_PAD); @@ -110,8 +110,8 @@ static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) gtk_dialog_set_default_response(GTK_DIALOG(self), GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(self), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD); @@ -119,12 +119,12 @@ static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) } TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, - trg_client * client, - TrgTorrentTreeView * ttv) + trg_client * client, + TrgTorrentTreeView * ttv) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_MOVE_DIALOG, NULL); TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(obj); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(obj); gint count; gchar *msg; @@ -134,33 +134,33 @@ TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, priv->ids = build_json_id_array(ttv); count = - gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection - (GTK_TREE_VIEW(ttv))); + gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection + (GTK_TREE_VIEW(ttv))); if (count == 1) { - GtkTreeIter iter; - JsonObject *json; - gchar *name; - const gchar *current_location; - get_first_selected(client, ttv, &iter, &json); - gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(ttv)), - &iter, TORRENT_COLUMN_NAME, &name, -1); - current_location = torrent_get_download_dir(json); - gtk_combo_box_append_text(GTK_COMBO_BOX(priv->location_combo), - current_location); - gtk_combo_box_set_active(GTK_COMBO_BOX(priv->location_combo), 0); - msg = g_strdup_printf("Move %s", name); - g_free(name); + GtkTreeIter iter; + JsonObject *json; + gchar *name; + const gchar *current_location; + get_first_selected(client, ttv, &iter, &json); + gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(ttv)), + &iter, TORRENT_COLUMN_NAME, &name, -1); + current_location = torrent_get_download_dir(json); + gtk_combo_box_append_text(GTK_COMBO_BOX(priv->location_combo), + current_location); + gtk_combo_box_set_active(GTK_COMBO_BOX(priv->location_combo), 0); + msg = g_strdup_printf("Move %s", name); + g_free(name); } else { - msg = g_strdup_printf("Move %d torrents", count); + msg = g_strdup_printf("Move %d torrents", count); } gtk_window_set_transient_for(GTK_WINDOW(obj), GTK_WINDOW(win)); gtk_window_set_title(GTK_WINDOW(obj), msg); g_signal_connect(G_OBJECT(obj), - "response", - G_CALLBACK(trg_torrent_move_response_cb), win); + "response", + G_CALLBACK(trg_torrent_move_response_cb), win); return TRG_TORRENT_MOVE_DIALOG(obj); } diff --git a/src/trg-torrent-move-dialog.h b/src/trg-torrent-move-dialog.h index 3791b1d..34ed63c 100644 --- a/src/trg-torrent-move-dialog.h +++ b/src/trg-torrent-move-dialog.h @@ -49,9 +49,9 @@ typedef struct { GType trg_torrent_move_dialog_get_type(void); TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, - trg_client * client, - TrgTorrentTreeView * - ttv); + trg_client * client, + TrgTorrentTreeView * + ttv); G_END_DECLS -#endif /* TRG_TORRENT_MOVE_DIALOG_H_ */ +#endif /* TRG_TORRENT_MOVE_DIALOG_H_ */ diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 827e643..266360e 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -34,7 +34,7 @@ #include "hig.h" G_DEFINE_TYPE(TrgTorrentPropsDialog, trg_torrent_props_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) enum { PROP_0, @@ -63,51 +63,51 @@ struct _TrgTorrentPropsDialogPrivate { static void trg_torrent_props_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_PARENT_WINDOW: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_TREEVIEW: - priv->tv = g_value_get_object(value); - break; + priv->tv = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; } } static void trg_torrent_props_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_TREEVIEW: - g_value_set_object(value, priv->tv); - break; + g_value_set_object(value, priv->tv); + break; case PROP_PARENT_WINDOW: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; } } static void trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv; JsonNode *request; @@ -116,38 +116,40 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, priv = TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(dlg); if (res_id != GTK_RESPONSE_ACCEPT) { - gtk_widget_destroy(GTK_WIDGET(dlg)); - return; + gtk_widget_destroy(GTK_WIDGET(dlg)); + return; } request = torrent_set(priv->targetIds); args = node_get_arguments(request); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->honor_limits_check), args); + (priv->honor_limits_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->down_limited_check), args); + (priv->down_limited_check), args); gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON - (priv->up_limited_check), args); + (priv->up_limited_check), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->down_limit_spin), args); + (priv->down_limit_spin), args); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON(priv->up_limit_spin), - args); + args); gtk_spin_button_json_double_out(GTK_SPIN_BUTTON - (priv->seedRatioLimit), args); + (priv->seedRatioLimit), args); json_object_set_int_member(args, FIELD_SEED_RATIO_MODE, - gtk_combo_box_get_active(GTK_COMBO_BOX - (priv->seedRatioMode))); + gtk_combo_box_get_active(GTK_COMBO_BOX + (priv-> + seedRatioMode))); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, - gtk_combo_box_get_active(GTK_COMBO_BOX - (priv->bandwidthPriorityCombo)) - + 1); + gtk_combo_box_get_active(GTK_COMBO_BOX + (priv-> + bandwidthPriorityCombo)) + + 1); gtk_spin_button_json_int_out(GTK_SPIN_BUTTON - (priv->peer_limit_spin), args); + (priv->peer_limit_spin), args); dispatch_async(priv->client, request, - on_generic_interactive_action, priv->parent); + on_generic_interactive_action, priv->parent); gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -155,15 +157,15 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, static void seed_ratio_mode_changed_cb(GtkWidget * w, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_combo_box_get_active(GTK_COMBO_BOX(w)) - == 1 ? TRUE : FALSE); + gtk_combo_box_get_active(GTK_COMBO_BOX(w)) + == 1 ? TRUE : FALSE); } static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, - JsonObject * json) + JsonObject * json) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(win); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -172,10 +174,10 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, hig_workarea_add_section_title(t, &row, "Bandwidth"); w = priv->honor_limits_check = - hig_workarea_add_wide_checkbutton(t, &row, - "Honor global limits", - torrent_get_honors_session_limits - (json)); + hig_workarea_add_wide_checkbutton(t, &row, + "Honor global limits", + torrent_get_honors_session_limits + (json)); widget_set_json_key(w, FIELD_HONORS_SESSION_LIMITS); w = priv->bandwidthPriorityCombo = gtk_combo_box_new_text(); @@ -184,33 +186,33 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, gtk_combo_box_append_text(GTK_COMBO_BOX(w), "Normal"); gtk_combo_box_append_text(GTK_COMBO_BOX(w), "High"); gtk_combo_box_set_active(GTK_COMBO_BOX(w), - torrent_get_bandwidth_priority(json) + 1); + torrent_get_bandwidth_priority(json) + 1); hig_workarea_add_row(t, &row, "Torrent priority:", w, NULL); tb = priv->down_limited_check = gtk_check_button_new_with_mnemonic - ("Limit download speed (Kbps)"); + ("Limit download speed (Kbps)"); widget_set_json_key(tb, FIELD_DOWNLOAD_LIMITED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - torrent_get_download_limited(json)); + torrent_get_download_limited(json)); w = priv->down_limit_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(w, FIELD_DOWNLOAD_LIMIT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - torrent_get_download_limit(json)); + torrent_get_download_limit(json)); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = priv->up_limited_check = gtk_check_button_new_with_mnemonic - ("Limit upload speed (Kbps)"); + ("Limit upload speed (Kbps)"); widget_set_json_key(tb, FIELD_UPLOAD_LIMITED); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), - torrent_get_upload_limited(json)); + torrent_get_upload_limited(json)); w = priv->up_limit_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(w, FIELD_UPLOAD_LIMIT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - torrent_get_upload_limit(json)); + torrent_get_upload_limit(json)); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, "Seeding"); @@ -220,38 +222,38 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, gtk_combo_box_append_text(GTK_COMBO_BOX(w), "Use global settings"); gtk_combo_box_append_text(GTK_COMBO_BOX(w), "Stop seeding at ratio"); gtk_combo_box_append_text(GTK_COMBO_BOX(w), - "Seed regardless of ratio"); + "Seed regardless of ratio"); gtk_combo_box_set_active(GTK_COMBO_BOX(w), - torrent_get_seed_ratio_mode(json)); + torrent_get_seed_ratio_mode(json)); hig_workarea_add_row(t, &row, "Seed ratio mode:", w, NULL); w = priv->seedRatioLimit = - gtk_spin_button_new_with_range(0, INT_MAX, 0.2); + gtk_spin_button_new_with_range(0, INT_MAX, 0.2); gtk_widget_set_sensitive(GTK_WIDGET(w), FALSE); widget_set_json_key(GTK_WIDGET(w), FIELD_SEED_RATIO_LIMIT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - torrent_get_seed_ratio_limit(json)); + torrent_get_seed_ratio_limit(json)); hig_workarea_add_row(t, &row, "Seed ratio limit:", w, w); g_signal_connect(G_OBJECT(priv->seedRatioMode), "changed", - G_CALLBACK(seed_ratio_mode_changed_cb), w); + G_CALLBACK(seed_ratio_mode_changed_cb), w); hig_workarea_add_section_title(t, &row, "Peers"); w = priv->peer_limit_spin = - gtk_spin_button_new_with_range(0, INT_MAX, 5); + gtk_spin_button_new_with_range(0, INT_MAX, 5); widget_set_json_key(GTK_WIDGET(w), FIELD_PEER_LIMIT); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - torrent_get_peer_limit(json)); + torrent_get_peer_limit(json)); hig_workarea_add_row(t, &row, "Peer limit:", w, w); return t; } static GObject *trg_torrent_props_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object; TrgTorrentPropsDialogPrivate *priv; @@ -262,9 +264,9 @@ static GObject *trg_torrent_props_dialog_constructor(GType type, GtkWidget *notebook; object = G_OBJECT_CLASS - (trg_torrent_props_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_props_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); @@ -274,47 +276,47 @@ static GObject *trg_torrent_props_dialog_constructor(GType type, priv->targetIds = build_json_id_array(priv->tv); if (rowCount > 1) { - gchar *windowTitle = - g_strdup_printf("Multiple (%d) torrent properties", - rowCount); - gtk_window_set_title(GTK_WINDOW(object), windowTitle); - g_free(windowTitle); + gchar *windowTitle = + g_strdup_printf("Multiple (%d) torrent properties", + rowCount); + gtk_window_set_title(GTK_WINDOW(object), windowTitle); + g_free(windowTitle); } else if (rowCount == 1) { - gtk_window_set_title(GTK_WINDOW(object), torrent_get_name(json)); + gtk_window_set_title(GTK_WINDOW(object), torrent_get_name(json)); } gtk_window_set_transient_for(GTK_WINDOW(object), priv->parent); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_APPLY, - GTK_RESPONSE_ACCEPT); + GTK_RESPONSE_ACCEPT); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_set_alternative_button_order(GTK_DIALOG(object), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CLOSE, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CLOSE, -1); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_torrent_props_response_cb), NULL); + "response", + G_CALLBACK(trg_torrent_props_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_props_limitsPage - (TRG_TORRENT_PROPS_DIALOG(object), json), - gtk_label_new("Limits")); + trg_props_limitsPage + (TRG_TORRENT_PROPS_DIALOG(object), json), + gtk_label_new("Limits")); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(object)->vbox), notebook, - TRUE, TRUE, 0); + TRUE, TRUE, 0); return object; } @@ -331,39 +333,39 @@ trg_torrent_props_dialog_class_init(TrgTorrentPropsDialogClass * klass) g_type_class_add_private(klass, sizeof(TrgTorrentPropsDialogPrivate)); g_object_class_install_property(object_class, - PROP_TREEVIEW, - g_param_spec_object - ("torrent-tree-view", - "TrgTorrentTreeView", - "TrgTorrentTreeView", - TRG_TYPE_TORRENT_TREE_VIEW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_TREEVIEW, + g_param_spec_object + ("torrent-tree-view", + "TrgTorrentTreeView", + "TrgTorrentTreeView", + TRG_TYPE_TORRENT_TREE_VIEW, + 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_PARENT_WINDOW, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", GTK_TYPE_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT_WINDOW, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", GTK_TYPE_WINDOW, + 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_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)); + 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)); } static void @@ -373,12 +375,12 @@ trg_torrent_props_dialog_init(TrgTorrentPropsDialog * self G_GNUC_UNUSED) } TrgTorrentPropsDialog *trg_torrent_props_dialog_new(GtkWindow * window, - TrgTorrentTreeView * - treeview, - trg_client * client) + TrgTorrentTreeView * + treeview, + trg_client * client) { return g_object_new(TRG_TYPE_TORRENT_PROPS_DIALOG, - "parent-window", window, - "torrent-tree-view", treeview, - "trg-client", client, NULL); + "parent-window", window, + "torrent-tree-view", treeview, + "trg-client", client, NULL); } diff --git a/src/trg-torrent-props-dialog.h b/src/trg-torrent-props-dialog.h index f1bda78..e8bce84 100644 --- a/src/trg-torrent-props-dialog.h +++ b/src/trg-torrent-props-dialog.h @@ -49,9 +49,9 @@ typedef struct { GType trg_torrent_props_dialog_get_type(void); TrgTorrentPropsDialog *trg_torrent_props_dialog_new(GtkWindow * window, - TrgTorrentTreeView * - treeview, - trg_client * client); + TrgTorrentTreeView * + treeview, + trg_client * client); G_END_DECLS -#endif /* TRG_TORRENT_PROPS_DIALOG_H_ */ +#endif /* TRG_TORRENT_PROPS_DIALOG_H_ */ diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index 8f9e8c4..4f9110a 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -24,45 +24,45 @@ #include "trg-torrent-tree-view.h" G_DEFINE_TYPE(TrgTorrentTreeView, trg_torrent_tree_view, - TRG_TYPE_TREE_VIEW) + TRG_TYPE_TREE_VIEW) static void trg_torrent_tree_view_class_init(TrgTorrentTreeViewClass * - klass G_GNUC_UNUSED) + klass G_GNUC_UNUSED) { } static void trg_torrent_tree_view_init(TrgTorrentTreeView * tv) { trg_tree_view_add_pixbuf_text_column(TRG_TREE_VIEW(tv), - TORRENT_COLUMN_ICON, - TORRENT_COLUMN_NAME, "Name", 300); + TORRENT_COLUMN_ICON, + TORRENT_COLUMN_NAME, "Name", 300); trg_tree_view_add_size_column(TRG_TREE_VIEW(tv), "Size", - TORRENT_COLUMN_SIZE, -1); + TORRENT_COLUMN_SIZE, -1); trg_tree_view_add_prog_column(TRG_TREE_VIEW(tv), "Done", - TORRENT_COLUMN_DONE, 70); + TORRENT_COLUMN_DONE, 70); trg_tree_view_add_column(TRG_TREE_VIEW(tv), "Status", - TORRENT_COLUMN_STATUS); + TORRENT_COLUMN_STATUS); trg_tree_view_add_column(TRG_TREE_VIEW(tv), "Seeds", - TORRENT_COLUMN_SEEDS); + TORRENT_COLUMN_SEEDS); trg_tree_view_add_column(TRG_TREE_VIEW(tv), "Leechers", - TORRENT_COLUMN_LEECHERS); + TORRENT_COLUMN_LEECHERS); trg_tree_view_add_speed_column(TRG_TREE_VIEW(tv), "Down Speed", - TORRENT_COLUMN_DOWNSPEED, -1); + TORRENT_COLUMN_DOWNSPEED, -1); trg_tree_view_add_speed_column(TRG_TREE_VIEW(tv), "Up Speed", - TORRENT_COLUMN_UPSPEED, -1); + TORRENT_COLUMN_UPSPEED, -1); trg_tree_view_add_eta_column(TRG_TREE_VIEW(tv), "ETA", - TORRENT_COLUMN_ETA, -1); + TORRENT_COLUMN_ETA, -1); trg_tree_view_add_size_column(TRG_TREE_VIEW(tv), "Uploaded", - TORRENT_COLUMN_UPLOADED, -1); + TORRENT_COLUMN_UPLOADED, -1); trg_tree_view_add_size_column(TRG_TREE_VIEW(tv), "Downloaded", - TORRENT_COLUMN_DOWNLOADED, -1); + TORRENT_COLUMN_DOWNLOADED, -1); trg_tree_view_add_ratio_column(TRG_TREE_VIEW(tv), "Ratio", - TORRENT_COLUMN_RATIO, -1); + TORRENT_COLUMN_RATIO, -1); } gint get_first_selected(trg_client * client, TrgTorrentTreeView * view, - GtkTreeIter * iter, JsonObject ** json) + GtkTreeIter * iter, JsonObject ** json) { GtkTreeModel *model; GtkTreeSelection *selection; @@ -77,16 +77,16 @@ gint get_first_selected(trg_client * client, TrgTorrentTreeView * view, selectionList = gtk_tree_selection_get_selected_rows(selection, NULL); if ((firstNode = g_list_first(selectionList)) != NULL) { - if (gtk_tree_model_get_iter(model, iter, firstNode->data) == TRUE) { - gtk_tree_model_get(model, iter, - TORRENT_COLUMN_JSON, json, - TORRENT_COLUMN_ID, &id, - TORRENT_COLUMN_UPDATESERIAL, &updateSerial, - -1); - - if (updateSerial < client->updateSerial) - id = -1; - } + if (gtk_tree_model_get_iter(model, iter, firstNode->data) == TRUE) { + gtk_tree_model_get(model, iter, + TORRENT_COLUMN_JSON, json, + TORRENT_COLUMN_ID, &id, + TORRENT_COLUMN_UPDATESERIAL, &updateSerial, + -1); + + if (updateSerial < client->updateSerial) + id = -1; + } } g_list_free(selectionList); @@ -96,10 +96,10 @@ gint get_first_selected(trg_client * client, TrgTorrentTreeView * view, static void trg_torrent_model_get_json_id_array_foreach(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonArray *output = (JsonArray *) data; gint64 id; @@ -110,13 +110,13 @@ trg_torrent_model_get_json_id_array_foreach(GtkTreeModel * model, JsonArray *build_json_id_array(TrgTorrentTreeView * tv) { GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); JsonArray *ids = json_array_new(); gtk_tree_selection_selected_foreach(selection, - (GtkTreeSelectionForeachFunc) - trg_torrent_model_get_json_id_array_foreach, - ids); + (GtkTreeSelectionForeachFunc) + trg_torrent_model_get_json_id_array_foreach, + ids); return ids; } diff --git a/src/trg-torrent-tree-view.h b/src/trg-torrent-tree-view.h index 50f3f82..bb6aa8e 100644 --- a/src/trg-torrent-tree-view.h +++ b/src/trg-torrent-tree-view.h @@ -52,7 +52,7 @@ GType trg_torrent_tree_view_get_type(void); TrgTorrentTreeView *trg_torrent_tree_view_new(GtkTreeModel * model); JsonArray *build_json_id_array(TrgTorrentTreeView * tv); gint get_first_selected(trg_client * client, TrgTorrentTreeView * view, - GtkTreeIter * iter, JsonObject ** json); + GtkTreeIter * iter, JsonObject ** json); G_END_DECLS -#endif /* _TRG_TORRENT_TREE_VIEW_H_ */ +#endif /* _TRG_TORRENT_TREE_VIEW_H_ */ diff --git a/src/trg-trackers-model.c b/src/trg-trackers-model.c index 500adcd..6e2a888 100644 --- a/src/trg-trackers-model.c +++ b/src/trg-trackers-model.c @@ -19,7 +19,6 @@ #include #include -#include #include "config.h" #include "torrent.h" @@ -27,7 +26,6 @@ #include "trg-trackers-model.h" G_DEFINE_TYPE(TrgTrackersModel, trg_trackers_model, GTK_TYPE_LIST_STORE) - #define TRG_TRACKERS_MODEL_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TRACKERS_MODEL, TrgTrackersModelPrivate)) typedef struct _TrgTrackersModelPrivate TrgTrackersModelPrivate; @@ -39,8 +37,8 @@ struct _TrgTrackersModelPrivate { void trg_trackers_model_set_no_selection(TrgTrackersModel * model) { - TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); - priv->torrentId = -1; + TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); + priv->torrentId = -1; } gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model) @@ -49,9 +47,11 @@ gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model) return priv->torrentId; } -void trg_trackers_model_update(TrgTrackersModel * model, gint64 updateSerial, JsonObject * t, gboolean first) +void trg_trackers_model_update(TrgTrackersModel * model, + gint64 updateSerial, JsonObject * t, + gboolean first) { - TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); + TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); guint j; JsonArray *trackers; @@ -59,62 +59,67 @@ void trg_trackers_model_update(TrgTrackersModel * model, gint64 updateSerial, Js const gchar *scrape; if (first) { - gtk_list_store_clear(GTK_LIST_STORE(model)); - priv->torrentId = torrent_get_id(t); - } else if (priv->updateBarrier == TRACKERS_UPDATE_BARRIER_FULL || (priv->updateBarrier >= 0 && priv->updateBarrier > updateSerial)) { - return; + gtk_list_store_clear(GTK_LIST_STORE(model)); + priv->torrentId = torrent_get_id(t); + } else if (priv->updateBarrier == TRACKERS_UPDATE_BARRIER_FULL + || (priv->updateBarrier >= 0 + && priv->updateBarrier > updateSerial)) { + return; } trackers = torrent_get_trackers(t); for (j = 0; j < json_array_get_length(trackers); j++) { - GtkTreeIter trackIter; - JsonObject *tracker = - json_node_get_object(json_array_get_element(trackers, j)); - gint64 trackerId = tracker_get_id(tracker); + GtkTreeIter trackIter; + JsonObject *tracker = + json_node_get_object(json_array_get_element(trackers, j)); + gint64 trackerId = tracker_get_id(tracker); - announce = tracker_get_announce(tracker); - scrape = tracker_get_scrape(tracker); + announce = tracker_get_announce(tracker); + scrape = tracker_get_scrape(tracker); - if (first || find_existing_model_item(GTK_TREE_MODEL(model), TRACKERCOL_ID, trackerId, &trackIter) == FALSE) - gtk_list_store_append(GTK_LIST_STORE(model), &trackIter); + if (first + || find_existing_model_item(GTK_TREE_MODEL(model), + TRACKERCOL_ID, trackerId, + &trackIter) == FALSE) + gtk_list_store_append(GTK_LIST_STORE(model), &trackIter); #ifdef DEBUG - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ICON, GTK_STOCK_NETWORK, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_TIER, tracker_get_tier(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ANNOUNCE, announce, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_SCRAPE, scrape, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, TRACKERCOL_ID, trackerId, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, TRACKERCOL_UPDATESERIAL, updateSerial, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ICON, GTK_STOCK_NETWORK, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_TIER, tracker_get_tier(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ANNOUNCE, announce, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_SCRAPE, scrape, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ID, trackerId, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_UPDATESERIAL, updateSerial, -1); #else - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ICON, GTK_STOCK_NETWORK, - TRACKERCOL_ID, trackerId, - TRACKERCOL_UPDATESERIAL, updateSerial, - TRACKERCOL_TIER, - tracker_get_tier(tracker), - TRACKERCOL_ANNOUNCE, - announce, TRACKERCOL_SCRAPE, scrape, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ICON, GTK_STOCK_NETWORK, + TRACKERCOL_ID, trackerId, + TRACKERCOL_UPDATESERIAL, updateSerial, + TRACKERCOL_TIER, + tracker_get_tier(tracker), + TRACKERCOL_ANNOUNCE, + announce, TRACKERCOL_SCRAPE, scrape, -1); #endif } trg_model_remove_removed(GTK_LIST_STORE(model), - TRACKERCOL_UPDATESERIAL, - updateSerial); + TRACKERCOL_UPDATESERIAL, updateSerial); } -static void -trg_trackers_model_class_init(TrgTrackersModelClass * klass) +static void trg_trackers_model_class_init(TrgTrackersModelClass * klass) { - g_type_class_add_private(klass, sizeof(TrgTrackersModelPrivate)); + g_type_class_add_private(klass, sizeof(TrgTrackersModelPrivate)); } void trg_trackers_model_set_update_barrier(TrgTrackersModel * model, - gint64 barrier) + gint64 barrier) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); priv->updateBarrier = barrier; @@ -122,7 +127,7 @@ void trg_trackers_model_set_update_barrier(TrgTrackersModel * model, static void trg_trackers_model_init(TrgTrackersModel * self) { - TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(self); + TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(self); GType column_types[TRACKERCOL_COLUMNS]; @@ -137,7 +142,7 @@ static void trg_trackers_model_init(TrgTrackersModel * self) priv->torrentId = -1; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - TRACKERCOL_COLUMNS, column_types); + TRACKERCOL_COLUMNS, column_types); } TrgTrackersModel *trg_trackers_model_new(void) diff --git a/src/trg-trackers-model.h b/src/trg-trackers-model.h index 735249b..ab60eff 100644 --- a/src/trg-trackers-model.h +++ b/src/trg-trackers-model.h @@ -51,10 +51,11 @@ GType trg_trackers_model_get_type(void); TrgTrackersModel *trg_trackers_model_new(void); G_END_DECLS - -void trg_trackers_model_update(TrgTrackersModel * model, gint64 updateSerial, JsonObject * t, gboolean first); + void trg_trackers_model_update(TrgTrackersModel * model, + gint64 updateSerial, JsonObject * t, + gboolean first); void trg_trackers_model_set_update_barrier(TrgTrackersModel * model, - gint64 serial); + gint64 serial); gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model); void trg_trackers_model_set_no_selection(TrgTrackersModel * model); @@ -68,4 +69,4 @@ enum { TRACKERCOL_COLUMNS }; -#endif /* TRG_TRACKERS_MODEL_H_ */ +#endif /* TRG_TRACKERS_MODEL_H_ */ diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index 6d9bbdd..3ed4d4d 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -30,31 +30,30 @@ #include "trg-main-window.h" G_DEFINE_TYPE(TrgTrackersTreeView, trg_trackers_tree_view, - TRG_TYPE_TREE_VIEW) - + TRG_TYPE_TREE_VIEW) #define TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TRACKERS_TREE_VIEW, TrgTrackersTreeViewPrivate)) - typedef struct _TrgTrackersTreeViewPrivate TrgTrackersTreeViewPrivate; struct _TrgTrackersTreeViewPrivate { trg_client *client; GtkCellRenderer *announceRenderer; + GtkTreeViewColumn *announceColumn; TrgMainWindow *win; }; static void -trg_trackers_tree_view_class_init(TrgTrackersTreeViewClass *klass) +trg_trackers_tree_view_class_init(TrgTrackersTreeViewClass * klass) { - g_type_class_add_private(klass, sizeof(TrgTrackersTreeViewPrivate)); + g_type_class_add_private(klass, sizeof(TrgTrackersTreeViewPrivate)); } static void trg_trackers_tree_view_json_id_array_foreach(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonArray *output = (JsonArray *) data; gint64 id; @@ -65,205 +64,271 @@ trg_trackers_tree_view_json_id_array_foreach(GtkTreeModel * model, static JsonArray *trackers_build_json_id_array(TrgTrackersTreeView * tv) { GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); JsonArray *ids = json_array_new(); gtk_tree_selection_selected_foreach(selection, - (GtkTreeSelectionForeachFunc) - trg_trackers_tree_view_json_id_array_foreach, - ids); - - if (json_array_get_length(ids) < 1) - { - json_array_unref(ids); - return NULL; + (GtkTreeSelectionForeachFunc) + trg_trackers_tree_view_json_id_array_foreach, + ids); + + if (json_array_get_length(ids) < 1) { + json_array_unref(ids); + return NULL; } return ids; } -void trg_trackers_tree_view_new_connection(TrgTrackersTreeView *tv, trg_client *tc) +void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, + trg_client * tc) { - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); - gboolean editable = trg_client_supports_tracker_edit(tc); - - g_object_set(priv->announceRenderer, "editable", editable, NULL); - g_object_set(priv->announceRenderer, "mode", editable ? GTK_CELL_RENDERER_MODE_EDITABLE : GTK_CELL_RENDERER_MODE_INERT, NULL); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); + gboolean editable = trg_client_supports_tracker_edit(tc); + + g_object_set(priv->announceRenderer, "editable", editable, NULL); + g_object_set(priv->announceRenderer, "mode", + editable ? GTK_CELL_RENDERER_MODE_EDITABLE : + GTK_CELL_RENDERER_MODE_INERT, NULL); } -static void trg_tracker_announce_edited(GtkCellRendererText *renderer, - gchar *path, - gchar *new_text, - gpointer user_data) +static void trg_tracker_announce_edited(GtkCellRendererText * renderer, + gchar * path, + gchar * new_text, + gpointer user_data) { - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); - gint64 torrentId = trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); - JsonArray *torrentIds = json_array_new(); - JsonArray *modPairs = json_array_new(); - - gint64 trackerId; - JsonNode *req; - JsonObject *args; - GtkTreeIter iter; - - gtk_tree_model_get_iter_from_string(model, &iter, path); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ANNOUNCE, new_text, -1); - gtk_tree_model_get(model, &iter, TRACKERCOL_ID, &trackerId, -1); - - json_array_add_int_element(torrentIds, torrentId); - - req = torrent_set(torrentIds); - args = node_get_arguments(req); - - json_array_add_int_element(modPairs, trackerId); - json_array_add_string_element(modPairs, new_text); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); + GtkTreeModel *model = + gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); + gint64 torrentId = + trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); + JsonArray *torrentIds = json_array_new(); + JsonArray *trackerModifiers = json_array_new(); + + gint64 trackerId; + JsonNode *req; + JsonObject *args; + GtkTreeIter iter; + gchar *icon; + + gtk_tree_model_get_iter_from_string(model, &iter, path); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ANNOUNCE, + new_text, -1); + gtk_tree_model_get(model, &iter, TRACKERCOL_ID, &trackerId, + TRACKERCOL_ICON, &icon, -1); + + json_array_add_int_element(torrentIds, torrentId); + + req = torrent_set(torrentIds); + args = node_get_arguments(req); + + if (g_strcmp0(icon, GTK_STOCK_ADD) == 0) { + json_array_add_string_element(trackerModifiers, new_text); + json_object_set_array_member(args, "trackerAdd", trackerModifiers); + } else { + json_array_add_int_element(trackerModifiers, trackerId); + json_array_add_string_element(trackerModifiers, new_text); + json_object_set_array_member(args, "trackerReplace", + trackerModifiers); + } - json_object_set_array_member(args, "trackerReplace", modPairs); + g_free(icon); - trg_trackers_model_set_update_barrier(TRG_TRACKERS_MODEL(model), priv->client->updateSerial+1); + trg_trackers_model_set_update_barrier(TRG_TRACKERS_MODEL(model), + priv->client->updateSerial + 1); - dispatch_async(priv->client, req, on_generic_interactive_action, priv->win); + dispatch_async(priv->client, req, on_generic_interactive_action, + priv->win); } -static void trg_tracker_announce_editing_started(GtkCellRenderer *renderer, - GtkCellEditable *editable, - gchar *path, - gpointer user_data) +static void trg_tracker_announce_editing_started(GtkCellRenderer * + renderer, + GtkCellEditable * + editable, gchar * path, + gpointer user_data) { - TrgTrackersModel *model = TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(user_data))); - trg_trackers_model_set_update_barrier(model, TRACKERS_UPDATE_BARRIER_FULL); + TrgTrackersModel *model = + TRG_TRACKERS_MODEL(gtk_tree_view_get_model + (GTK_TREE_VIEW(user_data))); + trg_trackers_model_set_update_barrier(model, + TRACKERS_UPDATE_BARRIER_FULL); } -static void trg_tracker_announce_editing_canceled(GtkWidget *w, gpointer data) +static void trg_tracker_announce_editing_canceled(GtkWidget * w, + gpointer data) { - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); - TrgTrackersModel *model = TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + TrgTrackersModel *model = + TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); - trg_trackers_model_set_update_barrier(model, priv->client->updateSerial+1); + trg_trackers_model_set_update_barrier(model, + priv->client->updateSerial + 1); } static void trg_trackers_tree_view_init(TrgTrackersTreeView * self) { - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(self); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(self); trg_tree_view_add_pixbuf_text_column(TRG_TREE_VIEW(self), - TRACKERCOL_ICON, - TRACKERCOL_TIER, "Tier", -1); - - priv->announceRenderer = trg_tree_view_add_column(TRG_TREE_VIEW(self), "Announce URL", - TRACKERCOL_ANNOUNCE); - g_signal_connect(priv->announceRenderer, "edited", G_CALLBACK(trg_tracker_announce_edited), self); - g_signal_connect(priv->announceRenderer, "editing-canceled", G_CALLBACK(trg_tracker_announce_editing_canceled), self); - g_signal_connect(priv->announceRenderer, "editing-started", G_CALLBACK(trg_tracker_announce_editing_started), self); + TRACKERCOL_ICON, + TRACKERCOL_TIER, "Tier", -1); + + priv->announceRenderer = gtk_cell_renderer_text_new(); + g_signal_connect(priv->announceRenderer, "edited", + G_CALLBACK(trg_tracker_announce_edited), self); + g_signal_connect(priv->announceRenderer, "editing-canceled", + G_CALLBACK(trg_tracker_announce_editing_canceled), + self); + g_signal_connect(priv->announceRenderer, "editing-started", + G_CALLBACK(trg_tracker_announce_editing_started), + self); + + priv->announceColumn = + gtk_tree_view_column_new_with_attributes("Announce URL", + priv->announceRenderer, + "text", + TRACKERCOL_ANNOUNCE, + NULL); + + trg_tree_view_std_column_setup(priv->announceColumn, + TRACKERCOL_ANNOUNCE, -1); + gtk_tree_view_append_column(GTK_TREE_VIEW(self), priv->announceColumn); trg_tree_view_add_column(TRG_TREE_VIEW(self), "Scrape URL", - TRACKERCOL_SCRAPE); + TRACKERCOL_SCRAPE); } -static void add_tracker(GtkWidget *w, gpointer data) +static void add_tracker(GtkWidget * w, gpointer data) { - GtkTreeView *tv = GTK_TREE_VIEW(data); - GtkTreeModel *model = gtk_tree_view_get_model(tv); - GtkTreeIter iter; + GtkTreeView *tv = GTK_TREE_VIEW(data); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + GtkTreeModel *model = gtk_tree_view_get_model(tv); + GtkTreeIter iter; + GtkTreePath *path; - gtk_list_store_append(GTK_LIST_STORE(model), &iter); + gtk_list_store_append(GTK_LIST_STORE(model), &iter); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ICON, + GTK_STOCK_ADD, -1); + + path = gtk_tree_model_get_path(model, &iter); + gtk_tree_view_set_cursor(tv, path, priv->announceColumn, TRUE); + gtk_tree_path_free(path); } -static void delete_tracker(GtkWidget *w, gpointer data) +static void delete_tracker(GtkWidget * w, gpointer data) { - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); - TrgTrackersTreeView *tv = TRG_TRACKERS_TREE_VIEW(data); - TrgTrackersModel *model = TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); - - JsonArray *trackerIds, *torrentIds; - JsonNode *req; - JsonObject *args; + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + TrgTrackersTreeView *tv = TRG_TRACKERS_TREE_VIEW(data); + TrgTrackersModel *model = + TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); - if ((trackerIds = trackers_build_json_id_array(tv)) == NULL) - return; + JsonArray *trackerIds, *torrentIds; + JsonNode *req; + JsonObject *args; - torrentIds = json_array_new(); - json_array_add_int_element(torrentIds, trg_trackers_model_get_torrent_id(model)); + if ((trackerIds = trackers_build_json_id_array(tv)) == NULL) + return; - req = torrent_set(torrentIds); + torrentIds = json_array_new(); + json_array_add_int_element(torrentIds, + trg_trackers_model_get_torrent_id(model)); - args = node_get_arguments(req); + req = torrent_set(torrentIds); + args = node_get_arguments(req); - json_object_set_array_member(args, "trackerRemove", trackerIds); + json_object_set_array_member(args, "trackerRemove", trackerIds); - dispatch_async(priv->client, req, on_generic_interactive_action, priv->win); + dispatch_async(priv->client, req, on_generic_interactive_action, + priv->win); } static void view_popup_menu_add_only(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); - menuitem = trg_menu_bar_item_new(GTK_MENU_SHELL(menu), "Add", GTK_STOCK_ADD, TRUE); - g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), treeview); + menuitem = + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), "Add", GTK_STOCK_ADD, + TRUE); + g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), + treeview); 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 void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); - menuitem = trg_menu_bar_item_new(GTK_MENU_SHELL(menu), "Delete", GTK_STOCK_DELETE, TRUE); - g_signal_connect(menuitem, "activate", G_CALLBACK(delete_tracker), treeview); + menuitem = + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), "Delete", + GTK_STOCK_DELETE, TRUE); + g_signal_connect(menuitem, "activate", G_CALLBACK(delete_tracker), + treeview); - menuitem = trg_menu_bar_item_new(GTK_MENU_SHELL(menu), "Add", GTK_STOCK_ADD, TRUE); - g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), treeview); + menuitem = + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), "Add", GTK_STOCK_ADD, + TRUE); + g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), + treeview); 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 gboolean view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(treeview); - TrgTrackersModel *model = TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(treeview))); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(treeview); + TrgTrackersModel *model = + TRG_TRACKERS_MODEL(gtk_tree_view_get_model + (GTK_TREE_VIEW(treeview))); GtkTreeSelection *selection; GtkTreePath *path; if (!trg_client_supports_tracker_edit(priv->client)) - return FALSE; + return FALSE; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - gtk_tree_path_free(path); - - view_popup_menu(treeview, event, userdata); - return TRUE; - } else if (trg_trackers_model_get_torrent_id(model) >= 0) { - view_popup_menu_add_only(treeview, event, userdata); - } + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + gtk_tree_path_free(path); + + view_popup_menu(treeview, event, userdata); + return TRUE; + } else if (trg_trackers_model_get_torrent_id(model) >= 0) { + view_popup_menu_add_only(treeview, event, userdata); + } } return FALSE; @@ -275,15 +340,18 @@ static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) return TRUE; } -TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, trg_client *client, TrgMainWindow *win) +TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, + trg_client * client, + TrgMainWindow * win) { GObject *obj = g_object_new(TRG_TYPE_TRACKERS_TREE_VIEW, NULL); - TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(obj); + TrgTrackersTreeViewPrivate *priv = + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(obj); g_signal_connect(obj, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(obj, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); priv->client = client; diff --git a/src/trg-trackers-tree-view.h b/src/trg-trackers-tree-view.h index 0f03bfa..a6e61ae 100644 --- a/src/trg-trackers-tree-view.h +++ b/src/trg-trackers-tree-view.h @@ -50,8 +50,11 @@ typedef struct { GType trg_trackers_tree_view_get_type(void); -TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, trg_client *client, TrgMainWindow *win); -void trg_trackers_tree_view_new_connection(TrgTrackersTreeView *tv, trg_client *tc); +TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, + trg_client * client, + TrgMainWindow * win); +void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, + trg_client * tc); G_END_DECLS -#endif /* TRG_TRACKERS_TREE_VIEW_H_ */ +#endif /* TRG_TRACKERS_TREE_VIEW_H_ */ diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index e92bdbc..14ac8d3 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -28,16 +28,16 @@ G_DEFINE_TYPE(TrgTreeView, trg_tree_view, GTK_TYPE_TREE_VIEW) void trg_tree_view_std_column_setup(GtkTreeViewColumn * column, int index, - int width) + int width) { gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_reorderable(column, TRUE); gtk_tree_view_column_set_sort_column_id(column, index); if (width > 0) { - gtk_tree_view_column_set_sizing(column, - GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_fixed_width(column, width); + gtk_tree_view_column_set_sizing(column, + GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_fixed_width(column, width); } } @@ -52,96 +52,97 @@ static void trg_tree_view_init(TrgTreeView * tv) gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tv), TRUE); gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tv), TRUE); gtk_tree_selection_set_mode(gtk_tree_view_get_selection - (GTK_TREE_VIEW(tv)), - GTK_SELECTION_MULTIPLE); + (GTK_TREE_VIEW(tv)), + GTK_SELECTION_MULTIPLE); gtk_widget_set_sensitive(GTK_WIDGET(tv), FALSE); } void trg_tree_view_add_size_column(TrgTreeView * tv, char *title, - int index, int width) + int index, int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = trg_cell_renderer_size_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "size-value", - index, NULL); + "size-value", + index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); } void trg_tree_view_add_eta_column(TrgTreeView * tv, char *title, int index, - int width) + int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = trg_cell_renderer_eta_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "eta-value", - index, NULL); + "eta-value", + index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); } void trg_tree_view_add_prog_column(TrgTreeView * tv, - gchar * title, gint index, gint width) + gchar * title, gint index, gint width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_progress_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "value", index, - NULL); + "value", index, + NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); } void trg_tree_view_add_speed_column(TrgTreeView * tv, char *title, - int index, int width) + int index, int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = trg_cell_renderer_speed_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "speed-value", - index, NULL); + "speed-value", + index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); } void trg_tree_view_add_ratio_column(TrgTreeView * tv, char *title, - int index, int width) + int index, int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = trg_cell_renderer_ratio_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "ratio-value", - index, NULL); + "ratio-value", + index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); } -GtkCellRenderer *trg_tree_view_add_column_fixed_width(TrgTreeView * tv, char *title, - int index, int width) +GtkCellRenderer *trg_tree_view_add_column_fixed_width(TrgTreeView * tv, + char *title, + int index, int width) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(title, renderer, - "text", index, NULL); + "text", index, NULL); trg_tree_view_std_column_setup(column, index, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); @@ -151,9 +152,9 @@ GtkCellRenderer *trg_tree_view_add_column_fixed_width(TrgTreeView * tv, char *ti void trg_tree_view_add_pixbuf_text_column(TrgTreeView * tv, - int iconIndex, - int nameIndex, - gchar * text, int width) + int iconIndex, + int nameIndex, + gchar * text, int width) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; @@ -164,12 +165,12 @@ trg_tree_view_add_pixbuf_text_column(TrgTreeView * tv, gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(column), text); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_attributes(column, renderer, "stock-id", - iconIndex, NULL); + iconIndex, NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_attributes(column, renderer, "text", - nameIndex, NULL); + nameIndex, NULL); trg_tree_view_std_column_setup(column, nameIndex, width); gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index fe225fe..0c59f36 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -48,27 +48,29 @@ GtkWidget *trg_tree_view_new(void); G_END_DECLS #define trg_tree_view_add_column(tv, title, index) trg_tree_view_add_column_fixed_width(tv, title, index, -1) -GtkCellRenderer *trg_tree_view_add_column_fixed_width(TrgTreeView * treeview, - char *title, int index, - int width); + GtkCellRenderer * trg_tree_view_add_column_fixed_width(TrgTreeView * + treeview, + char *title, + int index, + int width); void trg_tree_view_add_pixbuf_text_column(TrgTreeView * - treeview, - int iconIndex, - int nameIndex, - gchar * text, int width); + treeview, + int iconIndex, + int nameIndex, + gchar * text, int width); void trg_tree_view_add_speed_column(TrgTreeView * tv, char *title, - int index, int width); + int index, int width); void trg_tree_view_add_size_column(TrgTreeView * tv, char *title, - int index, int width); + int index, int width); void trg_tree_view_add_prog_column(TrgTreeView * tv, gchar * title, - gint index, gint width); + gint index, gint width); void trg_tree_view_add_ratio_column(TrgTreeView * tv, char *title, - int index, int width); + int index, int width); void trg_tree_view_add_eta_column(TrgTreeView * tv, char *title, int index, - int width); + int width); void trg_tree_view_std_column_setup(GtkTreeViewColumn * column, int index, - int width); + int width); -#endif /* _TRG_TREE_VIEW_H_ */ +#endif /* _TRG_TREE_VIEW_H_ */ diff --git a/src/util.c b/src/util.c index bd6bb9e..3621e4d 100644 --- a/src/util.c +++ b/src/util.c @@ -36,26 +36,26 @@ const gchar *make_error_message(JsonObject * response, int status) { if (status == FAIL_JSON_DECODE) { - return g_strdup("JSON decoding error."); + return g_strdup("JSON decoding error."); } else if (status == FAIL_RESPONSE_UNSUCCESSFUL) { - const gchar *resultStr = - json_object_get_string_member(response, "result"); - if (resultStr == NULL) - return g_strdup("Server responded, but with no result."); - else - return g_strdup(resultStr); + const gchar *resultStr = + json_object_get_string_member(response, "result"); + if (resultStr == NULL) + return g_strdup("Server responded, but with no result."); + else + return g_strdup(resultStr); } else if (status <= -100) { - return g_strdup_printf("Request failed with HTTP code %d", - -(status + 100)); + return g_strdup_printf("Request failed with HTTP code %d", + -(status + 100)); } else { - return g_strdup(curl_easy_strerror(status)); + return g_strdup(curl_easy_strerror(status)); } } void response_unref(JsonObject * response) { if (response != NULL) - json_object_unref(response); + json_object_unref(response); } char *tr_strlpercent(char *buf, double x, size_t buflen) @@ -67,11 +67,11 @@ char *tr_strpercent(char *buf, double x, size_t buflen) { int precision; if (x < 10.0) - precision = 2; + precision = 2; else if (x < 100.0) - precision = 1; + precision = 1; else - precision = 0; + precision = 0; tr_snprintf(buf, buflen, "%.*f%%", precision, tr_truncd(x, precision)); return buf; @@ -85,18 +85,18 @@ double tr_truncd(double x, int decimal_places) } char *tr_strratio(char *buf, size_t buflen, double ratio, - const char *infinity) + const char *infinity) { if ((int) ratio == TR_RATIO_NA) - tr_strlcpy(buf, "None", buflen); + tr_strlcpy(buf, "None", buflen); else if ((int) ratio == TR_RATIO_INF) - tr_strlcpy(buf, infinity, buflen); + tr_strlcpy(buf, infinity, buflen); else if (ratio < 10.0) - tr_snprintf(buf, buflen, "%.2f", tr_truncd(ratio, 2)); + tr_snprintf(buf, buflen, "%.2f", tr_truncd(ratio, 2)); else if (ratio < 100.0) - tr_snprintf(buf, buflen, "%.1f", tr_truncd(ratio, 1)); + tr_snprintf(buf, buflen, "%.1f", tr_truncd(ratio, 1)); else - tr_snprintf(buf, buflen, "%'.0f", ratio); + tr_snprintf(buf, buflen, "%'.0f", ratio); return buf; } @@ -108,30 +108,30 @@ char *tr_strlratio(char *buf, double ratio, size_t buflen) char *tr_strlsize(char *buf, guint64 size, size_t buflen) { if (!size) - g_strlcpy(buf, "None", buflen); + g_strlcpy(buf, "None", buflen); #if GLIB_CHECK_VERSION( 2, 16, 0 ) else { - char *tmp = g_format_size_for_display(size); - g_strlcpy(buf, tmp, buflen); - g_free(tmp); + char *tmp = g_format_size_for_display(size); + g_strlcpy(buf, tmp, buflen); + g_free(tmp); } #else else if (size < (guint64) KILOBYTE_FACTOR) - g_snprintf(buf, buflen, - ngettext("%'u byte", "%'u bytes", (guint) size), - (guint) size); + g_snprintf(buf, buflen, + ngettext("%'u byte", "%'u bytes", (guint) size), + (guint) size); else { - gdouble displayed_size; - if (size < (guint64) MEGABYTE_FACTOR) { - displayed_size = (gdouble) size / KILOBYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f KB"), displayed_size); - } else if (size < (guint64) GIGABYTE_FACTOR) { - displayed_size = (gdouble) size / MEGABYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f MB"), displayed_size); - } else { - displayed_size = (gdouble) size / GIGABYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f GB"), displayed_size); - } + gdouble displayed_size; + if (size < (guint64) MEGABYTE_FACTOR) { + displayed_size = (gdouble) size / KILOBYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f KB"), displayed_size); + } else if (size < (guint64) GIGABYTE_FACTOR) { + displayed_size = (gdouble) size / MEGABYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f MB"), displayed_size); + } else { + displayed_size = (gdouble) size / GIGABYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f GB"), displayed_size); + } } #endif return buf; @@ -141,14 +141,14 @@ char *tr_strlspeed(char *buf, double kb_sec, size_t buflen) { const double speed = kb_sec; - if (speed < 1000.0) /* 0.0 KB to 999.9 KB */ - g_snprintf(buf, buflen, "%.1f KB/s", speed); - else if (speed < 102400.0) /* 0.98 MB to 99.99 MB */ - g_snprintf(buf, buflen, "%.2f MB/s", (speed / KILOBYTE_FACTOR)); - else if (speed < 1024000.0) /* 100.0 MB to 999.9 MB */ - g_snprintf(buf, buflen, "%.1f MB/s", (speed / MEGABYTE_FACTOR)); - else /* insane speeds */ - g_snprintf(buf, buflen, "%.2f GB/s", (speed / GIGABYTE_FACTOR)); + if (speed < 1000.0) /* 0.0 KB to 999.9 KB */ + g_snprintf(buf, buflen, "%.1f KB/s", speed); + else if (speed < 102400.0) /* 0.98 MB to 99.99 MB */ + g_snprintf(buf, buflen, "%.2f MB/s", (speed / KILOBYTE_FACTOR)); + else if (speed < 1024000.0) /* 100.0 MB to 999.9 MB */ + g_snprintf(buf, buflen, "%.1f MB/s", (speed / MEGABYTE_FACTOR)); + else /* insane speeds */ + g_snprintf(buf, buflen, "%.2f GB/s", (speed / GIGABYTE_FACTOR)); return buf; } @@ -158,7 +158,7 @@ char *tr_strltime_short(char *buf, gint64 seconds, size_t buflen) int hours, minutes; if (seconds < 0) - seconds = 0; + seconds = 0; hours = seconds / 3600; minutes = (seconds % 3600) / 60; @@ -175,7 +175,7 @@ char *tr_strltime_long(char *buf, gint64 seconds, size_t buflen) char d[128], h[128], m[128], s[128]; if (seconds < 0) - seconds = 0; + seconds = 0; days = seconds / 86400; hours = (seconds % 86400) / 3600; @@ -185,30 +185,30 @@ char *tr_strltime_long(char *buf, gint64 seconds, size_t buflen) g_snprintf(d, sizeof(d), days > 1 ? "%d days" : "%d day", days); g_snprintf(h, sizeof(h), hours > 1 ? "%d hours" : "%d hour", hours); g_snprintf(m, sizeof(m), minutes > 1 ? "%d minutes" : "%d minute", - minutes); + minutes); g_snprintf(s, sizeof(s), - seconds > 1 ? "%ld seconds" : "%ld second", seconds); + seconds > 1 ? "%ld seconds" : "%ld second", seconds); if (days) { - if (days >= 4 || !hours) { - g_strlcpy(buf, d, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", d, h); - } + if (days >= 4 || !hours) { + g_strlcpy(buf, d, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", d, h); + } } else if (hours) { - if (hours >= 4 || !minutes) { - g_strlcpy(buf, h, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", h, m); - } + if (hours >= 4 || !minutes) { + g_strlcpy(buf, h, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", h, m); + } } else if (minutes) { - if (minutes >= 4 || !seconds) { - g_strlcpy(buf, m, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", m, s); - } + if (minutes >= 4 || !seconds) { + g_strlcpy(buf, m, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", m, s); + } } else { - g_strlcpy(buf, s, buflen); + g_strlcpy(buf, s, buflen); } return buf; @@ -221,7 +221,7 @@ char *gtr_localtime(time_t time) g_strlcpy(buf, asctime(&tm), sizeof(buf)); if ((eoln = strchr(buf, '\n'))) - *eoln = '\0'; + *eoln = '\0'; return g_locale_to_utf8(buf, -1, NULL, NULL, NULL); } @@ -256,20 +256,20 @@ size_t tr_strlcpy(char *dst, const void *src, size_t siz) /* Copy as many bytes as will fit */ if (n != 0) { - while (--n != 0) { - if ((*d++ = *s++) == '\0') - break; - } + while (--n != 0) { + if ((*d++ = *s++) == '\0') + break; + } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { - if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++); + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++); } - return s - (char *) src - 1; /* count does not include NUL */ + return s - (char *) src - 1; /* count does not include NUL */ #endif } @@ -280,9 +280,9 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) int r = _vsnprintf(buf, buflen, format, ap); buf[buflen - 1] = '\0'; if (r >= 0) - return r; + return r; else - return _vscprintf(format, ap); + return _vscprintf(format, ap); #else int r = vsnprintf(buf, buflen, format, ap); buf[buflen - 1] = '\0'; diff --git a/src/util.h b/src/util.h index edfc7e8..72b3b07 100644 --- a/src/util.h +++ b/src/util.h @@ -41,7 +41,7 @@ char *tr_strltime_short(char *buf, gint64 seconds, size_t buflen); char *tr_strpercent(char *buf, double x, size_t buflen); char *tr_strlpercent(char *buf, double x, size_t buflen); char *tr_strratio(char *buf, size_t buflen, double ratio, - const char *infinity); + const char *infinity); char *tr_strlratio(char *buf, double ratio, size_t buflen); char *tr_strlspeed(char *buf, double kb_sec, size_t buflen); char *tr_strlsize(char *buf, guint64 size, size_t buflen); @@ -52,8 +52,8 @@ int tr_snprintf(char *buf, size_t buflen, const char *fmt, ...); size_t tr_strlcpy(char *dst, const void *src, size_t siz); double tr_truncd(double x, int decimal_places); int evutil_vsnprintf(char *buf, size_t buflen, const char *format, - va_list ap); + va_list ap); void response_unref(JsonObject * response); const gchar *make_error_message(JsonObject * response, int status); -#endif /* UTIL_H_ */ +#endif /* UTIL_H_ */ -- cgit v1.2.3 From 134e52f88ae48ba186ac813d6763aed22d8da4b6 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Tue, 20 Sep 2011 20:20:29 +0000 Subject: issue 120 --- src/trg-main-window.c | 2 +- src/trg-peers-model.c | 108 +++++++++++++++++++++----------------------------- src/trg-peers-model.h | 4 +- src/trg-tree-view.c | 19 +++++++++ src/trg-tree-view.h | 1 + 5 files changed, 69 insertions(+), 65 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 58d3725..db68ea3 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -242,7 +242,7 @@ static void update_selected_torrent_notebook(TrgMainWindow * win, gint 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_client_get_serial(client), + trg_peers_model_update(priv->peersModel, TRG_TREE_VIEW(priv->peersTreeView), trg_client_get_serial(client), t, mode); } else if (id < 0) { trg_main_window_torrent_scrub(win); diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index c9a64e1..2b75ecb 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -30,6 +30,7 @@ #include #endif +#include "trg-tree-view.h" #include "torrent.h" #include "trg-client.h" #include "tpeer.h" @@ -48,19 +49,14 @@ struct _TrgPeersModelPrivate { }; #endif -static void -trg_peers_model_class_init(TrgPeersModelClass * klass G_GNUC_UNUSED) -{ +static void trg_peers_model_class_init(TrgPeersModelClass * klass G_GNUC_UNUSED) { #ifdef HAVE_GEOIP g_type_class_add_private(klass, sizeof(TrgPeersModelPrivate)); #endif } -gboolean -find_existing_peer_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) -{ +gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, + GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) { struct peerAndIter *pi = (struct peerAndIter *) data; gchar *ip; @@ -73,16 +69,14 @@ find_existing_peer_item_foreachfunc(GtkTreeModel * model, return pi->found; } -gboolean -find_existing_peer_item(TrgPeersModel * model, JsonObject * p, - GtkTreeIter * iter) -{ +gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, + GtkTreeIter * iter) { struct peerAndIter pi; pi.ip = peer_get_address(p); pi.found = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - find_existing_peer_item_foreachfunc, &pi); + find_existing_peer_item_foreachfunc, &pi); if (pi.found == TRUE) *iter = pi.iter; @@ -90,9 +84,8 @@ find_existing_peer_item(TrgPeersModel * model, JsonObject * p, return pi.found; } -static void resolved_dns_cb(GObject * source_object, - GAsyncResult * res, gpointer data) -{ +static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, + gpointer data) { GtkTreeRowReference *treeRef; GtkTreeModel *model; GtkTreePath *path; @@ -102,15 +95,14 @@ static void resolved_dns_cb(GObject * source_object, path = gtk_tree_row_reference_get_path(treeRef); if (path != NULL) { - gchar *rdns = - g_resolver_lookup_by_address_finish(G_RESOLVER(source_object), - res, NULL); + gchar *rdns = g_resolver_lookup_by_address_finish( + G_RESOLVER(source_object), res, NULL); if (rdns != NULL) { GtkTreeIter iter; if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { gdk_threads_enter(); - gtk_list_store_set(GTK_LIST_STORE(model), - &iter, PEERSCOL_HOST, rdns, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, PEERSCOL_HOST, + rdns, -1); gdk_threads_leave(); } g_free(rdns); @@ -121,13 +113,14 @@ static void resolved_dns_cb(GObject * source_object, gtk_tree_row_reference_free(treeRef); } -void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, - JsonObject * t, gint mode) -{ +void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, + gint64 updateSerial, JsonObject * t, gint mode) { #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + gboolean doGeoLookup = trg_tree_view_is_column_showing(tv, PEERSCOL_COUNTRY); #endif + gboolean doHostLookup = trg_tree_view_is_column_showing(tv, PEERSCOL_HOST); JsonArray *peers; GtkTreeIter peerIter; GList *li, *peersList; @@ -146,23 +139,21 @@ void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, const gchar *country = NULL; #endif - if (mode == TORRENT_GET_MODE_FIRST - || find_existing_peer_item(model, peer, &peerIter) == FALSE) { + if (mode == TORRENT_GET_MODE_FIRST || find_existing_peer_item(model, + peer, &peerIter) == FALSE) { gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (priv->geoip) + if (priv->geoip && doGeoLookup) country = GeoIP_country_name_by_addr(priv->geoip, address); #endif - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_ICON, GTK_STOCK_NETWORK, - PEERSCOL_IP, address, + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, PEERSCOL_ICON, + GTK_STOCK_NETWORK, PEERSCOL_IP, address, #ifdef HAVE_GEOIP - PEERSCOL_COUNTRY, country ? country : "", + PEERSCOL_COUNTRY, country ? country : "", #endif - PEERSCOL_CLIENT, peer_get_client_name(peer), - -1); + PEERSCOL_CLIENT, peer_get_client_name(peer), -1); isNew = TRUE; } else { @@ -170,21 +161,17 @@ void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, } flagStr = peer_get_flagstr(peer); - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_FLAGS, flagStr, - PEERSCOL_PROGRESS, - peer_get_progress(peer), - PEERSCOL_DOWNSPEED, - peer_get_rate_to_client(peer), - PEERSCOL_UPSPEED, - peer_get_rate_to_peer(peer), - PEERSCOL_UPDATESERIAL, updateSerial, -1); - - if (isNew == TRUE) { - GtkTreePath *path = - gtk_tree_model_get_path(GTK_TREE_MODEL(model), &peerIter); - GtkTreeRowReference *treeRef = - gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, PEERSCOL_FLAGS, + flagStr, PEERSCOL_PROGRESS, peer_get_progress(peer), + PEERSCOL_DOWNSPEED, peer_get_rate_to_client(peer), + PEERSCOL_UPSPEED, peer_get_rate_to_peer(peer), + PEERSCOL_UPDATESERIAL, updateSerial, -1); + + if (doHostLookup && isNew == TRUE) { + GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), + &peerIter); + GtkTreeRowReference *treeRef = gtk_tree_row_reference_new( + GTK_TREE_MODEL(model), path); GInetAddress *inetAddr; GResolver *resolver; @@ -192,9 +179,8 @@ void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, inetAddr = g_inet_address_new_from_string(address); resolver = g_resolver_get_default(); - g_resolver_lookup_by_address_async(resolver, - inetAddr, NULL, - resolved_dns_cb, treeRef); + g_resolver_lookup_by_address_async(resolver, inetAddr, NULL, + resolved_dns_cb, treeRef); g_object_unref(resolver); g_object_unref(inetAddr); } @@ -203,12 +189,11 @@ void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, g_list_free(peersList); if (mode != TORRENT_GET_MODE_FIRST) - trg_model_remove_removed(GTK_LIST_STORE(model), - PEERSCOL_UPDATESERIAL, updateSerial); + trg_model_remove_removed(GTK_LIST_STORE(model), PEERSCOL_UPDATESERIAL, + updateSerial); } -static void trg_peers_model_init(TrgPeersModel * self) -{ +static void trg_peers_model_init(TrgPeersModel * self) { #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(self); #endif @@ -228,19 +213,16 @@ static void trg_peers_model_init(TrgPeersModel * self) column_types[PEERSCOL_CLIENT] = G_TYPE_STRING; column_types[PEERSCOL_UPDATESERIAL] = G_TYPE_INT64; - gtk_list_store_set_column_types(GTK_LIST_STORE(self), - PEERSCOL_COLUMNS, column_types); + gtk_list_store_set_column_types(GTK_LIST_STORE(self), PEERSCOL_COLUMNS, + column_types); #ifdef HAVE_GEOIP if (g_file_test(TRG_GEOIP_DATABASE, G_FILE_TEST_EXISTS) == TRUE) - priv->geoip = - GeoIP_open(TRG_GEOIP_DATABASE, - GEOIP_STANDARD | GEOIP_CHECK_CACHE); + priv->geoip = GeoIP_open(TRG_GEOIP_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); #endif } - -TrgPeersModel *trg_peers_model_new() -{ +TrgPeersModel *trg_peers_model_new() { return g_object_new(TRG_TYPE_PEERS_MODEL, NULL); } diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 95dcce2..6a4a83c 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -32,6 +32,8 @@ #endif #include +#include "trg-tree-view.h" + G_BEGIN_DECLS #define TRG_TYPE_PEERS_MODEL trg_peers_model_get_type() #define TRG_PEERS_MODEL(obj) \ @@ -78,7 +80,7 @@ enum { PEERSCOL_COLUMNS }; -void trg_peers_model_update(TrgPeersModel * model, gint64 updateSerial, +void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, gint64 updateSerial, JsonObject * t, gboolean first); #endif /* TRG_PEERS_MODEL_H_ */ diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index 175f294..0ad4024 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -48,6 +48,25 @@ struct _TrgTreeViewPrivate { TrgPrefs *prefs; }; +gboolean trg_tree_view_is_column_showing(TrgTreeView *tv, gint index) +{ + TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); + + GList *li; + for (li = priv->columns; li; li = g_list_next(li)) + { + trg_column_description *cd = (trg_column_description*)li->data; + if (cd->model_column == index) { + if (cd->flags & TRG_COLUMN_SHOWING) + return TRUE; + else + break; + } + } + + return FALSE; +} + static void trg_tree_view_get_property(GObject * object, guint property_id, GValue * value, GParamSpec * pspec) diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index 7a512dd..ac9bb52 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -91,5 +91,6 @@ void trg_tree_view_setup_columns(TrgTreeView * tv); void trg_tree_view_set_prefs(TrgTreeView *tv, TrgPrefs *prefs); void trg_tree_view_persist(TrgTreeView * tv); void trg_tree_view_restore_sort(TrgTreeView * tv); +gboolean trg_tree_view_is_column_showing(TrgTreeView *tv, gint index); #endif /* _TRG_TREE_VIEW_H_ */ -- cgit v1.2.3 From 579d63656354be1e92e0625136c46d24192d826a Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sat, 8 Oct 2011 16:12:40 +0000 Subject: apply patch for ipv6 geoip support --- src/trg-peers-model.c | 12 ++++++++++-- src/trg-peers-model.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 2b75ecb..4305d8c 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -46,6 +46,7 @@ typedef struct _TrgPeersModelPrivate TrgPeersModelPrivate; struct _TrgPeersModelPrivate { GeoIP *geoip; + GeoIP *geoipv6; }; #endif @@ -145,8 +146,12 @@ void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (priv->geoip && doGeoLookup) - country = GeoIP_country_name_by_addr(priv->geoip, address); + if (address && doGeoLookup) { // just in case address wasn't set + if (strchr(address,':') && priv->geoipv6) + country = GeoIP_country_name_by_addr_v6(priv->geoipv6, address); + else if (priv->geoip) + country = GeoIP_country_name_by_addr(priv->geoip, address); + } #endif gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, PEERSCOL_ICON, GTK_STOCK_NETWORK, PEERSCOL_IP, address, @@ -220,6 +225,9 @@ static void trg_peers_model_init(TrgPeersModel * self) { if (g_file_test(TRG_GEOIP_DATABASE, G_FILE_TEST_EXISTS) == TRUE) priv->geoip = GeoIP_open(TRG_GEOIP_DATABASE, GEOIP_STANDARD | GEOIP_CHECK_CACHE); + if (g_file_test(TRG_GEOIPV6_DATABASE, G_FILE_TEST_EXISTS) == TRUE) + priv->geoipv6 = GeoIP_open(TRG_GEOIPV6_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); #endif } diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 6a4a83c..1544bda 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -86,3 +86,4 @@ void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, gint64 updat #endif /* TRG_PEERS_MODEL_H_ */ #define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" +#define TRG_GEOIPV6_DATABASE "/usr/share/GeoIP/GeoIPv6.dat" -- cgit v1.2.3 From 0d08a471f9ebfdfadded6c92abc700c706475644 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 11 Dec 2011 15:06:01 +0000 Subject: run GNU indent everything. not done this for a while because it was producing weird results. seems ok now. --- src/bencode.c | 236 +++++------ src/bencode.h | 26 +- src/hig.c | 68 +-- src/hig.h | 52 +-- src/json.c | 45 +- src/json.h | 4 +- src/main.c | 326 +++++++------- src/protocol-constants.h | 26 +- src/remote-exec.c | 240 +++++------ src/remote-exec.h | 6 +- src/requests.c | 57 +-- src/requests.h | 4 +- src/session-get.c | 26 +- src/session-get.h | 10 +- src/torrent.c | 345 +++++++-------- src/torrent.h | 53 +-- src/trg-about-window.c | 46 +- src/trg-about-window.h | 2 +- src/trg-cell-renderer-epoch.c | 90 ++-- src/trg-cell-renderer-epoch.h | 2 +- src/trg-cell-renderer-eta.c | 74 ++-- src/trg-cell-renderer-eta.h | 2 +- src/trg-cell-renderer-numgteqthan.c | 128 +++--- src/trg-cell-renderer-numgteqthan.h | 2 +- src/trg-cell-renderer-priority.c | 68 +-- src/trg-cell-renderer-priority.h | 2 +- src/trg-cell-renderer-ratio.c | 68 +-- src/trg-cell-renderer-ratio.h | 2 +- src/trg-cell-renderer-size.c | 66 +-- src/trg-cell-renderer-size.h | 2 +- src/trg-cell-renderer-speed.c | 70 +-- src/trg-cell-renderer-speed.h | 2 +- src/trg-client.c | 344 +++++++-------- src/trg-client.h | 95 ++--- src/trg-destination-combo.c | 418 ++++++++++-------- src/trg-destination-combo.h | 13 +- src/trg-file-parser.c | 158 +++---- src/trg-file-parser.h | 2 +- src/trg-files-model.c | 106 ++--- src/trg-files-model.h | 4 +- src/trg-files-tree-view.c | 157 +++---- src/trg-files-tree-view.h | 6 +- src/trg-general-panel.c | 145 +++---- src/trg-general-panel.h | 7 +- src/trg-json-widgets.c | 120 ++++-- src/trg-json-widgets.h | 43 +- src/trg-main-window.c | 28 +- src/trg-main-window.h | 9 +- src/trg-menu-bar.c | 579 +++++++++++++------------ src/trg-menu-bar.h | 17 +- src/trg-model.c | 42 +- src/trg-model.h | 6 +- src/trg-peers-model.c | 185 ++++---- src/trg-peers-model.h | 7 +- src/trg-peers-tree-view.c | 21 +- src/trg-peers-tree-view.h | 5 +- src/trg-persistent-tree-view.c | 306 +++++++------ src/trg-persistent-tree-view.h | 38 +- src/trg-preferences-dialog.c | 687 ++++++++++++++++++------------ src/trg-preferences-dialog.h | 12 +- src/trg-prefs.c | 367 +++++++++------- src/trg-prefs.h | 109 +++-- src/trg-remote-prefs-dialog.c | 447 ++++++++++--------- src/trg-remote-prefs-dialog.h | 8 +- src/trg-sortable-filtered-model.c | 207 +++++---- src/trg-sortable-filtered-model.h | 24 +- src/trg-state-selector.c | 554 ++++++++++++++---------- src/trg-state-selector.h | 13 +- src/trg-stats-dialog.c | 204 ++++----- src/trg-stats-dialog.h | 4 +- src/trg-status-bar.c | 83 ++-- src/trg-status-bar.h | 17 +- src/trg-toolbar.c | 282 ++++++------ src/trg-toolbar.h | 6 +- src/trg-torrent-add-dialog.c | 825 ++++++++++++++++++------------------ src/trg-torrent-add-dialog.h | 6 +- src/trg-torrent-add-url-dialog.c | 78 ++-- src/trg-torrent-add-url-dialog.h | 5 +- src/trg-torrent-graph.c | 294 ++++++------- src/trg-torrent-graph.h | 4 +- src/trg-torrent-model.c | 657 +++++++++++++++------------- src/trg-torrent-model.h | 30 +- src/trg-torrent-move-dialog.c | 226 +++++----- src/trg-torrent-move-dialog.h | 8 +- src/trg-torrent-props-dialog.c | 242 ++++++----- src/trg-torrent-props-dialog.h | 8 +- src/trg-torrent-tree-view.c | 143 ++++--- src/trg-torrent-tree-view.h | 5 +- src/trg-trackers-model.c | 135 +++--- src/trg-trackers-model.h | 14 +- src/trg-trackers-tree-view.c | 253 +++++------ src/trg-trackers-tree-view.h | 8 +- src/trg-tree-view.c | 489 ++++++++++++--------- src/trg-tree-view.h | 23 +- src/util.c | 259 +++++------ src/util.h | 18 +- 96 files changed, 6370 insertions(+), 5395 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/bencode.c b/src/bencode.c index c9c9b6a..c6eb9e0 100644 --- a/src/bencode.c +++ b/src/bencode.c @@ -24,8 +24,8 @@ * into the public domain as well). */ -#include /* malloc() realloc() free() strtoll() */ -#include /* memset() */ +#include /* malloc() realloc() free() strtoll() */ +#include /* memset() */ #include #include @@ -36,7 +36,7 @@ static be_node *be_alloc(be_type type) { be_node *ret = g_malloc0(sizeof(be_node)); if (ret) - ret->type = type; + ret->type = type; return ret; } @@ -53,7 +53,7 @@ gint64 be_str_len(be_node * node) { gint64 ret = 0; if (node->val.s) - memcpy(&ret, node->val.s - sizeof(ret), sizeof(ret)); + memcpy(&ret, node->val.s - sizeof(ret), sizeof(ret)); return ret; } @@ -66,30 +66,30 @@ static char *_be_decode_str(const char **data, gint64 * data_len) /* slen is signed, so negative values get rejected */ if (sllen < 0) - return ret; + return ret; /* reject attempts to allocate large values that overflow the * size_t type which is used with malloc() */ if (sizeof(gint64) != sizeof(long)) - if (sllen != slen) - return ret; + if (sllen != slen) + return ret; /* make sure we have enough data left */ if (sllen > *data_len - 1) - return ret; + return ret; /* switch from signed to unsigned so we don't overflow below */ len = slen; if (**data == ':') { - char *_ret = g_malloc(sizeof(sllen) + len + 1); - memcpy(_ret, &sllen, sizeof(sllen)); - ret = _ret + sizeof(sllen); - memcpy(ret, *data + 1, len); - ret[len] = '\0'; - *data += len + 1; - *data_len -= len + 1; + char *_ret = g_malloc(sizeof(sllen) + len + 1); + memcpy(_ret, &sllen, sizeof(sllen)); + ret = _ret + sizeof(sllen); + memcpy(ret, *data + 1, len); + ret[len] = '\0'; + *data += len + 1; + *data_len -= len + 1; } return ret; } @@ -100,71 +100,71 @@ static be_node *_be_decode(const char **data, gint64 * data_len) char dc; if (!*data_len) - return ret; + return ret; dc = **data; if (dc == 'l') { - unsigned int i = 0; - - ret = be_alloc(BE_LIST); - - --(*data_len); - ++(*data); - while (**data != 'e') { - ret->val.l = - g_realloc(ret->val.l, (i + 2) * sizeof(*ret->val.l)); - ret->val.l[i] = _be_decode(data, data_len); - if (!ret->val.l[i]) - break; - ++i; - } - --(*data_len); - ++(*data); - - if (i > 0) - ret->val.l[i] = NULL; - - return ret; + unsigned int i = 0; + + ret = be_alloc(BE_LIST); + + --(*data_len); + ++(*data); + while (**data != 'e') { + ret->val.l = + g_realloc(ret->val.l, (i + 2) * sizeof(*ret->val.l)); + ret->val.l[i] = _be_decode(data, data_len); + if (!ret->val.l[i]) + break; + ++i; + } + --(*data_len); + ++(*data); + + if (i > 0) + ret->val.l[i] = NULL; + + return ret; } else if (dc == 'd') { - unsigned int i = 0; - - ret = be_alloc(BE_DICT); - - --(*data_len); - ++(*data); - while (**data != 'e') { - ret->val.d = - g_realloc(ret->val.d, (i + 2) * sizeof(*ret->val.d)); - ret->val.d[i].key = _be_decode_str(data, data_len); - ret->val.d[i].val = _be_decode(data, data_len); - if (!ret->val.l[i]) - break; - ++i; - } - --(*data_len); - ++(*data); - - if (i > 0) - ret->val.d[i].val = NULL; - - return ret; + unsigned int i = 0; + + ret = be_alloc(BE_DICT); + + --(*data_len); + ++(*data); + while (**data != 'e') { + ret->val.d = + g_realloc(ret->val.d, (i + 2) * sizeof(*ret->val.d)); + ret->val.d[i].key = _be_decode_str(data, data_len); + ret->val.d[i].val = _be_decode(data, data_len); + if (!ret->val.l[i]) + break; + ++i; + } + --(*data_len); + ++(*data); + + if (i > 0) + ret->val.d[i].val = NULL; + + return ret; } else if (dc == 'i') { - ret = be_alloc(BE_INT); + ret = be_alloc(BE_INT); - --(*data_len); - ++(*data); - ret->val.i = _be_decode_int(data, data_len); - if (**data != 'e') - return NULL; - --(*data_len); - ++(*data); + --(*data_len); + ++(*data); + ret->val.i = _be_decode_int(data, data_len); + if (**data != 'e') + return NULL; + --(*data_len); + ++(*data); - return ret; + return ret; } else if (isdigit(dc)) { - ret = be_alloc(BE_STR); + ret = be_alloc(BE_STR); - ret->val.s = _be_decode_str(data, data_len); - return ret; + ret->val.s = _be_decode_str(data, data_len); + return ret; } return ret; @@ -183,46 +183,46 @@ be_node *be_decode(const char *data) int be_validate_node(be_node * node, int type) { if (!node || node->type != type) - return 1; + return 1; else - return 0; + return 0; } static inline void _be_free_str(char *str) { if (str) - g_free(str - sizeof(gint64)); + g_free(str - sizeof(gint64)); } void be_free(be_node * node) { switch (node->type) { case BE_STR: - _be_free_str(node->val.s); - break; + _be_free_str(node->val.s); + break; case BE_INT: - break; + break; case BE_LIST:{ - unsigned int i; - if (node->val.l) { - for (i = 0; node->val.l[i]; ++i) - be_free(node->val.l[i]); - g_free(node->val.l); - } - break; - } + unsigned int i; + if (node->val.l) { + for (i = 0; node->val.l[i]; ++i) + be_free(node->val.l[i]); + g_free(node->val.l); + } + break; + } case BE_DICT:{ - unsigned int i; - for (i = 0; node->val.d[i].val; ++i) { - _be_free_str(node->val.d[i].key); - be_free(node->val.d[i].val); - } - g_free(node->val.d); - break; - } + unsigned int i; + for (i = 0; node->val.d[i].val; ++i) { + _be_free_str(node->val.d[i].key); + be_free(node->val.d[i].val); + } + g_free(node->val.d); + break; + } } g_free(node); } @@ -231,11 +231,11 @@ be_node *be_dict_find(be_node * node, char *key, int type) { int i; for (i = 0; node->val.d[i].val; ++i) { - if (!strcmp(node->val.d[i].key, key)) { - be_node *cn = node->val.d[i].val; - if (type < 0 || cn->type == type) - return node->val.d[i].val; - } + if (!strcmp(node->val.d[i].key, key)) { + be_node *cn = node->val.d[i].val; + if (type < 0 || cn->type == type) + return node->val.d[i].val; + } } return NULL; } @@ -247,7 +247,7 @@ be_node *be_dict_find(be_node * node, char *key, int type) static void _be_dump_indent(ssize_t indent) { while (indent-- > 0) - printf(" "); + printf(" "); } static void _be_dump(be_node * node, ssize_t indent) @@ -259,35 +259,35 @@ static void _be_dump(be_node * node, ssize_t indent) switch (node->type) { case BE_STR: - printf("str = %s (len = %lli)\n", node->val.s, be_str_len(node)); - break; + printf("str = %s (len = %lli)\n", node->val.s, be_str_len(node)); + break; case BE_INT: - printf("int = %lli\n", node->val.i); - break; + printf("int = %lli\n", node->val.i); + break; case BE_LIST: - puts("list ["); + puts("list ["); - for (i = 0; node->val.l[i]; ++i) - _be_dump(node->val.l[i], indent + 1); + for (i = 0; node->val.l[i]; ++i) + _be_dump(node->val.l[i], indent + 1); - _be_dump_indent(indent); - puts("]"); - break; + _be_dump_indent(indent); + puts("]"); + break; case BE_DICT: - puts("dict {"); + puts("dict {"); - for (i = 0; node->val.d[i].val; ++i) { - _be_dump_indent(indent + 1); - printf("%s => ", node->val.d[i].key); - _be_dump(node->val.d[i].val, -(indent + 1)); - } + for (i = 0; node->val.d[i].val; ++i) { + _be_dump_indent(indent + 1); + printf("%s => ", node->val.d[i].key); + _be_dump(node->val.d[i].val, -(indent + 1)); + } - _be_dump_indent(indent); - puts("}"); - break; + _be_dump_indent(indent); + puts("}"); + break; } } diff --git a/src/bencode.h b/src/bencode.h index 71760e0..344fc4f 100644 --- a/src/bencode.h +++ b/src/bencode.h @@ -24,10 +24,10 @@ extern "C" { #endif typedef enum { - BE_STR, - BE_INT, - BE_LIST, - BE_DICT + BE_STR, + BE_INT, + BE_LIST, + BE_DICT } be_type; struct be_dict; @@ -38,18 +38,18 @@ extern "C" { */ typedef struct be_dict { - char *key; - struct be_node *val; + char *key; + struct be_node *val; } be_dict; typedef struct be_node { - be_type type; - union { - char *s; - gint64 i; - struct be_node **l; - struct be_dict *d; - } val; + be_type type; + union { + char *s; + gint64 i; + struct be_node **l; + struct be_dict *d; + } val; } be_node; extern gint64 be_str_len(be_node * node); diff --git a/src/hig.c b/src/hig.c index 453a53b..3c0586f 100644 --- a/src/hig.c +++ b/src/hig.c @@ -34,7 +34,7 @@ void hig_workarea_add_section_divider(GtkWidget * t, int *row) void hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w) + int *row, GtkWidget * w) { gtk_table_attach(GTK_TABLE(t), w, 0, 2, *row, *row + 1, ~0, 0, 0, 0); ++*row; @@ -42,7 +42,7 @@ hig_workarea_add_section_title_widget(GtkWidget * t, void hig_workarea_add_section_title(GtkWidget * t, - int *row, const char *section_title) + int *row, const char *section_title) { char buf[512]; GtkWidget *l; @@ -66,9 +66,9 @@ static GtkWidget *rowNew(GtkWidget * w) /* lhs widget */ if (GTK_IS_MISC(w)) - gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); if (GTK_IS_LABEL(w)) - gtk_label_set_use_markup(GTK_LABEL(w), TRUE); + gtk_label_set_use_markup(GTK_LABEL(w), TRUE); gtk_box_pack_start(GTK_BOX(h), w, TRUE, TRUE, 0); return h; @@ -79,7 +79,7 @@ void hig_workarea_add_wide_control(GtkWidget * t, int *row, GtkWidget * w) GtkWidget *r = rowNew(w); gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++*row; } @@ -89,16 +89,16 @@ hig_workarea_add_wide_tall_control(GtkWidget * t, int *row, GtkWidget * w) GtkWidget *r = rowNew(w); gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); ++*row; } GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * t, - int *row, - const char *mnemonic_string, - gboolean is_active) + int *row, + const char *mnemonic_string, + gboolean is_active) { GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic_string); @@ -112,11 +112,11 @@ void hig_workarea_add_label_w(GtkWidget * t, int row, GtkWidget * l) GtkWidget *w = rowNew(l); gtk_table_attach(GTK_TABLE(t), w, 0, 1, row, row + 1, GTK_FILL, - GTK_FILL, 0, 0); + GTK_FILL, 0, 0); } GtkWidget *hig_workarea_add_label(GtkWidget * t, - int row, const char *mnemonic_string) + int row, const char *mnemonic_string) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -128,42 +128,42 @@ static void hig_workarea_add_tall_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + 1, 2, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); } void hig_workarea_add_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); + 1, 2, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); } void hig_workarea_add_row_w(GtkWidget * t, - int *row, - GtkWidget * label, - GtkWidget * control, GtkWidget * mnemonic) + int *row, + GtkWidget * label, + GtkWidget * control, GtkWidget * mnemonic) { hig_workarea_add_label_w(t, *row, label); hig_workarea_add_control(t, *row, control); if (GTK_IS_LABEL(label)) - gtk_label_set_mnemonic_widget(GTK_LABEL(label), - mnemonic ? mnemonic : control); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + mnemonic ? mnemonic : control); ++*row; } GtkWidget *hig_workarea_add_row(GtkWidget * t, - int *row, - const char *mnemonic_string, - GtkWidget * control, GtkWidget * mnemonic) + int *row, + const char *mnemonic_string, + GtkWidget * control, GtkWidget * mnemonic) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -172,10 +172,10 @@ GtkWidget *hig_workarea_add_row(GtkWidget * t, } GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic) + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); GtkWidget *h = gtk_hbox_new(FALSE, 0); @@ -187,8 +187,8 @@ GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, hig_workarea_add_tall_control(table, *row, control); if (GTK_IS_LABEL(l)) - gtk_label_set_mnemonic_widget(GTK_LABEL(l), - mnemonic ? mnemonic : control); + gtk_label_set_mnemonic_widget(GTK_LABEL(l), + mnemonic ? mnemonic : control); ++*row; return l; @@ -201,7 +201,7 @@ void hig_workarea_finish(GtkWidget * t, int *row) void hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, const char *secondary) + const char *primary, const char *secondary) { gtk_message_dialog_set_markup(dialog, primary); gtk_message_dialog_format_secondary_text(dialog, "%s", secondary); diff --git a/src/hig.h b/src/hig.h index 63a6b76..186e66a 100644 --- a/src/hig.h +++ b/src/hig.h @@ -25,55 +25,55 @@ GtkWidget *hig_workarea_create(void); void hig_workarea_add_section_divider(GtkWidget * table, int *row); void hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w); + int *row, GtkWidget * w); void hig_workarea_add_section_title(GtkWidget * table, - int *row, const char *section_title); + int *row, const char *section_title); void hig_workarea_add_wide_tall_control(GtkWidget * table, - int *row, GtkWidget * w); + int *row, GtkWidget * w); void hig_workarea_add_wide_control(GtkWidget * table, - int *row, GtkWidget * w); + int *row, GtkWidget * w); GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * table, - int *row, - const char *mnemonic_string, - gboolean is_active); + int *row, + const char *mnemonic_string, + gboolean is_active); GtkWidget *hig_workarea_add_label(GtkWidget * table, - int row, const char *mnemonic_string); + int row, const char *mnemonic_string); void hig_workarea_add_label_w(GtkWidget * table, - int row, GtkWidget * label_widget); + int row, GtkWidget * label_widget); void hig_workarea_add_control(GtkWidget * table, - int row, GtkWidget * control); + int row, GtkWidget * control); GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * - mnemonic_or_null_for_control); + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * + mnemonic_or_null_for_control); GtkWidget *hig_workarea_add_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic_or_null_for_control); + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic_or_null_for_control); void hig_workarea_add_row_w(GtkWidget * table, - int *row, - GtkWidget * label, - GtkWidget * control, - GtkWidget * mnemonic_or_null_for_control); + int *row, + GtkWidget * label, + GtkWidget * control, + GtkWidget * mnemonic_or_null_for_control); void hig_workarea_finish(GtkWidget * table, int *row); void hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, - const char *secondary); + const char *primary, + const char *secondary); enum { GUI_PAD_SMALL = 3, @@ -82,4 +82,4 @@ enum { GUI_PAD_LARGE = 12 }; -#endif /* __HIG_H__ */ +#endif /* __HIG_H__ */ diff --git a/src/json.c b/src/json.c index 71ae0e4..806ab3e 100644 --- a/src/json.c +++ b/src/json.c @@ -44,8 +44,7 @@ gchar *trg_serialize(JsonNode * req) return response; } -JsonObject *trg_deserialize(trg_response * response, - GError ** error) +JsonObject *trg_deserialize(trg_response * response, GError ** error) { JsonParser *parser; JsonNode *root; @@ -53,30 +52,30 @@ JsonObject *trg_deserialize(trg_response * response, parser = json_parser_new(); json_parser_load_from_data(parser, response->raw, response->size, - error); + error); if (*error == NULL) { - root = json_parser_get_root(parser); + root = json_parser_get_root(parser); #ifdef DEBUG - if (g_getenv("TRG_SHOW_INCOMING") != NULL) { - g_debug("<=(INcoming)<=: %s", response->raw); - } else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) { - JsonGenerator *pg; - gsize len; - gchar *pgdata; - - pg = json_generator_new(); - g_object_set(pg, "pretty", TRUE, NULL); - json_generator_set_root(pg, root); - - pgdata = json_generator_to_data(pg, &len); - g_debug("<=(incoming)<=:\n%s\n", pgdata); - g_free(pgdata); - - g_object_unref(pg); - } + if (g_getenv("TRG_SHOW_INCOMING") != NULL) { + g_debug("<=(INcoming)<=: %s", response->raw); + } else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) { + JsonGenerator *pg; + gsize len; + gchar *pgdata; + + pg = json_generator_new(); + g_object_set(pg, "pretty", TRUE, NULL); + json_generator_set_root(pg, root); + + pgdata = json_generator_to_data(pg, &len); + g_debug("<=(incoming)<=:\n%s\n", pgdata); + g_free(pgdata); + + g_object_unref(pg); + } #endif - ret = json_node_get_object(root); - json_object_ref(ret); + ret = json_node_get_object(root); + json_object_ref(ret); } g_object_unref(parser); diff --git a/src/json.h b/src/json.h index 62237f8..232728a 100644 --- a/src/json.h +++ b/src/json.h @@ -26,8 +26,8 @@ #include "trg-client.h" gchar *trg_serialize(JsonNode * req); -JsonObject *trg_deserialize(trg_response *response, GError ** error); +JsonObject *trg_deserialize(trg_response * response, GError ** error); JsonObject *get_arguments(JsonObject * req); JsonObject *node_get_arguments(JsonNode * req); -#endif /* JSON_H_ */ +#endif /* JSON_H_ */ diff --git a/src/main.c b/src/main.c index f79d3ed..61efb68 100644 --- a/src/main.c +++ b/src/main.c @@ -50,7 +50,7 @@ */ #define TRG_LIBUNIQUE_DOMAIN "uk.org.eth0.trg" -#define TRG_MAILSLOT_NAME "\\\\.\\mailslot\\TransmissionRemoteGTK" //Name given to the Mailslot +#define TRG_MAILSLOT_NAME "\\\\.\\mailslot\\TransmissionRemoteGTK" //Name given to the Mailslot #define MAILSLOT_BUFFER_SIZE 1024*32 #ifdef HAVE_LIBUNIQUE @@ -62,9 +62,9 @@ enum { static UniqueResponse message_received_cb(UniqueApp * app G_GNUC_UNUSED, - gint command, - UniqueMessageData * message, - guint time_, gpointer user_data) + gint command, + UniqueMessageData * message, + guint time_, gpointer user_data) { TrgMainWindow *win; UniqueResponse res; @@ -73,22 +73,22 @@ message_received_cb(UniqueApp * app G_GNUC_UNUSED, win = TRG_MAIN_WINDOW(user_data); switch (command) { - case UNIQUE_ACTIVATE: - gtk_window_set_screen(GTK_WINDOW(user_data), - unique_message_data_get_screen(message)); - gtk_window_present_with_time(GTK_WINDOW(user_data), time_); - res = UNIQUE_RESPONSE_OK; - break; - case COMMAND_ADD: - uris = unique_message_data_get_uris(message); - res = - trg_add_from_filename(win, - uris) ? UNIQUE_RESPONSE_OK : - UNIQUE_RESPONSE_FAIL; - break; - default: - res = UNIQUE_RESPONSE_OK; - break; + case UNIQUE_ACTIVATE: + gtk_window_set_screen(GTK_WINDOW(user_data), + unique_message_data_get_screen(message)); + gtk_window_present_with_time(GTK_WINDOW(user_data), time_); + res = UNIQUE_RESPONSE_OK; + break; + case COMMAND_ADD: + uris = unique_message_data_get_uris(message); + res = + trg_add_from_filename(win, + uris) ? UNIQUE_RESPONSE_OK : + UNIQUE_RESPONSE_FAIL; + break; + default: + res = UNIQUE_RESPONSE_OK; + break; } return res; @@ -104,23 +104,26 @@ struct trg_mailslot_recv_args { /* to be queued into the glib main loop with g_idle_add() */ -static gboolean mailslot_recv_args(gpointer data) { - struct trg_mailslot_recv_args *args = (struct trg_mailslot_recv_args*) data; +static gboolean mailslot_recv_args(gpointer data) +{ + struct trg_mailslot_recv_args *args = + (struct trg_mailslot_recv_args *) data; if (args->present) { - gtk_window_deiconify(GTK_WINDOW(args->win)); - gtk_window_present(GTK_WINDOW(args->win)); + gtk_window_deiconify(GTK_WINDOW(args->win)); + gtk_window_present(GTK_WINDOW(args->win)); } if (args->uris) - trg_add_from_filename(args->win, args->uris); + trg_add_from_filename(args->win, args->uris); g_free(args); return FALSE; } -static gpointer mailslot_recv_thread(gpointer data) { +static gpointer mailslot_recv_thread(gpointer data) +{ TrgMainWindow *win = TRG_MAIN_WINDOW(data); JsonParser *parser; char szBuffer[MAILSLOT_BUFFER_SIZE]; @@ -128,73 +131,77 @@ static gpointer mailslot_recv_thread(gpointer data) { DWORD cbBytes; BOOL bResult; - hMailslot = CreateMailslot(TRG_MAILSLOT_NAME, // mailslot name - MAILSLOT_BUFFER_SIZE, // input buffer size - MAILSLOT_WAIT_FOREVER, // no timeout - NULL); // default security attribute + hMailslot = CreateMailslot(TRG_MAILSLOT_NAME, // mailslot name + MAILSLOT_BUFFER_SIZE, // input buffer size + MAILSLOT_WAIT_FOREVER, // no timeout + NULL); // default security attribute if (INVALID_HANDLE_VALUE == hMailslot) { - g_error( - "\nError occurred while creating the mailslot: %d", GetLastError()); - return NULL; //Error + g_error("\nError occurred while creating the mailslot: %d", + GetLastError()); + return NULL; //Error } while (1) { - bResult = ReadFile(hMailslot, // handle to mailslot - szBuffer, // buffer to receive data - sizeof(szBuffer), // size of buffer - &cbBytes, // number of bytes read - NULL); // not overlapped I/O + bResult = ReadFile(hMailslot, // handle to mailslot + szBuffer, // buffer to receive data + sizeof(szBuffer), // size of buffer + &cbBytes, // number of bytes read + NULL); // not overlapped I/O - if ((!bResult) || (0 == cbBytes)) { - g_error("Mailslot error from client: %d", GetLastError()); - break; - } + if ((!bResult) || (0 == cbBytes)) { + g_error("Mailslot error from client: %d", GetLastError()); + break; + } - parser = json_parser_new(); + parser = json_parser_new(); - if (json_parser_load_from_data(parser, szBuffer, cbBytes, NULL)) { - JsonNode *node = json_parser_get_root(parser); - JsonObject *obj = json_node_get_object(node); - struct trg_mailslot_recv_args *args = - g_new0(struct trg_mailslot_recv_args, 1); + if (json_parser_load_from_data(parser, szBuffer, cbBytes, NULL)) { + JsonNode *node = json_parser_get_root(parser); + JsonObject *obj = json_node_get_object(node); + struct trg_mailslot_recv_args *args = + g_new0(struct trg_mailslot_recv_args, 1); - args->present = json_object_has_member(obj, "present") && json_object_get_boolean_member(obj, "present"); - args->win = win; + args->present = json_object_has_member(obj, "present") + && json_object_get_boolean_member(obj, "present"); + args->win = win; - if (json_object_has_member(obj, "args")) { - JsonArray *array = json_object_get_array_member(obj, "args"); - GList *arrayList = json_array_get_elements(array); + if (json_object_has_member(obj, "args")) { + JsonArray *array = + json_object_get_array_member(obj, "args"); + GList *arrayList = json_array_get_elements(array); - if (arrayList) { - guint arrayLength = g_list_length(arrayList); - guint i = 0; - GList *li; + if (arrayList) { + guint arrayLength = g_list_length(arrayList); + guint i = 0; + GList *li; - args->uris = g_new0(gchar*, arrayLength+1); + args->uris = g_new0(gchar *, arrayLength + 1); - for (li = arrayList; li; li = g_list_next(li)) { - const gchar *liStr = json_node_get_string((JsonNode*) li->data); - args->uris[i++] = g_strdup(liStr); - } + for (li = arrayList; li; li = g_list_next(li)) { + const gchar *liStr = + json_node_get_string((JsonNode *) li->data); + args->uris[i++] = g_strdup(liStr); + } - g_list_free(arrayList); - } - } + g_list_free(arrayList); + } + } - json_node_free(node); + json_node_free(node); - g_idle_add(mailslot_recv_args, args); - } + g_idle_add(mailslot_recv_args, args); + } - g_object_unref(parser); + g_object_unref(parser); } CloseHandle(hMailslot); - return NULL; //Success + return NULL; //Success } -static int mailslot_send_message(HANDLE h, gchar **args) { +static int mailslot_send_message(HANDLE h, gchar ** args) +{ DWORD cbBytes; JsonNode *node = json_node_new(JSON_NODE_OBJECT); JsonObject *obj = json_object_new(); @@ -204,14 +211,14 @@ static int mailslot_send_message(HANDLE h, gchar **args) { int i; if (args) { - for (i = 0; args[i]; i++) - json_array_add_string_element(array, args[i]); + for (i = 0; args[i]; i++) + json_array_add_string_element(array, args[i]); - json_object_set_array_member(obj, "args", array); + json_object_set_array_member(obj, "args", array); - g_strfreev(args); + g_strfreev(args); } else { - json_object_set_boolean_member(obj, "present", TRUE); + json_object_set_boolean_member(obj, "present", TRUE); } json_node_take_object(node, obj); @@ -223,11 +230,11 @@ static int mailslot_send_message(HANDLE h, gchar **args) { json_node_free(node); g_object_unref(generator); - WriteFile(h, // handle to mailslot - msg, // buffer to write from - strlen(msg) + 1, // number of bytes to write, include the NULL - &cbBytes, // number of bytes written - NULL); + WriteFile(h, // handle to mailslot + msg, // buffer to write from + strlen(msg) + 1, // number of bytes to write, include the NULL + &cbBytes, // number of bytes written + NULL); CloseHandle(h); g_free(msg); @@ -237,52 +244,55 @@ static int mailslot_send_message(HANDLE h, gchar **args) { #endif -static gboolean is_minimised_arg(gchar *arg) +static gboolean is_minimised_arg(gchar * arg) { return !g_strcmp0(arg, "-m") - || !g_strcmp0(arg, "--minimized") - || !g_strcmp0(arg, "/m"); + || !g_strcmp0(arg, "--minimized") + || !g_strcmp0(arg, "/m"); } -static gboolean should_be_minimised(int argc, char *argv[]) { +static gboolean should_be_minimised(int argc, char *argv[]) +{ int i; for (i = 1; i < argc; i++) - if (is_minimised_arg(argv[i])) - return TRUE; + if (is_minimised_arg(argv[i])) + return TRUE; return FALSE; } -static gchar **convert_args(int argc, char *argv[]) { +static gchar **convert_args(int argc, char *argv[]) +{ gchar *cwd = g_get_current_dir(); gchar **files = NULL; if (argc > 1) { - GSList *list = NULL; - int i; - - for (i = 1; i < argc; i++) { - if (is_minimised_arg(argv[i])) { - continue; - } else if (!is_url(argv[i]) && !is_magnet(argv[i]) - && g_file_test(argv[i], G_FILE_TEST_IS_REGULAR) - && !g_path_is_absolute(argv[i])) { - list = g_slist_append(list, - g_build_path(G_DIR_SEPARATOR_S, cwd, argv[i], NULL)); - } else { - list = g_slist_append(list, g_strdup(argv[i])); - } - } - - if (list) { - GSList *li; - files = g_new0(gchar*, g_slist_length(list)+1); - i = 0; - for (li = list; li; li = g_slist_next(li)) { - files[i++] = li->data; - } - g_slist_free(list); - } + GSList *list = NULL; + int i; + + for (i = 1; i < argc; i++) { + if (is_minimised_arg(argv[i])) { + continue; + } else if (!is_url(argv[i]) && !is_magnet(argv[i]) + && g_file_test(argv[i], G_FILE_TEST_IS_REGULAR) + && !g_path_is_absolute(argv[i])) { + list = g_slist_append(list, + g_build_path(G_DIR_SEPARATOR_S, cwd, + argv[i], NULL)); + } else { + list = g_slist_append(list, g_strdup(argv[i])); + } + } + + if (list) { + GSList *li; + files = g_new0(gchar *, g_slist_length(list) + 1); + i = 0; + for (li = list; li; li = g_slist_next(li)) { + files[i++] = li->data; + } + g_slist_free(list); + } } g_free(cwd); @@ -290,7 +300,8 @@ static gchar **convert_args(int argc, char *argv[]) { return files; } -int main(int argc, char *argv[]) { +int main(int argc, char *argv[]) +{ int returnValue = EXIT_SUCCESS; TrgMainWindow *window; TrgClient *client; @@ -304,7 +315,7 @@ int main(int argc, char *argv[]) { HANDLE hMailSlot; #endif #ifdef TRG_MEMPROFILE - GMemVTable gmvt = {malloc,realloc,free,calloc,malloc,realloc}; + GMemVTable gmvt = { malloc, realloc, free, calloc, malloc, realloc }; g_mem_set_vtable(&gmvt); g_mem_set_vtable(glib_mem_profiler_table); g_mem_profile(); @@ -318,7 +329,7 @@ int main(int argc, char *argv[]) { #ifdef WIN32 moddir = g_win32_get_package_installation_directory_of_module(NULL); localedir = g_build_path(G_DIR_SEPARATOR_S, moddir, "share", "locale", - NULL); + NULL); g_free(moddir); bindtextdomain(GETTEXT_PACKAGE, localedir); g_free(localedir); @@ -332,67 +343,68 @@ int main(int argc, char *argv[]) { #ifdef HAVE_LIBUNIQUE if (withUnique) - app = unique_app_new_with_commands(TRG_LIBUNIQUE_DOMAIN, NULL, - "add", COMMAND_ADD, NULL); + app = unique_app_new_with_commands(TRG_LIBUNIQUE_DOMAIN, NULL, + "add", COMMAND_ADD, NULL); if (withUnique && unique_app_is_running(app)) { - UniqueCommand command; - UniqueResponse response; - UniqueMessageData *message; - - if (args) { - command = COMMAND_ADD; - message = unique_message_data_new(); - unique_message_data_set_uris(message, args); - g_strfreev(args); - } else { - command = UNIQUE_ACTIVATE; - message = NULL; - } - - response = unique_app_send_message(app, command, message); - unique_message_data_free(message); - - if (response != UNIQUE_RESPONSE_OK) - returnValue = EXIT_FAILURE; + UniqueCommand command; + UniqueResponse response; + UniqueMessageData *message; + + if (args) { + command = COMMAND_ADD; + message = unique_message_data_new(); + unique_message_data_set_uris(message, args); + g_strfreev(args); + } else { + command = UNIQUE_ACTIVATE; + message = NULL; + } + + response = unique_app_send_message(app, command, message); + unique_message_data_free(message); + + if (response != UNIQUE_RESPONSE_OK) + returnValue = EXIT_FAILURE; } else { #elif WIN32 - hMailSlot = CreateFile(TRG_MAILSLOT_NAME, // mailslot name - GENERIC_WRITE, // mailslot write only - FILE_SHARE_READ, // required for mailslots - NULL, // default security attributes - OPEN_EXISTING, // opens existing mailslot - FILE_ATTRIBUTE_NORMAL, // normal attributes - NULL); // no template file + hMailSlot = CreateFile(TRG_MAILSLOT_NAME, // mailslot name + GENERIC_WRITE, // mailslot write only + FILE_SHARE_READ, // required for mailslots + NULL, // default security attributes + OPEN_EXISTING, // opens existing mailslot + FILE_ATTRIBUTE_NORMAL, // normal attributes + NULL); // no template file if (INVALID_HANDLE_VALUE != hMailSlot) { - returnValue = mailslot_send_message(hMailSlot, args); + returnValue = mailslot_send_message(hMailSlot, args); } else { #endif - client = trg_client_new(); + client = trg_client_new(); - curl_global_init(CURL_GLOBAL_ALL); + curl_global_init(CURL_GLOBAL_ALL); - window = trg_main_window_new(client, should_be_minimised(argc, argv)); + window = + trg_main_window_new(client, should_be_minimised(argc, argv)); #ifdef HAVE_LIBUNIQUE - if (withUnique) { - g_signal_connect(app, "message-received", - G_CALLBACK(message_received_cb), window); - } + if (withUnique) { + g_signal_connect(app, "message-received", + G_CALLBACK(message_received_cb), window); + } #elif WIN32 - g_thread_create(mailslot_recv_thread, window, FALSE, NULL); + g_thread_create(mailslot_recv_thread, window, FALSE, NULL); #endif - auto_connect_if_required(window, args); - gtk_main(); + auto_connect_if_required(window, args); + gtk_main(); - curl_global_cleanup(); + curl_global_cleanup(); #ifdef HAVE_LIBUNIQUE } if (withUnique) - g_object_unref(app); + g_object_unref(app); #elif WIN32 } #endif diff --git a/src/protocol-constants.h b/src/protocol-constants.h index 96a7376..3eb9d69 100644 --- a/src/protocol-constants.h +++ b/src/protocol-constants.h @@ -33,7 +33,7 @@ /* torrents */ #define FIELD_RECENTLY_ACTIVE "recently-active" -#define FIELD_TORRENTS "torrents" /* parent node */ +#define FIELD_TORRENTS "torrents" /* parent node */ #define FIELD_REMOVED "removed" #define FIELD_ANNOUNCE_URL "announceUrl" #define FIELD_LEFT_UNTIL_DONE "leftUntilDone" @@ -171,21 +171,19 @@ typedef enum { OLD_STATUS_PAUSED = 16 } trg_old_status; -typedef enum -{ - TR_STATUS_STOPPED = 0, /* Torrent is stopped */ - TR_STATUS_CHECK_WAIT = 1, /* Queued to check files */ - TR_STATUS_CHECK = 2, /* Checking files */ - TR_STATUS_DOWNLOAD_WAIT = 3, /* Queued to download */ - TR_STATUS_DOWNLOAD = 4, /* Downloading */ - TR_STATUS_SEED_WAIT = 5, /* Queued to seed */ - TR_STATUS_SEED = 6 /* Seeding */ -} -tr_torrent_activity; +typedef enum { + TR_STATUS_STOPPED = 0, /* Torrent is stopped */ + TR_STATUS_CHECK_WAIT = 1, /* Queued to check files */ + TR_STATUS_CHECK = 2, /* Checking files */ + TR_STATUS_DOWNLOAD_WAIT = 3, /* Queued to download */ + TR_STATUS_DOWNLOAD = 4, /* Downloading */ + TR_STATUS_SEED_WAIT = 5, /* Queued to seed */ + TR_STATUS_SEED = 6 /* Seeding */ +} tr_torrent_activity; enum { TR_PRI_LOW = -1, - TR_PRI_NORMAL = 0, /* since NORMAL is 0, memset initializes nicely */ + TR_PRI_NORMAL = 0, /* since NORMAL is 0, memset initializes nicely */ TR_PRI_HIGH = 1 }; @@ -193,4 +191,4 @@ enum { #define TFILE_BYTES_COMPLETED "bytesCompleted" #define TFILE_NAME "name" -#endif /* PROTOCOL_CONSTANTS_H_ */ +#endif /* PROTOCOL_CONSTANTS_H_ */ diff --git a/src/remote-exec.c b/src/remote-exec.c index c3e1a74..3f665bc 100644 --- a/src/remote-exec.c +++ b/src/remote-exec.c @@ -38,20 +38,21 @@ */ static const char json_exceptions[] = { 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, - 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, - 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, - 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, - 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, - 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, - 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, - 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, - 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, - 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, - 0xfd, 0xfe, 0xff, '\0' /* g_strescape() expects a NUL-terminated string */ + 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, + 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, + 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, + 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, + 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, + 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, + 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, + 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, + 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, + 0xfd, 0xfe, 0xff, '\0' /* g_strescape() expects a NUL-terminated string */ }; -static gchar *dump_json_value(JsonNode * node) { +static gchar *dump_json_value(JsonNode * node) +{ GValue value = { 0, }; GString *buffer; @@ -61,31 +62,33 @@ static gchar *dump_json_value(JsonNode * node) { switch (G_VALUE_TYPE(&value)) { case G_TYPE_INT64: - g_string_append_printf(buffer, "%" G_GINT64_FORMAT, - g_value_get_int64(&value)); - break; - case G_TYPE_STRING: { - gchar *tmp; - - tmp = g_strescape(g_value_get_string(&value), json_exceptions); - g_string_append(buffer, tmp); - - g_free(tmp); - } - break; - case G_TYPE_DOUBLE: { - gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; - - g_string_append(buffer, - g_ascii_dtostr(buf, sizeof(buf), g_value_get_double(&value))); - } - break; + g_string_append_printf(buffer, "%" G_GINT64_FORMAT, + g_value_get_int64(&value)); + break; + case G_TYPE_STRING:{ + gchar *tmp; + + tmp = g_strescape(g_value_get_string(&value), json_exceptions); + g_string_append(buffer, tmp); + + g_free(tmp); + } + break; + case G_TYPE_DOUBLE:{ + gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; + + g_string_append(buffer, + g_ascii_dtostr(buf, sizeof(buf), + g_value_get_double(&value))); + } + break; case G_TYPE_BOOLEAN: - g_string_append_printf(buffer, "%s", - g_value_get_boolean(&value) ? "true" : "false"); - break; + g_string_append_printf(buffer, "%s", + g_value_get_boolean(&value) ? "true" : + "false"); + break; default: - break; + break; } g_value_unset(&value); @@ -93,8 +96,9 @@ static gchar *dump_json_value(JsonNode * node) { return g_string_free(buffer, FALSE); } -gchar *build_remote_exec_cmd(TrgClient *tc, GtkTreeModel *model, GList *selection, - const gchar * input) { +gchar *build_remote_exec_cmd(TrgClient * tc, GtkTreeModel * model, + GList * selection, const gchar * input) +{ TrgPrefs *prefs = trg_client_get_prefs(tc); JsonObject *session = trg_client_get_session(tc); JsonObject *profile = trg_prefs_get_connection(prefs); @@ -105,7 +109,7 @@ gchar *build_remote_exec_cmd(TrgClient *tc, GtkTreeModel *model, GList *selectio JsonNode *replacement; if (!profile) - return NULL; + return NULL; work = g_strdup(input); regex = g_regex_new("%{([A-Za-z\\-]+)}(?:\\[(.*)\\])?", 0, 0, NULL); @@ -113,86 +117,86 @@ gchar *build_remote_exec_cmd(TrgClient *tc, GtkTreeModel *model, GList *selectio g_regex_match_full(regex, input, -1, 0, 0, &match_info, NULL); if (match_info) { - while (g_match_info_matches(match_info)) { - whole = g_match_info_fetch(match_info, 0); - wholeEscaped = g_regex_escape_string(whole, -1); - id = g_match_info_fetch(match_info, 1); - repeater = g_match_info_fetch(match_info, 2); - - replacerx = g_regex_new(wholeEscaped, 0, 0, NULL); - valuestr = NULL; - - if (profile && json_object_has_member(profile, id)) { - replacement = json_object_get_member(profile, id); - if (JSON_NODE_HOLDS_VALUE(replacement)) - valuestr = dump_json_value(replacement); - } else if (session && json_object_has_member(session, id)) { - replacement = json_object_get_member(session, id); - if (JSON_NODE_HOLDS_VALUE(replacement)) - valuestr = dump_json_value(replacement); - } else { - GString *gs = g_string_new (""); - GList *li; - GtkTreeIter iter; - JsonObject *json; - gchar *piece; - - for (li = selection; li; li = g_list_next(li)) { - piece = NULL; - gtk_tree_model_get_iter(model, &iter, (GtkTreePath*)li->data); - gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json, -1); - if (json_object_has_member(json, id)) { - replacement = json_object_get_member(json, id); - if (JSON_NODE_HOLDS_VALUE(replacement)) { - piece = dump_json_value(replacement); - } - } - - if (!piece) { - if (!g_strcmp0(id, "full-dir")) { - piece = torrent_get_full_dir(json); - } else if (!g_strcmp0(id, "full-path")) { - piece = torrent_get_full_path(json); - } - } - - if (piece) { - g_string_append(gs, piece); - g_free(piece); - } - - if (!repeater) - break; - - if (piece && li != g_list_last(selection)) - g_string_append(gs, repeater); - } - - if (gs->len > 0) - valuestr = g_string_free (gs, FALSE); - else - g_string_free(gs, TRUE); - } - - if (valuestr) - { - tmp - = g_regex_replace(replacerx, work, -1, 0, valuestr, 0, - NULL); - g_free(work); - work = tmp; - g_free(valuestr); - } - - g_regex_unref(replacerx); - g_free(whole); - g_free(repeater); - g_free(wholeEscaped); - g_free(id); - g_match_info_next(match_info, NULL); - } - - g_match_info_free(match_info); + while (g_match_info_matches(match_info)) { + whole = g_match_info_fetch(match_info, 0); + wholeEscaped = g_regex_escape_string(whole, -1); + id = g_match_info_fetch(match_info, 1); + repeater = g_match_info_fetch(match_info, 2); + + replacerx = g_regex_new(wholeEscaped, 0, 0, NULL); + valuestr = NULL; + + if (profile && json_object_has_member(profile, id)) { + replacement = json_object_get_member(profile, id); + if (JSON_NODE_HOLDS_VALUE(replacement)) + valuestr = dump_json_value(replacement); + } else if (session && json_object_has_member(session, id)) { + replacement = json_object_get_member(session, id); + if (JSON_NODE_HOLDS_VALUE(replacement)) + valuestr = dump_json_value(replacement); + } else { + GString *gs = g_string_new(""); + GList *li; + GtkTreeIter iter; + JsonObject *json; + gchar *piece; + + for (li = selection; li; li = g_list_next(li)) { + piece = NULL; + gtk_tree_model_get_iter(model, &iter, + (GtkTreePath *) li->data); + gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, + &json, -1); + if (json_object_has_member(json, id)) { + replacement = json_object_get_member(json, id); + if (JSON_NODE_HOLDS_VALUE(replacement)) { + piece = dump_json_value(replacement); + } + } + + if (!piece) { + if (!g_strcmp0(id, "full-dir")) { + piece = torrent_get_full_dir(json); + } else if (!g_strcmp0(id, "full-path")) { + piece = torrent_get_full_path(json); + } + } + + if (piece) { + g_string_append(gs, piece); + g_free(piece); + } + + if (!repeater) + break; + + if (piece && li != g_list_last(selection)) + g_string_append(gs, repeater); + } + + if (gs->len > 0) + valuestr = g_string_free(gs, FALSE); + else + g_string_free(gs, TRUE); + } + + if (valuestr) { + tmp = g_regex_replace(replacerx, work, -1, 0, valuestr, 0, + NULL); + g_free(work); + work = tmp; + g_free(valuestr); + } + + g_regex_unref(replacerx); + g_free(whole); + g_free(repeater); + g_free(wholeEscaped); + g_free(id); + g_match_info_next(match_info, NULL); + } + + g_match_info_free(match_info); } g_regex_unref(regex); diff --git a/src/remote-exec.h b/src/remote-exec.h index 4f8c52e..6014531 100644 --- a/src/remote-exec.h +++ b/src/remote-exec.h @@ -20,7 +20,7 @@ #ifndef REMOTE_EXEC_H_ #define REMOTE_EXEC_H_ -gchar *build_remote_exec_cmd(TrgClient *tc, GtkTreeModel *model, GList *selection, - const gchar * input); +gchar *build_remote_exec_cmd(TrgClient * tc, GtkTreeModel * model, + GList * selection, const gchar * input); -#endif /* REMOTE_EXEC_H_ */ +#endif /* REMOTE_EXEC_H_ */ diff --git a/src/requests.c b/src/requests.c index 0e17fb3..babb48c 100644 --- a/src/requests.c +++ b/src/requests.c @@ -40,8 +40,8 @@ JsonNode *generic_request(gchar * method, JsonArray * ids) JsonNode *root = base_request(method); if (ids) - json_object_set_array_member(node_get_arguments(root), - PARAM_IDS, ids); + json_object_set_array_member(node_get_arguments(root), + PARAM_IDS, ids); return root; } @@ -67,7 +67,7 @@ JsonNode *session_get(void) } JsonNode *torrent_set_location(JsonArray * array, gchar * location, - gboolean move) + gboolean move) { JsonNode *req = generic_request(METHOD_TORRENT_SET_LOCATION, array); JsonObject *args = node_get_arguments(req); @@ -137,7 +137,7 @@ JsonNode *torrent_remove(JsonArray * array, gboolean removeData) JsonObject *args = node_get_arguments(root); json_object_set_array_member(args, PARAM_IDS, array); json_object_set_boolean_member(args, PARAM_DELETE_LOCAL_DATA, - removeData); + removeData); return root; } @@ -148,12 +148,12 @@ JsonNode *torrent_get(gint64 id) JsonArray *fields = json_array_new(); if (id == TORRENT_GET_TAG_MODE_UPDATE) { - json_object_set_string_member(args, PARAM_IDS, - FIELD_RECENTLY_ACTIVE); + json_object_set_string_member(args, PARAM_IDS, + FIELD_RECENTLY_ACTIVE); } else if (id >= 0) { - JsonArray *ids = json_array_new(); - json_array_add_int_element(ids, id); - json_object_set_array_member(args, PARAM_IDS, ids); + JsonArray *ids = json_array_new(); + json_array_add_int_element(ids, id); + json_object_set_array_member(args, PARAM_IDS, ids); } json_array_add_string_element(fields, FIELD_ETA); @@ -164,7 +164,7 @@ JsonNode *torrent_get(gint64 id) json_array_add_string_element(fields, FIELD_PEERS_GETTING_FROM_US); json_array_add_string_element(fields, FIELD_PEERS_CONNECTED); /*json_array_add_string_element(fields, FIELD_HAVEVALID); - json_array_add_string_element(fields, FIELD_HAVEUNCHECKED);*/ + json_array_add_string_element(fields, FIELD_HAVEUNCHECKED); */ json_array_add_string_element(fields, FIELD_RATEUPLOAD); json_array_add_string_element(fields, FIELD_RATEDOWNLOAD); json_array_add_string_element(fields, FIELD_STATUS); @@ -223,32 +223,33 @@ JsonNode *torrent_add(gchar * target, gint flags) gboolean isUri = isMagnet || is_url(target); gchar *encodedFile; - if (!isUri && !g_file_test(target, G_FILE_TEST_IS_REGULAR)) - { - g_message("file \"%s\" does not exist.", target); - return NULL; + if (!isUri && !g_file_test(target, G_FILE_TEST_IS_REGULAR)) { + g_message("file \"%s\" does not exist.", target); + return NULL; } root = base_request(METHOD_TORRENT_ADD); args = node_get_arguments(root); if (isUri) { - json_object_set_string_member(args, PARAM_FILENAME, target); + json_object_set_string_member(args, PARAM_FILENAME, target); } else { - encodedFile = trg_base64encode(target); - if (encodedFile) { - json_object_set_string_member(args, PARAM_METAINFO, encodedFile); - g_free(encodedFile); - } else { - g_error("unable to base64 encode file \"%s\".", target); - return NULL; - } + encodedFile = trg_base64encode(target); + if (encodedFile) { + json_object_set_string_member(args, PARAM_METAINFO, + encodedFile); + g_free(encodedFile); + } else { + g_error("unable to base64 encode file \"%s\".", target); + return NULL; + } } - json_object_set_boolean_member(args, PARAM_PAUSED, (flags & TORRENT_ADD_FLAG_PAUSED)); + json_object_set_boolean_member(args, PARAM_PAUSED, + (flags & TORRENT_ADD_FLAG_PAUSED)); if ((flags & TORRENT_ADD_FLAG_DELETE)) - g_unlink(target); + g_unlink(target); return root; } @@ -272,8 +273,8 @@ void request_set_tag(JsonNode * req, gint64 tag) void request_set_tag_from_ids(JsonNode * req, JsonArray * ids) { gint64 id = - json_array_get_length(ids) == 1 ? json_array_get_int_element(ids, - 0) : - -1; + json_array_get_length(ids) == 1 ? json_array_get_int_element(ids, + 0) : + -1; request_set_tag(req, id); } diff --git a/src/requests.h b/src/requests.h index 4d08a88..2a59324 100644 --- a/src/requests.h +++ b/src/requests.h @@ -37,7 +37,7 @@ JsonNode *torrent_remove(JsonArray * array, int removeData); JsonNode *torrent_add(gchar * filename, gint flags); JsonNode *torrent_add_url(const gchar * url, gboolean paused); JsonNode *torrent_set_location(JsonArray * array, gchar * location, - gboolean move); + gboolean move); JsonNode *blocklist_update(void); JsonNode *port_test(void); JsonNode *session_stats(void); @@ -50,4 +50,4 @@ JsonNode *torrent_start_now(JsonArray * array); void request_set_tag(JsonNode * req, gint64 tag); void request_set_tag_from_ids(JsonNode * req, JsonArray * ids); -#endif /* REQUESTS_H_ */ +#endif /* REQUESTS_H_ */ diff --git a/src/session-get.c b/src/session-get.c index 4bb37b2..b9b54bb 100644 --- a/src/session-get.c +++ b/src/session-get.c @@ -26,17 +26,17 @@ /* Just some functions to get fields out of a session-get response. */ -const gchar *session_get_version_string(JsonObject *s) +const gchar *session_get_version_string(JsonObject * s) { return json_object_get_string_member(s, SGET_VERSION); } -int session_get_version(JsonObject *s, float *version) +int session_get_version(JsonObject * s, float *version) { return sscanf(session_get_version_string(s), "%g", version); } -gint64 session_get_download_dir_free_space(JsonObject *s) +gint64 session_get_download_dir_free_space(JsonObject * s) { return json_object_get_int_member(s, SGET_DOWNLOAD_DIR_FREE_SPACE); } @@ -64,7 +64,7 @@ const gchar *session_get_download_dir(JsonObject * s) gboolean session_get_peer_port_random(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_PEER_PORT_RANDOM_ON_START); + SGET_PEER_PORT_RANDOM_ON_START); } gint64 session_get_peer_port(JsonObject * s) @@ -80,9 +80,9 @@ gboolean session_get_port_forwarding_enabled(JsonObject * s) const gchar *session_get_blocklist_url(JsonObject * s) { if (json_object_has_member(s, SGET_BLOCKLIST_URL)) - return json_object_get_string_member(s, SGET_BLOCKLIST_URL); + return json_object_get_string_member(s, SGET_BLOCKLIST_URL); else - return NULL; + return NULL; } gint64 session_get_blocklist_size(JsonObject * s) @@ -143,21 +143,21 @@ gint64 session_get_seed_queue_size(JsonObject * s) const gchar *session_get_torrent_done_filename(JsonObject * s) { return json_object_get_string_member(s, - SGET_SCRIPT_TORRENT_DONE_FILENAME); + SGET_SCRIPT_TORRENT_DONE_FILENAME); } gboolean session_get_torrent_done_enabled(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_SCRIPT_TORRENT_DONE_ENABLED); + SGET_SCRIPT_TORRENT_DONE_ENABLED); } gint64 session_get_cache_size_mb(JsonObject * s) { if (json_object_has_member(s, SGET_CACHE_SIZE_MB)) - return json_object_get_int_member(s, SGET_CACHE_SIZE_MB); + return json_object_get_int_member(s, SGET_CACHE_SIZE_MB); else - return -1; + return -1; } gdouble session_get_seed_ratio_limit(JsonObject * s) @@ -173,7 +173,7 @@ gboolean session_get_start_added_torrents(JsonObject * s) gboolean session_get_trash_original_torrent_files(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_TRASH_ORIGINAL_TORRENT_FILES); + SGET_TRASH_ORIGINAL_TORRENT_FILES); } gboolean session_get_speed_limit_up_enabled(JsonObject * s) @@ -199,7 +199,7 @@ gint64 session_get_speed_limit_up(JsonObject * s) gboolean session_get_speed_limit_down_enabled(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_SPEED_LIMIT_DOWN_ENABLED); + SGET_SPEED_LIMIT_DOWN_ENABLED); } gint64 session_get_speed_limit_down(JsonObject * s) @@ -207,7 +207,7 @@ gint64 session_get_speed_limit_down(JsonObject * s) return json_object_get_int_member(s, SGET_SPEED_LIMIT_DOWN); } -gboolean session_get_dht_enabled(JsonObject *s) +gboolean session_get_dht_enabled(JsonObject * s) { return json_object_get_boolean_member(s, SGET_DHT_ENABLED); } diff --git a/src/session-get.h b/src/session-get.h index c43cb59..4822cd7 100644 --- a/src/session-get.h +++ b/src/session-get.h @@ -73,8 +73,8 @@ const gchar *session_get_torrent_done_filename(JsonObject * s); gboolean session_get_torrent_done_enabled(JsonObject * s); gint64 session_get_cache_size_mb(JsonObject * s); -const gchar *session_get_version_string(JsonObject *s); -int session_get_version(JsonObject *s, float *version); +const gchar *session_get_version_string(JsonObject * s); +int session_get_version(JsonObject * s, float *version); gboolean session_get_pex_enabled(JsonObject * s); gboolean session_get_lpd_enabled(JsonObject * s); const gchar *session_get_download_dir(JsonObject * s); @@ -103,7 +103,7 @@ gint64 session_get_download_queue_size(JsonObject * s); gboolean session_get_seed_queue_enabled(JsonObject * s); gint64 session_get_seed_queue_size(JsonObject * s); gint64 session_get_rpc_version(JsonObject * s); -gint64 session_get_download_dir_free_space(JsonObject *s); -gboolean session_get_dht_enabled(JsonObject *s); +gint64 session_get_download_dir_free_space(JsonObject * s); +gboolean session_get_dht_enabled(JsonObject * s); -#endif /* SESSION_GET_H_ */ +#endif /* SESSION_GET_H_ */ diff --git a/src/torrent.c b/src/torrent.c index 10f2dde..bf70f45 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -68,13 +68,14 @@ const gchar *torrent_get_download_dir(JsonObject * t) return json_object_get_string_member(t, FIELD_DOWNLOAD_DIR); } -gdouble torrent_get_metadata_percent_complete(JsonObject *t) +gdouble torrent_get_metadata_percent_complete(JsonObject * t) { - JsonNode *node = json_object_get_member(t, FIELD_METADATAPERCENTCOMPLETE); + JsonNode *node = + json_object_get_member(t, FIELD_METADATAPERCENTCOMPLETE); if (node) - return json_double_to_progress(node); + return json_double_to_progress(node); else - return 100.0; + return 100.0; } const gchar *torrent_get_name(JsonObject * t) @@ -152,7 +153,7 @@ gint64 torrent_get_eta(JsonObject * t) return json_object_get_int_member(t, FIELD_ETA); } -gint64 torrent_get_downloaded(JsonObject *t) +gint64 torrent_get_downloaded(JsonObject * t) { return json_object_get_int_member(t, FIELD_DOWNLOADEDEVER); } @@ -189,88 +190,93 @@ gboolean torrent_get_is_private(JsonObject * t) gdouble torrent_get_percent_done(JsonObject * t) { - return json_double_to_progress(json_object_get_member(t, FIELD_PERCENTDONE)); + return + json_double_to_progress(json_object_get_member + (t, FIELD_PERCENTDONE)); } gdouble torrent_get_recheck_progress(JsonObject * t) { - return json_double_to_progress(json_object_get_member(t, FIELD_RECHECK_PROGRESS)); + return + json_double_to_progress(json_object_get_member + (t, FIELD_RECHECK_PROGRESS)); } -gint64 torrent_get_activity_date(JsonObject *t) +gint64 torrent_get_activity_date(JsonObject * t) { return json_object_get_int_member(t, FIELD_ACTIVITY_DATE); } -guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gint64 downRate, gint64 upRate) +guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, + gint64 downRate, gint64 upRate) { guint32 flags = 0; if (torrent_get_is_finished(t) == TRUE) - flags |= TORRENT_FLAG_COMPLETE; + flags |= TORRENT_FLAG_COMPLETE; else - flags |= TORRENT_FLAG_INCOMPLETE; + flags |= TORRENT_FLAG_INCOMPLETE; if (rpcv >= NEW_STATUS_RPC_VERSION) { - switch (status) { - case TR_STATUS_STOPPED: - flags |= TORRENT_FLAG_PAUSED; - break; - case TR_STATUS_CHECK_WAIT: - flags |= TORRENT_FLAG_WAITING_CHECK; - flags |= TORRENT_FLAG_CHECKING_ANY; - break; - case TR_STATUS_CHECK: - flags |= TORRENT_FLAG_CHECKING; - flags |= TORRENT_FLAG_CHECKING_ANY; - break; - case TR_STATUS_DOWNLOAD_WAIT: - flags |= TORRENT_FLAG_DOWNLOADING_WAIT; - flags |= TORRENT_FLAG_QUEUED; - break; - case TR_STATUS_DOWNLOAD: - if (!(flags & TORRENT_FLAG_COMPLETE)) - flags |= TORRENT_FLAG_DOWNLOADING; - - //if (torrent_get_metadata_percent_complete(t) < 100) - // flags |= TORRENT_FLAG_DOWNLOADING_METADATA; - - flags |= TORRENT_FLAG_ACTIVE; - break; - case TR_STATUS_SEED_WAIT: - flags |= TORRENT_FLAG_SEEDING_WAIT; - break; - case TR_STATUS_SEED: - flags |= TORRENT_FLAG_SEEDING; - if (torrent_get_peers_getting_from_us(t)) - flags |= TORRENT_FLAG_ACTIVE; - break; - } + switch (status) { + case TR_STATUS_STOPPED: + flags |= TORRENT_FLAG_PAUSED; + break; + case TR_STATUS_CHECK_WAIT: + flags |= TORRENT_FLAG_WAITING_CHECK; + flags |= TORRENT_FLAG_CHECKING_ANY; + break; + case TR_STATUS_CHECK: + flags |= TORRENT_FLAG_CHECKING; + flags |= TORRENT_FLAG_CHECKING_ANY; + break; + case TR_STATUS_DOWNLOAD_WAIT: + flags |= TORRENT_FLAG_DOWNLOADING_WAIT; + flags |= TORRENT_FLAG_QUEUED; + break; + case TR_STATUS_DOWNLOAD: + if (!(flags & TORRENT_FLAG_COMPLETE)) + flags |= TORRENT_FLAG_DOWNLOADING; + + //if (torrent_get_metadata_percent_complete(t) < 100) + // flags |= TORRENT_FLAG_DOWNLOADING_METADATA; + + flags |= TORRENT_FLAG_ACTIVE; + break; + case TR_STATUS_SEED_WAIT: + flags |= TORRENT_FLAG_SEEDING_WAIT; + break; + case TR_STATUS_SEED: + flags |= TORRENT_FLAG_SEEDING; + if (torrent_get_peers_getting_from_us(t)) + flags |= TORRENT_FLAG_ACTIVE; + break; + } } else { - switch (status) { - case OLD_STATUS_DOWNLOADING: - flags |= TORRENT_FLAG_DOWNLOADING; - break; - case OLD_STATUS_PAUSED: - flags |= TORRENT_FLAG_PAUSED; - break; - case OLD_STATUS_SEEDING: - flags |= TORRENT_FLAG_SEEDING; - break; - case OLD_STATUS_CHECKING: - flags |= TORRENT_FLAG_CHECKING; - break; - case OLD_STATUS_WAITING_TO_CHECK: - flags |= TORRENT_FLAG_WAITING_CHECK; - flags |= TORRENT_FLAG_CHECKING; - break; - } - if (downRate > 0 || upRate > 0) - flags |= TORRENT_FLAG_ACTIVE; + switch (status) { + case OLD_STATUS_DOWNLOADING: + flags |= TORRENT_FLAG_DOWNLOADING; + break; + case OLD_STATUS_PAUSED: + flags |= TORRENT_FLAG_PAUSED; + break; + case OLD_STATUS_SEEDING: + flags |= TORRENT_FLAG_SEEDING; + break; + case OLD_STATUS_CHECKING: + flags |= TORRENT_FLAG_CHECKING; + break; + case OLD_STATUS_WAITING_TO_CHECK: + flags |= TORRENT_FLAG_WAITING_CHECK; + flags |= TORRENT_FLAG_CHECKING; + break; + } + if (downRate > 0 || upRate > 0) + flags |= TORRENT_FLAG_ACTIVE; } if (strlen(torrent_get_errorstr(t)) > 0) - flags |= TORRENT_FLAG_ERROR; + flags |= TORRENT_FLAG_ERROR; return flags; } @@ -278,19 +284,19 @@ guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gint64 dow gchar *torrent_get_status_icon(gint64 rpcv, guint flags) { if (flags & TORRENT_FLAG_ERROR) - return g_strdup(GTK_STOCK_DIALOG_WARNING); + return g_strdup(GTK_STOCK_DIALOG_WARNING); //else if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) // return g_strdup(GTK_STOCK_FIND); else if (flags & TORRENT_FLAG_DOWNLOADING) - return g_strdup(GTK_STOCK_GO_DOWN); + return g_strdup(GTK_STOCK_GO_DOWN); else if (flags & TORRENT_FLAG_PAUSED) - return g_strdup(GTK_STOCK_MEDIA_PAUSE); + return g_strdup(GTK_STOCK_MEDIA_PAUSE); else if (flags & TORRENT_FLAG_SEEDING) - return g_strdup(GTK_STOCK_GO_UP); + return g_strdup(GTK_STOCK_GO_UP); else if (flags & TORRENT_FLAG_CHECKING) - return g_strdup(GTK_STOCK_REFRESH); + return g_strdup(GTK_STOCK_REFRESH); else - return g_strdup(GTK_STOCK_DIALOG_QUESTION); + return g_strdup(GTK_STOCK_DIALOG_QUESTION); } gint64 torrent_get_done_date(JsonObject * t) @@ -305,45 +311,42 @@ const gchar *torrent_get_errorstr(JsonObject * t) gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags) { - if (rpcv >= NEW_STATUS_RPC_VERSION) - { - switch (value) { - case TR_STATUS_DOWNLOAD: - /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) - return g_strdup(_("Metadata Downloading")); - else*/ - return g_strdup(_("Downloading")); - case TR_STATUS_DOWNLOAD_WAIT: - return g_strdup(_("Queued download")); - case TR_STATUS_CHECK_WAIT: - return g_strdup(_("Waiting To Check")); - case TR_STATUS_CHECK: - return g_strdup(_("Checking")); - case TR_STATUS_SEED_WAIT: - return g_strdup(_("Queued seed")); - case TR_STATUS_SEED: - return g_strdup(_("Seeding")); - case TR_STATUS_STOPPED: - return g_strdup(_("Paused")); - } - } - else - { - switch (value) { - case OLD_STATUS_DOWNLOADING: - /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) - return g_strdup(_("Metadata Downloading")); - else*/ - return g_strdup(_("Downloading")); - case OLD_STATUS_PAUSED: - return g_strdup(_("Paused")); - case OLD_STATUS_SEEDING: - return g_strdup(_("Seeding")); - case OLD_STATUS_CHECKING: - return g_strdup(_("Checking")); - case OLD_STATUS_WAITING_TO_CHECK: - return g_strdup(_("Waiting To Check")); - } + if (rpcv >= NEW_STATUS_RPC_VERSION) { + switch (value) { + case TR_STATUS_DOWNLOAD: + /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) + return g_strdup(_("Metadata Downloading")); + else */ + return g_strdup(_("Downloading")); + case TR_STATUS_DOWNLOAD_WAIT: + return g_strdup(_("Queued download")); + case TR_STATUS_CHECK_WAIT: + return g_strdup(_("Waiting To Check")); + case TR_STATUS_CHECK: + return g_strdup(_("Checking")); + case TR_STATUS_SEED_WAIT: + return g_strdup(_("Queued seed")); + case TR_STATUS_SEED: + return g_strdup(_("Seeding")); + case TR_STATUS_STOPPED: + return g_strdup(_("Paused")); + } + } else { + switch (value) { + case OLD_STATUS_DOWNLOADING: + /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) + return g_strdup(_("Metadata Downloading")); + else */ + return g_strdup(_("Downloading")); + case OLD_STATUS_PAUSED: + return g_strdup(_("Paused")); + case OLD_STATUS_SEEDING: + return g_strdup(_("Seeding")); + case OLD_STATUS_CHECKING: + return g_strdup(_("Checking")); + case OLD_STATUS_WAITING_TO_CHECK: + return g_strdup(_("Waiting To Check")); + } } //g_warning("Unknown status: %ld", value); @@ -359,16 +362,16 @@ gboolean torrent_has_tracker(JsonObject * t, GRegex * rx, gchar * search) trackers = json_array_get_elements(torrent_get_tracker_stats(t)); for (li = trackers; li; li = g_list_next(li)) { - JsonObject *tracker = json_node_get_object((JsonNode *) li->data); - const gchar *trackerAnnounce = tracker_stats_get_announce(tracker); - gchar *trackerAnnounceHost = - trg_gregex_get_first(rx, trackerAnnounce); - int cmpResult = g_strcmp0(trackerAnnounceHost, search); - g_free(trackerAnnounceHost); - if (!cmpResult) { - ret = TRUE; - break; - } + JsonObject *tracker = json_node_get_object((JsonNode *) li->data); + const gchar *trackerAnnounce = tracker_stats_get_announce(tracker); + gchar *trackerAnnounceHost = + trg_gregex_get_first(rx, trackerAnnounce); + int cmpResult = g_strcmp0(trackerAnnounceHost, search); + g_free(trackerAnnounceHost); + if (!cmpResult) { + ret = TRUE; + break; + } } g_list_free(trackers); @@ -394,9 +397,9 @@ const gchar *tracker_stats_get_scrape(JsonObject * t) JsonArray *get_torrents_removed(JsonObject * response) { if (G_UNLIKELY(json_object_has_member(response, FIELD_REMOVED))) - return json_object_get_array_member(response, FIELD_REMOVED); + return json_object_get_array_member(response, FIELD_REMOVED); else - return NULL; + return NULL; } JsonArray *get_torrents(JsonObject * response) @@ -411,27 +414,27 @@ JsonArray *torrent_get_files(JsonObject * args) return json_object_get_array_member(args, FIELD_FILES); } -gint64 torrent_get_peers_connected(JsonObject *args) +gint64 torrent_get_peers_connected(JsonObject * args) { return json_object_get_int_member(args, FIELD_PEERS_CONNECTED); } -gint64 torrent_get_peers_sending_to_us(JsonObject *args) +gint64 torrent_get_peers_sending_to_us(JsonObject * args) { return json_object_get_int_member(args, FIELD_PEERS_SENDING_TO_US); } -gint64 torrent_get_peers_getting_from_us(JsonObject *args) +gint64 torrent_get_peers_getting_from_us(JsonObject * args) { return json_object_get_int_member(args, FIELD_PEERS_GETTING_FROM_US); } -gint64 torrent_get_queue_position(JsonObject *args) +gint64 torrent_get_queue_position(JsonObject * args) { if (json_object_has_member(args, FIELD_QUEUE_POSITION)) - return json_object_get_int_member(args, FIELD_QUEUE_POSITION); + return json_object_get_int_member(args, FIELD_QUEUE_POSITION); else - return -1; + return -1; } /* tracker stats */ @@ -446,54 +449,56 @@ gint64 tracker_stats_get_tier(JsonObject * t) return json_object_get_int_member(t, FIELD_TIER); } -gint64 tracker_stats_get_last_announce_peer_count(JsonObject *t) +gint64 tracker_stats_get_last_announce_peer_count(JsonObject * t) { return json_object_get_int_member(t, FIELD_LAST_ANNOUNCE_PEER_COUNT); } -gint64 tracker_stats_get_last_announce_time(JsonObject *t) +gint64 tracker_stats_get_last_announce_time(JsonObject * t) { return json_object_get_int_member(t, FIELD_LAST_ANNOUNCE_TIME); } -gint64 tracker_stats_get_last_scrape_time(JsonObject *t) +gint64 tracker_stats_get_last_scrape_time(JsonObject * t) { return json_object_get_int_member(t, FIELD_LAST_SCRAPE_TIME); } -gint64 tracker_stats_get_seeder_count(JsonObject *t) +gint64 tracker_stats_get_seeder_count(JsonObject * t) { return json_object_get_int_member(t, FIELD_SEEDERCOUNT); } -gint64 tracker_stats_get_leecher_count(JsonObject *t) +gint64 tracker_stats_get_leecher_count(JsonObject * t) { return json_object_get_int_member(t, FIELD_LEECHERCOUNT); } -gint64 tracker_stats_get_download_count(JsonObject *t) +gint64 tracker_stats_get_download_count(JsonObject * t) { return json_object_get_int_member(t, FIELD_DOWNLOADCOUNT); } -const gchar *tracker_stats_get_announce_result(JsonObject *t) +const gchar *tracker_stats_get_announce_result(JsonObject * t) { return json_object_get_string_member(t, FIELD_LAST_ANNOUNCE_RESULT); } -const gchar *tracker_stats_get_host(JsonObject *t) +const gchar *tracker_stats_get_host(JsonObject * t) { return json_object_get_string_member(t, FIELD_HOST); } -gchar *torrent_get_full_path(JsonObject *obj) +gchar *torrent_get_full_path(JsonObject * obj) { - const gchar *location = json_object_get_string_member(obj, FIELD_DOWNLOAD_DIR); + const gchar *location = + json_object_get_string_member(obj, FIELD_DOWNLOAD_DIR); const gchar *name = json_object_get_string_member(obj, FIELD_NAME); return g_strdup_printf("%s/%s", location, name); } -gchar *torrent_get_full_dir(JsonObject * obj) { +gchar *torrent_get_full_dir(JsonObject * obj) +{ gchar *containing_path, *name, *delim; const gchar *location; JsonArray *files = torrent_get_files(obj); @@ -503,11 +508,11 @@ gchar *torrent_get_full_dir(JsonObject * obj) { firstFile = json_array_get_object_element(files, 0); name = g_strdup(json_object_get_string_member(firstFile, TFILE_NAME)); - if ( (delim = g_strstr_len(name,-1,"/")) ) { - *delim = '\0'; - containing_path = g_strdup_printf("%s/%s",location,name); + if ((delim = g_strstr_len(name, -1, "/"))) { + *delim = '\0'; + containing_path = g_strdup_printf("%s/%s", location, name); } else { - containing_path = g_strdup(location); + containing_path = g_strdup(location); } g_free(name); @@ -516,77 +521,87 @@ gchar *torrent_get_full_dir(JsonObject * obj) { /* peers */ -const gchar *peer_get_address(JsonObject * p) { +const gchar *peer_get_address(JsonObject * p) +{ return json_object_get_string_member(p, TPEER_ADDRESS); } -const gchar *peer_get_flagstr(JsonObject * p) { +const gchar *peer_get_flagstr(JsonObject * p) +{ return json_object_get_string_member(p, TPEER_FLAGSTR); } -const gchar *peer_get_client_name(JsonObject * p) { +const gchar *peer_get_client_name(JsonObject * p) +{ return json_object_get_string_member(p, TPEER_CLIENT_NAME); } -gboolean peer_get_is_encrypted(JsonObject * p) { +gboolean peer_get_is_encrypted(JsonObject * p) +{ return json_object_get_boolean_member(p, TPEER_IS_ENCRYPTED); } -gboolean peer_get_is_uploading_to(JsonObject * p) { +gboolean peer_get_is_uploading_to(JsonObject * p) +{ return json_object_get_boolean_member(p, TPEER_IS_UPLOADING_TO); } -gboolean peer_get_is_downloading_from(JsonObject * p) { +gboolean peer_get_is_downloading_from(JsonObject * p) +{ return json_object_get_boolean_member(p, TPEER_IS_DOWNLOADING_FROM); } -gdouble peer_get_progress(JsonObject * p) { - return json_double_to_progress(json_object_get_member(p, TPEER_PROGRESS)); +gdouble peer_get_progress(JsonObject * p) +{ + return + json_double_to_progress(json_object_get_member(p, TPEER_PROGRESS)); } -gint64 peer_get_rate_to_client(JsonObject * p) { +gint64 peer_get_rate_to_client(JsonObject * p) +{ return json_object_get_int_member(p, TPEER_RATE_TO_CLIENT); } -gint64 peer_get_rate_to_peer(JsonObject * p) { +gint64 peer_get_rate_to_peer(JsonObject * p) +{ return json_object_get_int_member(p, TPEER_RATE_TO_PEER); } -gint64 peerfrom_get_pex(JsonObject *pf) +gint64 peerfrom_get_pex(JsonObject * pf) { return json_object_get_int_member(pf, TPEERFROM_FROMPEX); } -gint64 peerfrom_get_dht(JsonObject *pf) +gint64 peerfrom_get_dht(JsonObject * pf) { return json_object_get_int_member(pf, TPEERFROM_FROMDHT); } -gint64 peerfrom_get_trackers(JsonObject *pf) +gint64 peerfrom_get_trackers(JsonObject * pf) { return json_object_get_int_member(pf, TPEERFROM_FROMTRACKERS); } -gint64 peerfrom_get_ltep(JsonObject *pf) +gint64 peerfrom_get_ltep(JsonObject * pf) { return json_object_get_int_member(pf, TPEERFROM_FROMLTEP); } -gint64 peerfrom_get_resume(JsonObject *pf) +gint64 peerfrom_get_resume(JsonObject * pf) { return json_object_get_int_member(pf, TPEERFROM_FROMRESUME); } -gint64 peerfrom_get_incoming(JsonObject *pf) +gint64 peerfrom_get_incoming(JsonObject * pf) { return json_object_get_int_member(pf, TPEERFROM_FROMINCOMING); } -gint64 peerfrom_get_lpd(JsonObject *pf) +gint64 peerfrom_get_lpd(JsonObject * pf) { return json_object_has_member(pf, TPEERFROM_FROMLPD) ? - json_object_get_int_member(pf, TPEERFROM_FROMLPD) : -1; + json_object_get_int_member(pf, TPEERFROM_FROMLPD) : -1; } /* files */ @@ -595,10 +610,10 @@ gdouble file_get_progress(JsonObject * f) { gint64 length = file_get_length(f); if (length > 0) { - return ((gdouble) file_get_bytes_completed(f) / - (gdouble) length) * 100.0; + return ((gdouble) file_get_bytes_completed(f) / + (gdouble) length) * 100.0; } else { - return 0.0; + return 0.0; } } diff --git a/src/torrent.h b/src/torrent.h index 8543f89..93bb920 100644 --- a/src/torrent.h +++ b/src/torrent.h @@ -41,8 +41,8 @@ #define FILTER_FLAG_TRACKER (1 << 14) #define FILTER_FLAG_DIR (1 << 15) -#define TORRENT_ADD_FLAG_PAUSED (1 << 0) /* 0x01 */ -#define TORRENT_ADD_FLAG_DELETE (1 << 1) /* 0x02 */ +#define TORRENT_ADD_FLAG_PAUSED (1 << 0) /* 0x01 */ +#define TORRENT_ADD_FLAG_DELETE (1 << 1) /* 0x02 */ gint64 torrent_get_size(JsonObject * t); const gchar *torrent_get_name(JsonObject * t); @@ -58,7 +58,8 @@ gint64 torrent_get_have_valid(JsonObject * t); gint64 torrent_get_status(JsonObject * t); gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags); gchar *torrent_get_status_icon(gint64 rpcv, guint flags); -guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gint64 downRate, gint64 upRate); +guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, + gint64 downRate, gint64 upRate); JsonArray *torrent_get_peers(JsonObject * t); JsonObject *torrent_get_peersfrom(JsonObject * t); JsonArray *torrent_get_tracker_stats(JsonObject * t); @@ -66,9 +67,9 @@ JsonArray *torrent_get_wanted(JsonObject * t); JsonArray *torrent_get_priorities(JsonObject * t); gint64 torrent_get_id(JsonObject * t); JsonArray *torrent_get_files(JsonObject * args); -gint64 torrent_get_peers_getting_from_us(JsonObject *args); -gint64 torrent_get_peers_sending_to_us(JsonObject *args); -gint64 torrent_get_peers_connected(JsonObject *args); +gint64 torrent_get_peers_getting_from_us(JsonObject * args); +gint64 torrent_get_peers_sending_to_us(JsonObject * args); +gint64 torrent_get_peers_connected(JsonObject * args); gdouble torrent_get_percent_done(JsonObject * t); gdouble torrent_get_recheck_progress(JsonObject * t); gint64 torrent_get_left_until_done(JsonObject * t); @@ -86,11 +87,11 @@ gdouble torrent_get_seed_ratio_limit(JsonObject * t); gint64 torrent_get_seed_ratio_mode(JsonObject * t); gint64 torrent_get_peer_limit(JsonObject * t); gboolean torrent_has_tracker(JsonObject * t, GRegex * rx, gchar * search); -gint64 torrent_get_queue_position(JsonObject *args); -gint64 torrent_get_activity_date(JsonObject *t); +gint64 torrent_get_queue_position(JsonObject * args); +gint64 torrent_get_activity_date(JsonObject * t); gchar *torrent_get_full_dir(JsonObject * obj); -gchar *torrent_get_full_path(JsonObject *obj); -gdouble torrent_get_metadata_percent_complete(JsonObject *t); +gchar *torrent_get_full_path(JsonObject * obj); +gdouble torrent_get_metadata_percent_complete(JsonObject * t); /* outer response object */ @@ -103,14 +104,14 @@ const gchar *tracker_stats_get_announce(JsonObject * t); const gchar *tracker_stats_get_scrape(JsonObject * t); gint64 tracker_stats_get_tier(JsonObject * t); gint64 tracker_stats_get_id(JsonObject * t); -gint64 tracker_stats_get_last_announce_peer_count(JsonObject *t); -gint64 tracker_stats_get_last_announce_time(JsonObject *t); -gint64 tracker_stats_get_seeder_count(JsonObject *t); -gint64 tracker_stats_get_leecher_count(JsonObject *t); -gint64 tracker_stats_get_download_count(JsonObject *t); -const gchar *tracker_stats_get_announce_result(JsonObject *t); -const gchar *tracker_stats_get_host(JsonObject *t); -gint64 tracker_stats_get_last_scrape_time(JsonObject *t); +gint64 tracker_stats_get_last_announce_peer_count(JsonObject * t); +gint64 tracker_stats_get_last_announce_time(JsonObject * t); +gint64 tracker_stats_get_seeder_count(JsonObject * t); +gint64 tracker_stats_get_leecher_count(JsonObject * t); +gint64 tracker_stats_get_download_count(JsonObject * t); +const gchar *tracker_stats_get_announce_result(JsonObject * t); +const gchar *tracker_stats_get_host(JsonObject * t); +gint64 tracker_stats_get_last_scrape_time(JsonObject * t); /* files */ @@ -131,11 +132,11 @@ gint64 peer_get_rate_to_peer(JsonObject * p); gboolean peer_get_is_uploading_to(JsonObject * p); gboolean peer_get_is_downloading_from(JsonObject * p); -gint64 peerfrom_get_pex(JsonObject *pf); -gint64 peerfrom_get_dht(JsonObject *pf); -gint64 peerfrom_get_trackers(JsonObject *pf); -gint64 peerfrom_get_ltep(JsonObject *pf); -gint64 peerfrom_get_resume(JsonObject *pf); -gint64 peerfrom_get_incoming(JsonObject *pf); -gint64 peerfrom_get_lpd(JsonObject *pf); -#endif /* TORRENT_H_ */ +gint64 peerfrom_get_pex(JsonObject * pf); +gint64 peerfrom_get_dht(JsonObject * pf); +gint64 peerfrom_get_trackers(JsonObject * pf); +gint64 peerfrom_get_ltep(JsonObject * pf); +gint64 peerfrom_get_resume(JsonObject * pf); +gint64 peerfrom_get_incoming(JsonObject * pf); +gint64 peerfrom_get_lpd(JsonObject * pf); +#endif /* TORRENT_H_ */ diff --git a/src/trg-about-window.c b/src/trg-about-window.c index 8cb645e..e5dc383 100644 --- a/src/trg-about-window.c +++ b/src/trg-about-window.c @@ -37,7 +37,8 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) gchar *licenseFile; #ifdef WIN32 - gchar *moddir = g_win32_get_package_installation_directory_of_module(NULL); + gchar *moddir = + g_win32_get_package_installation_directory_of_module(NULL); licenseFile = g_build_filename(moddir, "COPYING.TXT", NULL); g_free(moddir); #else @@ -49,45 +50,46 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); logo = - gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), - PACKAGE_NAME, 48, - GTK_ICON_LOOKUP_USE_BUILTIN, NULL); + gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), + PACKAGE_NAME, 48, + GTK_ICON_LOOKUP_USE_BUILTIN, NULL); if (logo != NULL) { - gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); - g_object_unref(logo); + gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); + g_object_unref(logo); } if (g_file_get_contents(licenseFile, &licenseText, NULL, NULL)) { - gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), - licenseText); + gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), + licenseText); } else { - gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); + gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); } - gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), PACKAGE_NAME); + gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), + PACKAGE_NAME); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), - PACKAGE_VERSION); + PACKAGE_VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), - "(C) 2011 Alan Fitton"); + "(C) 2011 Alan Fitton"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), - _ - ("A remote client to transmission-daemon.")); + _ + ("A remote client to transmission-daemon.")); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), - "http://code.google.com/p/transmission-remote-gtk/"); + "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(dialog), - "http://code.google.com/p/transmission-remote-gtk/"); + "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), trgAuthors); /*gtk_about_dialog_set_documenters(GTK_ABOUT_DIALOG(dialog), documenters); */ gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), - "translations kindly contributed by\n\n" - "* Julian Held (German)\n" - "* Youn sok Choi (Korean)\n" - "* Piotr (Polish)\n" - "* Y3AVD (Russian)\n" - "* ROR191 (Ukranian)\n" + "translations kindly contributed by\n\n" + "* Julian Held (German)\n" + "* Youn sok Choi (Korean)\n" + "* Piotr (Polish)\n" + "* Y3AVD (Russian)\n" + "* ROR191 (Ukranian)\n" "* aspidzent (Spanish)"); g_free(licenseFile); diff --git a/src/trg-about-window.h b/src/trg-about-window.h index 8fbd132..621ccfc 100644 --- a/src/trg-about-window.h +++ b/src/trg-about-window.h @@ -24,4 +24,4 @@ GtkWidget *trg_about_window_new(GtkWindow * parent); -#endif /* ABOUT_WINDOW_H_ */ +#endif /* ABOUT_WINDOW_H_ */ diff --git a/src/trg-cell-renderer-epoch.c b/src/trg-cell-renderer-epoch.c index 5b05f09..c440c3a 100644 --- a/src/trg-cell-renderer-epoch.c +++ b/src/trg-cell-renderer-epoch.c @@ -30,7 +30,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererEpoch, trg_cell_renderer_epoch, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_EPOCH, TrgCellRendererEpochPrivate)) typedef struct _TrgCellRendererEpochPrivate TrgCellRendererEpochPrivate; @@ -41,52 +41,52 @@ struct _TrgCellRendererEpochPrivate { static void trg_cell_renderer_epoch_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererEpochPrivate *priv = - TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); + TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); switch (property_id) { case PROP_EPOCH_VALUE: - g_value_set_int64(value, priv->epoch_value); - break; + g_value_set_int64(value, priv->epoch_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_cell_renderer_epoch_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererEpochPrivate *priv = - TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); + TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); if (property_id == PROP_EPOCH_VALUE) { - gint64 new_value = g_value_get_int64(value); - if (priv->epoch_value != new_value) { - if (new_value > 0) { + gint64 new_value = g_value_get_int64(value); + if (priv->epoch_value != new_value) { + if (new_value > 0) { #if GLIB_CHECK_VERSION(2, 26, 00) - GDateTime *dt = g_date_time_new_from_unix_local(new_value); - gchar *timestring = g_date_time_format(dt, "%F %H:%M:%S"); - g_object_set(object, "text", timestring, NULL); - g_free(timestring); - g_date_time_unref(dt); + GDateTime *dt = g_date_time_new_from_unix_local(new_value); + gchar *timestring = g_date_time_format(dt, "%F %H:%M:%S"); + g_object_set(object, "text", timestring, NULL); + g_free(timestring); + g_date_time_unref(dt); #else - time_t time_val = new_value; - char buf[64]; - struct tm *ts = localtime(&time_val); - strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ts); - g_object_set(object, "text", buf, NULL); + time_t time_val = new_value; + char buf[64]; + struct tm *ts = localtime(&time_val); + strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ts); + g_object_set(object, "text", buf, NULL); #endif - } else { - g_object_set(object, "text", "", NULL); - } - priv->epoch_value = new_value; - } + } else { + g_object_set(object, "text", "", NULL); + } + priv->epoch_value = new_value; + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -99,20 +99,20 @@ trg_cell_renderer_epoch_class_init(TrgCellRendererEpochClass * klass) object_class->set_property = trg_cell_renderer_epoch_set_property; g_object_class_install_property(object_class, - PROP_EPOCH_VALUE, - g_param_spec_int64("epoch-value", - "Epoch Value", - "Epoch Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_EPOCH_VALUE, + g_param_spec_int64("epoch-value", + "Epoch Value", + "Epoch Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererEpochPrivate)); } @@ -125,6 +125,6 @@ trg_cell_renderer_epoch_init(TrgCellRendererEpoch * self G_GNUC_UNUSED) GtkCellRenderer *trg_cell_renderer_epoch_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_EPOCH, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_EPOCH, NULL)); } diff --git a/src/trg-cell-renderer-epoch.h b/src/trg-cell-renderer-epoch.h index af235bf..742c1e4 100644 --- a/src/trg-cell-renderer-epoch.h +++ b/src/trg-cell-renderer-epoch.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_epoch_get_type(void); GtkCellRenderer *trg_cell_renderer_epoch_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_EPOCH_H_ */ +#endif /* TRG_CELL_RENDERER_EPOCH_H_ */ diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index 604ac8f..fafedb1 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererEta, trg_cell_renderer_eta, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_ETA_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_ETA, TrgCellRendererEtaPrivate)) typedef struct _TrgCellRendererEtaPrivate TrgCellRendererEtaPrivate; @@ -40,42 +40,42 @@ struct _TrgCellRendererEtaPrivate { static void trg_cell_renderer_eta_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = - TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); + TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); switch (property_id) { case PROP_ETA_VALUE: - g_value_set_int64(value, priv->eta_value); - break; + g_value_set_int64(value, priv->eta_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_cell_renderer_eta_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = - TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); + TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); if (property_id == PROP_ETA_VALUE) { - priv->eta_value = g_value_get_int64(value); - if (priv->eta_value > 0) { - char etaString[32]; - tr_strltime_short(etaString, priv->eta_value, - sizeof(etaString)); - g_object_set(object, "text", etaString, NULL); - } else if (priv->eta_value == -2) { - g_object_set(object, "text", "∞", NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->eta_value = g_value_get_int64(value); + if (priv->eta_value > 0) { + char etaString[32]; + tr_strltime_short(etaString, priv->eta_value, + sizeof(etaString)); + g_object_set(object, "text", etaString, NULL); + } else if (priv->eta_value == -2) { + g_object_set(object, "text", "∞", NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -88,20 +88,20 @@ trg_cell_renderer_eta_class_init(TrgCellRendererEtaClass * klass) object_class->set_property = trg_cell_renderer_eta_set_property; g_object_class_install_property(object_class, - PROP_ETA_VALUE, - g_param_spec_int64("eta-value", - "Eta Value", - "Eta Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_ETA_VALUE, + g_param_spec_int64("eta-value", + "Eta Value", + "Eta Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererEtaPrivate)); } @@ -114,5 +114,5 @@ trg_cell_renderer_eta_init(TrgCellRendererEta * self G_GNUC_UNUSED) GtkCellRenderer *trg_cell_renderer_eta_new(void) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_ETA, NULL)); + GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_ETA, NULL)); } diff --git a/src/trg-cell-renderer-eta.h b/src/trg-cell-renderer-eta.h index a56d96f..d3533fc 100644 --- a/src/trg-cell-renderer-eta.h +++ b/src/trg-cell-renderer-eta.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_eta_get_type(void); GtkCellRenderer *trg_cell_renderer_eta_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_ETA_H_ */ +#endif /* TRG_CELL_RENDERER_ETA_H_ */ diff --git a/src/trg-cell-renderer-numgteqthan.c b/src/trg-cell-renderer-numgteqthan.c index 36d579f..4aa07bb 100644 --- a/src/trg-cell-renderer-numgteqthan.c +++ b/src/trg-cell-renderer-numgteqthan.c @@ -30,10 +30,11 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererNumGtEqThan, trg_cell_renderer_numgteqthan, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_NUMGTEQTHAN, TrgCellRendererNumGtEqThanPrivate)) -typedef struct _TrgCellRendererNumGtEqThanPrivate TrgCellRendererNumGtEqThanPrivate; +typedef struct _TrgCellRendererNumGtEqThanPrivate + TrgCellRendererNumGtEqThanPrivate; struct _TrgCellRendererNumGtEqThanPrivate { gint64 value_value; @@ -41,88 +42,97 @@ struct _TrgCellRendererNumGtEqThanPrivate { }; static void -trg_cell_renderer_numgteqthan_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) +trg_cell_renderer_numgteqthan_get_property(GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec) { TrgCellRendererNumGtEqThanPrivate *priv = - TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); + TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); switch (property_id) { case PROP_VALUE_VALUE: - g_value_set_int64(value, priv->value_value); - break; + g_value_set_int64(value, priv->value_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void -trg_cell_renderer_numgteqthan_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) +trg_cell_renderer_numgteqthan_set_property(GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgCellRendererNumGtEqThanPrivate *priv = - TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); + TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); if (property_id == PROP_VALUE_VALUE) { - priv->value_value = g_value_get_int64(value); - if (priv->value_value >= priv->minvalue) { - gchar size_text[32]; - g_snprintf(size_text, sizeof(size_text), "%"G_GINT64_FORMAT, priv->value_value); - g_object_set(object, "text", size_text, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->value_value = g_value_get_int64(value); + if (priv->value_value >= priv->minvalue) { + gchar size_text[32]; + g_snprintf(size_text, sizeof(size_text), "%" G_GINT64_FORMAT, + priv->value_value); + g_object_set(object, "text", size_text, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else if (property_id == PROP_MINVALUE) { - priv->minvalue = g_value_get_int64(value); + priv->minvalue = g_value_get_int64(value); } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void -trg_cell_renderer_numgteqthan_class_init(TrgCellRendererNumGtEqThanClass * klass) +trg_cell_renderer_numgteqthan_class_init(TrgCellRendererNumGtEqThanClass * + klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); - object_class->get_property = trg_cell_renderer_numgteqthan_get_property; - object_class->set_property = trg_cell_renderer_numgteqthan_set_property; + object_class->get_property = + trg_cell_renderer_numgteqthan_get_property; + object_class->set_property = + trg_cell_renderer_numgteqthan_set_property; g_object_class_install_property(object_class, - PROP_VALUE_VALUE, - g_param_spec_int64("value", - "Value", - "Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_VALUE_VALUE, + g_param_spec_int64("value", + "Value", + "Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, - PROP_MINVALUE, - g_param_spec_int64("minvalue", - "Min Value", - "Min Value", - INT64_MIN, - INT64_MAX, - 1, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); - - g_type_class_add_private(klass, sizeof(TrgCellRendererNumGtEqThanPrivate)); + PROP_MINVALUE, + g_param_spec_int64("minvalue", + "Min Value", + "Min Value", + INT64_MIN, + INT64_MAX, + 1, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); + + g_type_class_add_private(klass, + sizeof(TrgCellRendererNumGtEqThanPrivate)); } -static void trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * self) +static void trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * + self) { g_object_set(self, "xalign", 1.0f, NULL); } @@ -130,5 +140,7 @@ static void trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * self GtkCellRenderer *trg_cell_renderer_numgteqthan_new(gint64 minvalue) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_NUMGTEQTHAN, "minvalue", minvalue, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_NUMGTEQTHAN, "minvalue", + minvalue, NULL)); } diff --git a/src/trg-cell-renderer-numgteqthan.h b/src/trg-cell-renderer-numgteqthan.h index dca71c6..fb15e5a 100644 --- a/src/trg-cell-renderer-numgteqthan.h +++ b/src/trg-cell-renderer-numgteqthan.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_numgteqthan_get_type(void); GtkCellRenderer *trg_cell_renderer_numgteqthan_new(gint64 minvalue); G_END_DECLS -#endif /* TRG_CELL_RENDERER_NUMGTEQTHAN_H_ */ +#endif /* TRG_CELL_RENDERER_NUMGTEQTHAN_H_ */ diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index 14d4763..747c6a5 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -32,7 +32,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererPriority, trg_cell_renderer_priority, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_PRIORITY, TrgCellRendererPriorityPrivate)) typedef struct _TrgCellRendererPriorityPrivate @@ -44,40 +44,40 @@ struct _TrgCellRendererPriorityPrivate { static void trg_cell_renderer_priority_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec) + guint property_id, GValue * value, + GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = - TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); + TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); switch (property_id) { case PROP_PRIORITY_VALUE: - g_value_set_int64(value, priv->priority_value); - break; + g_value_set_int64(value, priv->priority_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_priority_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = - TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); + TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); if (property_id == PROP_PRIORITY_VALUE) { - priv->priority_value = g_value_get_int64(value); - if (priv->priority_value == TR_PRI_LOW) { - g_object_set(object, "text", _("Low"), NULL); - } else if (priv->priority_value == TR_PRI_HIGH) { - g_object_set(object, "text", _("High"), NULL); - } else { - g_object_set(object, "text", _("Normal"), NULL); - } + priv->priority_value = g_value_get_int64(value); + if (priv->priority_value == TR_PRI_LOW) { + g_object_set(object, "text", _("Low"), NULL); + } else if (priv->priority_value == TR_PRI_HIGH) { + g_object_set(object, "text", _("High"), NULL); + } else { + g_object_set(object, "text", _("Normal"), NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -90,30 +90,30 @@ trg_cell_renderer_priority_class_init(TrgCellRendererPriorityClass * klass) object_class->set_property = trg_cell_renderer_priority_set_property; g_object_class_install_property(object_class, - PROP_PRIORITY_VALUE, - g_param_spec_int64 - ("priority-value", - "Priority Value", - "Priority Value", TR_PRI_LOW, - TR_PRI_HIGH, TR_PRI_NORMAL, - G_PARAM_READWRITE | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PRIORITY_VALUE, + g_param_spec_int64 + ("priority-value", + "Priority Value", + "Priority Value", TR_PRI_LOW, + TR_PRI_HIGH, TR_PRI_NORMAL, + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, - sizeof(TrgCellRendererPriorityPrivate)); + sizeof(TrgCellRendererPriorityPrivate)); } static void trg_cell_renderer_priority_init(TrgCellRendererPriority * - self G_GNUC_UNUSED) + self G_GNUC_UNUSED) { } GtkCellRenderer *trg_cell_renderer_priority_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_PRIORITY, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_PRIORITY, NULL)); } diff --git a/src/trg-cell-renderer-priority.h b/src/trg-cell-renderer-priority.h index 8d47bca..e53d8ce 100644 --- a/src/trg-cell-renderer-priority.h +++ b/src/trg-cell-renderer-priority.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_priority_get_type(void); GtkCellRenderer *trg_cell_renderer_priority_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_PRIORITY_H_ */ +#endif /* TRG_CELL_RENDERER_PRIORITY_H_ */ diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index 2a1c304..5b0d4b6 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererRatio, trg_cell_renderer_ratio, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_RATIO_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_RATIO, TrgCellRendererRatioPrivate)) typedef struct _TrgCellRendererRatioPrivate TrgCellRendererRatioPrivate; @@ -40,37 +40,37 @@ struct _TrgCellRendererRatioPrivate { static void trg_cell_renderer_ratio_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = - TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); + TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); switch (property_id) { case PROP_RATIO_VALUE: - g_value_set_double(value, priv->ratio_value); - break; + g_value_set_double(value, priv->ratio_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_ratio_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = - TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); + TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); if (property_id == PROP_RATIO_VALUE) { - priv->ratio_value = g_value_get_double(value); - if (priv->ratio_value > 0) { - char ratioString[32]; - trg_strlratio(ratioString, priv->ratio_value); - g_object_set(object, "text", ratioString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->ratio_value = g_value_get_double(value); + if (priv->ratio_value > 0) { + char ratioString[32]; + trg_strlratio(ratioString, priv->ratio_value); + g_object_set(object, "text", ratioString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -83,20 +83,20 @@ trg_cell_renderer_ratio_class_init(TrgCellRendererRatioClass * klass) object_class->set_property = trg_cell_renderer_ratio_set_property; g_object_class_install_property(object_class, - PROP_RATIO_VALUE, - g_param_spec_double("ratio-value", - "Ratio Value", - "Ratio Value", - 0, - DBL_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_RATIO_VALUE, + g_param_spec_double("ratio-value", + "Ratio Value", + "Ratio Value", + 0, + DBL_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererRatioPrivate)); } @@ -109,6 +109,6 @@ static void trg_cell_renderer_ratio_init(TrgCellRendererRatio * self) GtkCellRenderer *trg_cell_renderer_ratio_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_RATIO, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_RATIO, NULL)); } diff --git a/src/trg-cell-renderer-ratio.h b/src/trg-cell-renderer-ratio.h index 82593a0..9606f54 100644 --- a/src/trg-cell-renderer-ratio.h +++ b/src/trg-cell-renderer-ratio.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_ratio_get_type(void); GtkCellRenderer *trg_cell_renderer_ratio_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_RATIO_H_ */ +#endif /* TRG_CELL_RENDERER_RATIO_H_ */ diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index 2271d2e..eadf59e 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSize, trg_cell_renderer_size, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SIZE_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SIZE, TrgCellRendererSizePrivate)) typedef struct _TrgCellRendererSizePrivate TrgCellRendererSizePrivate; @@ -40,37 +40,37 @@ struct _TrgCellRendererSizePrivate { static void trg_cell_renderer_size_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = - TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); + TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); switch (property_id) { case PROP_SIZE_VALUE: - g_value_set_int64(value, priv->size_value); - break; + g_value_set_int64(value, priv->size_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_size_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = - TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); + TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); if (property_id == PROP_SIZE_VALUE) { - priv->size_value = g_value_get_int64(value); - if (priv->size_value > 0) { - char sizeString[32]; - trg_strlsize(sizeString, priv->size_value); - g_object_set(object, "text", sizeString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->size_value = g_value_get_int64(value); + if (priv->size_value > 0) { + char sizeString[32]; + trg_strlsize(sizeString, priv->size_value); + g_object_set(object, "text", sizeString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -83,20 +83,20 @@ trg_cell_renderer_size_class_init(TrgCellRendererSizeClass * klass) object_class->set_property = trg_cell_renderer_size_set_property; g_object_class_install_property(object_class, - PROP_SIZE_VALUE, - g_param_spec_int64("size-value", - "Size Value", - "Size Value", - 0, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_SIZE_VALUE, + g_param_spec_int64("size-value", + "Size Value", + "Size Value", + 0, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSizePrivate)); } @@ -109,5 +109,5 @@ static void trg_cell_renderer_size_init(TrgCellRendererSize * self) GtkCellRenderer *trg_cell_renderer_size_new(void) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_SIZE, NULL)); + GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_SIZE, NULL)); } diff --git a/src/trg-cell-renderer-size.h b/src/trg-cell-renderer-size.h index 94e5a00..b7900d6 100644 --- a/src/trg-cell-renderer-size.h +++ b/src/trg-cell-renderer-size.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_size_get_type(void); GtkCellRenderer *trg_cell_renderer_size_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_SIZE_H_ */ +#endif /* TRG_CELL_RENDERER_SIZE_H_ */ diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 6fcc797..369e04d 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSpeed, trg_cell_renderer_speed, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SPEED_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SPEED, TrgCellRendererSpeedPrivate)) typedef struct _TrgCellRendererSpeedPrivate TrgCellRendererSpeedPrivate; @@ -40,38 +40,38 @@ struct _TrgCellRendererSpeedPrivate { static void trg_cell_renderer_speed_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); switch (property_id) { case PROP_SPEED_VALUE: - g_value_set_int64(value, priv->speed_value); - break; + g_value_set_int64(value, priv->speed_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_speed_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); if (property_id == PROP_SPEED_VALUE) { - priv->speed_value = g_value_get_int64(value); - if (priv->speed_value > 0) { - char speedString[32]; - trg_strlspeed(speedString, - priv->speed_value / KILOBYTE_FACTOR); - g_object_set(object, "text", speedString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->speed_value = g_value_get_int64(value); + if (priv->speed_value > 0) { + char speedString[32]; + trg_strlspeed(speedString, + priv->speed_value / KILOBYTE_FACTOR); + g_object_set(object, "text", speedString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -84,20 +84,20 @@ trg_cell_renderer_speed_class_init(TrgCellRendererSpeedClass * klass) object_class->set_property = trg_cell_renderer_speed_set_property; g_object_class_install_property(object_class, - PROP_SPEED_VALUE, - g_param_spec_int64("speed-value", - "Speed Value", - "Speed Value", - 0, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_SPEED_VALUE, + g_param_spec_int64("speed-value", + "Speed Value", + "Speed Value", + 0, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSpeedPrivate)); } @@ -110,6 +110,6 @@ static void trg_cell_renderer_speed_init(TrgCellRendererSpeed * self) GtkCellRenderer *trg_cell_renderer_speed_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); } diff --git a/src/trg-cell-renderer-speed.h b/src/trg-cell-renderer-speed.h index e8ea8f0..6aa6b7f 100644 --- a/src/trg-cell-renderer-speed.h +++ b/src/trg-cell-renderer-speed.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_speed_get_type(void); GtkCellRenderer *trg_cell_renderer_speed_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_SPEED_H_ */ +#endif /* TRG_CELL_RENDERER_SPEED_H_ */ diff --git a/src/trg-client.c b/src/trg-client.c index c25f166..942121d 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -52,7 +52,7 @@ * 8) Holds the latest session object sent in a session-get response. */ -G_DEFINE_TYPE (TrgClient, trg_client, G_TYPE_OBJECT) +G_DEFINE_TYPE(TrgClient, trg_client, G_TYPE_OBJECT) enum { TC_SESSION_UPDATED, @@ -87,67 +87,63 @@ struct _TrgClientPrivate { GMutex *configMutex; }; -static void dispatch_async_threadfunc(trg_request *reqrsp, - TrgClient * client); +static void dispatch_async_threadfunc(trg_request * reqrsp, + TrgClient * client); static void -trg_client_get_property (GObject *object, guint property_id, - GValue *value, GParamSpec *pspec) +trg_client_get_property(GObject * object, guint property_id, + GValue * value, GParamSpec * pspec) { - switch (property_id) { - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; - } + switch (property_id) { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; + } } static void -trg_client_set_property (GObject *object, guint property_id, - const GValue *value, GParamSpec *pspec) +trg_client_set_property(GObject * object, guint property_id, + const GValue * value, GParamSpec * pspec) { - switch (property_id) { - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; - } + switch (property_id) { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; + } } -static void -trg_client_dispose (GObject *object) +static void trg_client_dispose(GObject * object) { - G_OBJECT_CLASS (trg_client_parent_class)->dispose (object); + G_OBJECT_CLASS(trg_client_parent_class)->dispose(object); } -static void -trg_client_class_init (TrgClientClass *klass) +static void trg_client_class_init(TrgClientClass * klass) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); + GObjectClass *object_class = G_OBJECT_CLASS(klass); - g_type_class_add_private (klass, sizeof (TrgClientPrivate)); + g_type_class_add_private(klass, sizeof(TrgClientPrivate)); - object_class->get_property = trg_client_get_property; - object_class->set_property = trg_client_set_property; - object_class->dispose = trg_client_dispose; + object_class->get_property = trg_client_get_property; + object_class->set_property = trg_client_set_property; + object_class->dispose = trg_client_dispose; - signals[TC_SESSION_UPDATED] = - g_signal_new("session-updated", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgClientClass, - session_updated), NULL, - NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_POINTER); + signals[TC_SESSION_UPDATED] = + g_signal_new("session-updated", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgClientClass, + session_updated), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); } -static void -trg_client_init (TrgClient *self) +static void trg_client_init(TrgClient * self) { } -TrgClient* -trg_client_new (void) +TrgClient *trg_client_new(void) { - TrgClient *tc = g_object_new (TRG_TYPE_CLIENT, NULL); + TrgClient *tc = g_object_new(TRG_TYPE_CLIENT, NULL); TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); TrgPrefs *prefs = priv->prefs = trg_prefs_new(); @@ -158,33 +154,33 @@ trg_client_new (void) priv->tlsKey = g_private_new(NULL); priv->pool = g_thread_pool_new((GFunc) dispatch_async_threadfunc, tc, - DISPATCH_POOL_SIZE, TRUE, NULL); + DISPATCH_POOL_SIZE, TRUE, NULL); return tc; } -const gchar *trg_client_get_version_string(TrgClient *tc) +const gchar *trg_client_get_version_string(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return session_get_version_string(priv->session); } -float trg_client_get_version(TrgClient *tc) +float trg_client_get_version(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->version; } -gint64 trg_client_get_rpc_version(TrgClient *tc) +gint64 trg_client_get_rpc_version(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return session_get_rpc_version(priv->session); } -void trg_client_inc_connid(TrgClient *tc) +void trg_client_inc_connid(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - g_atomic_int_inc(&priv->connid); + TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + g_atomic_int_inc(&priv->connid); } void trg_client_set_session(TrgClient * tc, JsonObject * session) @@ -192,9 +188,9 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); if (priv->session) { - json_object_unref(priv->session); + json_object_unref(priv->session); } else { - session_get_version(session, &priv->version); + session_get_version(session, &priv->version); } priv->session = session; @@ -202,7 +198,7 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) g_signal_emit(tc, signals[TC_SESSION_UPDATED], 0, session); } -TrgPrefs *trg_client_get_prefs(TrgClient *tc) +TrgPrefs *trg_client_get_prefs(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->prefs; @@ -233,51 +229,56 @@ int trg_client_populate_with_settings(TrgClient * tc) priv->password = NULL; port = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION); + trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION); - host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, TRG_PREFS_CONNECTION); + host = + trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, + TRG_PREFS_CONNECTION); if (!host || strlen(host) < 1) { - g_free(host); - g_mutex_unlock(priv->configMutex); - return TRG_NO_HOSTNAME_SET; + g_free(host); + g_mutex_unlock(priv->configMutex); + return TRG_NO_HOSTNAME_SET; } - #ifndef CURL_NO_SSL - priv->ssl = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL, TRG_PREFS_CONNECTION); + priv->ssl = + trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL, TRG_PREFS_CONNECTION); #else priv->ssl = FALSE; #endif priv->url = - g_strdup_printf("%s://%s:%d/transmission/rpc", - priv->ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX, host, port); + g_strdup_printf("%s://%s:%d/transmission/rpc", + priv->ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX, + host, port); g_free(host); priv->username = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME, TRG_PREFS_CONNECTION); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME, + TRG_PREFS_CONNECTION); priv->password = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD, TRG_PREFS_CONNECTION); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD, + TRG_PREFS_CONNECTION); g_free(priv->proxy); priv->proxy = NULL; #ifdef HAVE_LIBPROXY if ((pf = px_proxy_factory_new())) { - char **proxies = px_proxy_factory_get_proxies(pf, priv->url); - int i; - - for (i = 0; proxies[i]; i++) { - if (g_str_has_prefix(proxies[i], HTTP_URI_PREFIX)) { - g_free(priv->proxy); - priv->proxy = proxies[i]; - } else { - g_free(proxies[i]); - } - } - - g_free(proxies); - px_proxy_factory_free(pf); + char **proxies = px_proxy_factory_get_proxies(pf, priv->url); + int i; + + for (i = 0; proxies[i]; i++) { + if (g_str_has_prefix(proxies[i], HTTP_URI_PREFIX)) { + g_free(priv->proxy); + priv->proxy = proxies[i]; + } else { + g_free(proxies[i]); + } + } + + g_free(proxies); + px_proxy_factory_free(pf); } #endif @@ -286,152 +287,153 @@ int trg_client_populate_with_settings(TrgClient * tc) return 0; } -gchar *trg_client_get_password(TrgClient *tc) +gchar *trg_client_get_password(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->password; } -gchar *trg_client_get_username(TrgClient *tc) +gchar *trg_client_get_username(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->username; } -gchar *trg_client_get_url(TrgClient *tc) +gchar *trg_client_get_url(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->url; } -gchar *trg_client_get_session_id(TrgClient *tc) +gchar *trg_client_get_session_id(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->session_id ? g_strdup(priv->session_id) : NULL; } -void trg_client_set_session_id(TrgClient *tc, gchar *session_id) +void trg_client_set_session_id(TrgClient * tc, gchar * session_id) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_mutex_lock(priv->configMutex); if (priv->session_id) - g_free(priv->session_id); + g_free(priv->session_id); priv->session_id = session_id; g_mutex_unlock(priv->configMutex); } -void trg_client_status_change(TrgClient *tc, gboolean connected) +void trg_client_status_change(TrgClient * tc, gboolean connected) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); if (!connected) { - if (priv->session) { - json_object_unref(priv->session); - priv->session = NULL; - } - g_mutex_lock(priv->configMutex); - trg_prefs_set_connection(priv->prefs, NULL); - g_mutex_unlock(priv->configMutex); + if (priv->session) { + json_object_unref(priv->session); + priv->session = NULL; + } + g_mutex_lock(priv->configMutex); + trg_prefs_set_connection(priv->prefs, NULL); + g_mutex_unlock(priv->configMutex); } } -JsonObject* trg_client_get_session(TrgClient *tc) +JsonObject *trg_client_get_session(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->session; } -void trg_client_thread_pool_push(TrgClient *tc, gpointer data, GError **err) +void trg_client_thread_pool_push(TrgClient * tc, gpointer data, + GError ** err) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_thread_pool_push(priv->pool, data, err); } -void trg_client_inc_serial(TrgClient *tc) +void trg_client_inc_serial(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); priv->updateSerial++; } -gint64 trg_client_get_serial(TrgClient *tc) +gint64 trg_client_get_serial(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->updateSerial; } #ifndef CURL_NO_SSL -gboolean trg_client_get_ssl(TrgClient *tc) +gboolean trg_client_get_ssl(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->ssl; } #endif -gchar *trg_client_get_proxy(TrgClient *tc) +gchar *trg_client_get_proxy(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->proxy; } -void trg_client_set_torrent_table(TrgClient *tc, GHashTable *table) +void trg_client_set_torrent_table(TrgClient * tc, GHashTable * table) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); priv->torrentTable = table; } -GHashTable* trg_client_get_torrent_table(TrgClient *tc) +GHashTable *trg_client_get_torrent_table(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->torrentTable; } -gboolean trg_client_is_connected(TrgClient *tc) +gboolean trg_client_is_connected(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->session != NULL; } -void trg_client_updatelock(TrgClient *tc) +void trg_client_updatelock(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_mutex_lock(priv->updateMutex); } -void trg_client_configlock(TrgClient *tc) +void trg_client_configlock(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_mutex_lock(priv->configMutex); } -guint trg_client_get_failcount(TrgClient *tc) +guint trg_client_get_failcount(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return priv->failCount; } -guint trg_client_inc_failcount(TrgClient *tc) +guint trg_client_inc_failcount(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); return ++(priv->failCount); } -void trg_client_reset_failcount(TrgClient *tc) +void trg_client_reset_failcount(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); priv->failCount = 0; } -void trg_client_updateunlock(TrgClient *tc) +void trg_client_updateunlock(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_mutex_unlock(priv->updateMutex); } -void trg_client_configunlock(TrgClient *tc) +void trg_client_configunlock(TrgClient * tc) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_mutex_unlock(priv->configMutex); @@ -439,10 +441,10 @@ void trg_client_configunlock(TrgClient *tc) /* formerly http.c */ -void trg_response_free(trg_response *response) +void trg_response_free(trg_response * response) { - if (response->obj) - json_object_unref(response->obj); + if (response->obj) + json_object_unref(response->obj); g_free(response); } @@ -454,58 +456,60 @@ http_receive_callback(void *ptr, size_t size, size_t nmemb, void *data) mem->raw = g_realloc(mem->raw, mem->size + realsize + 1); if (mem->raw) { - memcpy(&(mem->raw[mem->size]), ptr, realsize); - mem->size += realsize; - mem->raw[mem->size] = 0; + memcpy(&(mem->raw[mem->size]), ptr, realsize); + mem->size += realsize; + mem->raw[mem->size] = 0; } return realsize; } static size_t header_callback(void *ptr, size_t size, size_t nmemb, - void *data) + void *data) { char *header = (char *) (ptr); TrgClient *tc = TRG_CLIENT(data); gchar *session_id; if (g_str_has_prefix(header, X_TRANSMISSION_SESSION_ID_HEADER_PREFIX)) { - char *nl; + char *nl; - session_id = g_strdup(header); - nl = strrchr(session_id, '\r'); - if (nl) - *nl = '\0'; + session_id = g_strdup(header); + nl = strrchr(session_id, '\r'); + if (nl) + *nl = '\0'; - trg_client_set_session_id(tc, session_id); + trg_client_set_session_id(tc, session_id); } return (nmemb * size); } -static void trg_tls_update(TrgClient *tc, trg_tls *tls, gint serial) +static void trg_tls_update(TrgClient * tc, trg_tls * tls, gint serial) { gchar *proxy; - curl_easy_setopt(tls->curl, CURLOPT_PASSWORD, trg_client_get_password(tc)); - curl_easy_setopt(tls->curl, CURLOPT_USERNAME, trg_client_get_username(tc)); + curl_easy_setopt(tls->curl, CURLOPT_PASSWORD, + trg_client_get_password(tc)); + curl_easy_setopt(tls->curl, CURLOPT_USERNAME, + trg_client_get_username(tc)); curl_easy_setopt(tls->curl, CURLOPT_URL, trg_client_get_url(tc)); #ifndef CURL_NO_SSL if (trg_client_get_ssl(tc)) - curl_easy_setopt(tls->curl, CURLOPT_SSL_VERIFYPEER, 0); + curl_easy_setopt(tls->curl, CURLOPT_SSL_VERIFYPEER, 0); #endif proxy = trg_client_get_proxy(tc); if (proxy) { - curl_easy_setopt(tls->curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); - curl_easy_setopt(tls->curl, CURLOPT_PROXY, proxy); + curl_easy_setopt(tls->curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); + curl_easy_setopt(tls->curl, CURLOPT_PROXY, proxy); } tls->serial = serial; } -trg_tls *trg_tls_new(TrgClient *tc) +trg_tls *trg_tls_new(TrgClient * tc) { trg_tls *tls = g_new0(trg_tls, 1); @@ -514,7 +518,7 @@ trg_tls *trg_tls_new(TrgClient *tc) curl_easy_setopt(tls->curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_easy_setopt(tls->curl, CURLOPT_TIMEOUT, 20); curl_easy_setopt(tls->curl, CURLOPT_WRITEFUNCTION, - &http_receive_callback); + &http_receive_callback); curl_easy_setopt(tls->curl, CURLOPT_HEADERFUNCTION, &header_callback); curl_easy_setopt(tls->curl, CURLOPT_WRITEHEADER, (void *) tc); @@ -524,9 +528,9 @@ trg_tls *trg_tls_new(TrgClient *tc) } static int trg_http_perform_inner(TrgClient * tc, - gchar * reqstr, - trg_response *response, - gboolean recurse) + gchar * reqstr, + trg_response * response, + gboolean recurse) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); gpointer threadLocalStorage = g_private_get(priv->tlsKey); @@ -536,21 +540,21 @@ static int trg_http_perform_inner(TrgClient * tc, struct curl_slist *headers = NULL; if (!threadLocalStorage) { - tls = trg_tls_new(tc); - g_private_set(priv->tlsKey, tls); + tls = trg_tls_new(tc); + g_private_set(priv->tlsKey, tls); } else { - tls = (trg_tls*)threadLocalStorage; + tls = (trg_tls *) threadLocalStorage; } g_mutex_lock(priv->configMutex); if (priv->configSerial > tls->serial) - trg_tls_update(tc, tls, priv->configSerial); + trg_tls_update(tc, tls, priv->configSerial); session_id = trg_client_get_session_id(tc); if (session_id) { - headers = curl_slist_append(NULL, session_id); - curl_easy_setopt(tls->curl, CURLOPT_HTTPHEADER, headers); + headers = curl_slist_append(NULL, session_id); + curl_easy_setopt(tls->curl, CURLOPT_HTTPHEADER, headers); } g_mutex_unlock(priv->configMutex); @@ -559,27 +563,27 @@ static int trg_http_perform_inner(TrgClient * tc, response->raw = NULL; curl_easy_setopt(tls->curl, CURLOPT_POSTFIELDS, reqstr); - curl_easy_setopt(tls->curl, CURLOPT_WRITEDATA, (void *)response); + curl_easy_setopt(tls->curl, CURLOPT_WRITEDATA, (void *) response); response->status = curl_easy_perform(tls->curl); if (session_id) { - g_free(session_id); - curl_slist_free_all(headers); + g_free(session_id); + curl_slist_free_all(headers); } curl_easy_getinfo(tls->curl, CURLINFO_RESPONSE_CODE, &httpCode); if (response->status == CURLE_OK) { - if (httpCode == HTTP_CONFLICT && recurse == TRUE) - return trg_http_perform_inner(tc, reqstr, response, FALSE); - else if (httpCode != HTTP_OK) - response->status = (-httpCode) - 100; + if (httpCode == HTTP_CONFLICT && recurse == TRUE) + return trg_http_perform_inner(tc, reqstr, response, FALSE); + else if (httpCode != HTTP_OK) + response->status = (-httpCode) - 100; } return response->status; } -int trg_http_perform(TrgClient * tc, gchar * reqstr, trg_response *reqrsp) +int trg_http_perform(TrgClient * tc, gchar * reqstr, trg_response * reqrsp) { return trg_http_perform_inner(tc, reqstr, reqrsp, TRUE); } @@ -592,12 +596,12 @@ trg_response *dispatch(TrgClient * client, JsonNode * req) json_node_free(req); #ifdef DEBUG if (g_getenv("TRG_SHOW_OUTGOING")) - g_debug("=>(OUTgoing)=>: %s", serialized); + g_debug("=>(OUTgoing)=>: %s", serialized); #endif return dispatch_str(client, serialized); } -trg_response *dispatch_str(TrgClient * client, gchar *req) +trg_response *dispatch_str(TrgClient * client, gchar * req) { trg_response *response = g_new0(trg_response, 1); GError *decode_error = NULL; @@ -607,51 +611,51 @@ trg_response *dispatch_str(TrgClient * client, gchar *req) g_free(req); if (response->status != CURLE_OK) - return response; + return response; response->obj = trg_deserialize(response, &decode_error); g_free(response->raw); response->raw = NULL; if (decode_error) { - g_error("JSON decoding error: %s", decode_error->message); - g_error_free(decode_error); - response->status = FAIL_JSON_DECODE; - return response; + g_error("JSON decoding error: %s", decode_error->message); + g_error_free(decode_error); + response->status = FAIL_JSON_DECODE; + return response; } result = json_object_get_member(response->obj, FIELD_RESULT); if (!result || g_strcmp0(json_node_get_string(result), FIELD_SUCCESS)) - response->status = FAIL_RESPONSE_UNSUCCESSFUL; + response->status = FAIL_RESPONSE_UNSUCCESSFUL; return response; } -static void dispatch_async_threadfunc(trg_request *req, - TrgClient * client) +static void dispatch_async_threadfunc(trg_request * req, + TrgClient * client) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client); trg_response *rsp; if (req->str) - rsp = dispatch_str(client, req->str); + rsp = dispatch_str(client, req->str); else - rsp = dispatch(client, req->node); + rsp = dispatch(client, req->node); rsp->cb_data = req->cb_data; if (req->callback && req->connid == g_atomic_int_get(&priv->connid)) - g_idle_add(req->callback, rsp); + g_idle_add(req->callback, rsp); else - trg_response_free(rsp); + trg_response_free(rsp); g_free(req); } -static gboolean dispatch_async_common(TrgClient * client, trg_request *trg_req, - GSourceFunc callback, - gpointer data) +static gboolean dispatch_async_common(TrgClient * client, + trg_request * trg_req, + GSourceFunc callback, gpointer data) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client); GError *error = NULL; @@ -662,18 +666,17 @@ static gboolean dispatch_async_common(TrgClient * client, trg_request *trg_req, trg_client_thread_pool_push(client, trg_req, &error); if (error) { - g_error("thread creation error: %s\n", error->message); - g_error_free(error); - g_free(trg_req); - return FALSE; + g_error("thread creation error: %s\n", error->message); + g_error_free(error); + g_free(trg_req); + return FALSE; } else { - return TRUE; + return TRUE; } } -gboolean dispatch_async(TrgClient * client, JsonNode *req, - GSourceFunc callback, - gpointer data) +gboolean dispatch_async(TrgClient * client, JsonNode * req, + GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->node = req; @@ -681,9 +684,8 @@ gboolean dispatch_async(TrgClient * client, JsonNode *req, return dispatch_async_common(client, trg_req, callback, data); } -gboolean dispatch_async_str(TrgClient * client, gchar *req, - GSourceFunc callback, - gpointer data) +gboolean dispatch_async_str(TrgClient * client, gchar * req, + GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->str = req; diff --git a/src/trg-client.h b/src/trg-client.h index 31a9267..ae3c489 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -67,41 +67,34 @@ typedef struct { gpointer cb_data; } trg_response; -typedef struct -{ +typedef struct { gint connid; - JsonNode *node; - gchar *str; + JsonNode *node; + gchar *str; GSourceFunc callback; gpointer cb_data; } trg_request; G_BEGIN_DECLS - #define TRG_TYPE_CLIENT trg_client_get_type() - #define TRG_CLIENT(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRG_TYPE_CLIENT, TrgClient)) - #define TRG_CLIENT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), TRG_TYPE_CLIENT, TrgClientClass)) - #define TRG_IS_CLIENT(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRG_TYPE_CLIENT)) - #define TRG_IS_CLIENT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_CLIENT)) - #define TRG_CLIENT_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_CLIENT, TrgClientClass)) - -typedef struct { - GObject parent; + typedef struct { + GObject parent; } TrgClient; typedef struct { - GObjectClass parent_class; - void (*session_updated) (TrgClient *tc, JsonObject * session, gpointer data); + GObjectClass parent_class; + void (*session_updated) (TrgClient * tc, JsonObject * session, + gpointer data); } TrgClientClass; @@ -119,53 +112,53 @@ typedef struct { } trg_tls; /* stuff that used to be in http.h */ -void trg_response_free(trg_response *response); -int trg_http_perform(TrgClient * client, gchar * reqstr, trg_response *reqrsp); +void trg_response_free(trg_response * response); +int trg_http_perform(TrgClient * client, gchar * reqstr, + trg_response * reqrsp); /* end http.h*/ /* stuff that used to be in dispatch.c */ trg_response *dispatch(TrgClient * client, JsonNode * req); -trg_response *dispatch_str(TrgClient * client, gchar *req); +trg_response *dispatch_str(TrgClient * client, gchar * req); gboolean dispatch_async(TrgClient * client, JsonNode * req, - GSourceFunc callback, - gpointer data); + GSourceFunc callback, gpointer data); /* end dispatch.c*/ -GType trg_client_get_type (void); +GType trg_client_get_type(void); -TrgClient* trg_client_new (void); -TrgPrefs* trg_client_get_prefs(TrgClient *tc); +TrgClient *trg_client_new(void); +TrgPrefs *trg_client_get_prefs(TrgClient * tc); int trg_client_populate_with_settings(TrgClient * tc); void trg_client_set_session(TrgClient * tc, JsonObject * session); -float trg_client_get_version(TrgClient *tc); -const gchar *trg_client_get_version_string(TrgClient *tc); -gint64 trg_client_get_rpc_version(TrgClient *tc); -gchar *trg_client_get_password(TrgClient *tc); -gchar *trg_client_get_username(TrgClient *tc); -gchar *trg_client_get_url(TrgClient *tc); -gchar *trg_client_get_session_id(TrgClient *tc); -void trg_client_set_session_id(TrgClient *tc, gchar *session_id); +float trg_client_get_version(TrgClient * tc); +const gchar *trg_client_get_version_string(TrgClient * tc); +gint64 trg_client_get_rpc_version(TrgClient * tc); +gchar *trg_client_get_password(TrgClient * tc); +gchar *trg_client_get_username(TrgClient * tc); +gchar *trg_client_get_url(TrgClient * tc); +gchar *trg_client_get_session_id(TrgClient * tc); +void trg_client_set_session_id(TrgClient * tc, gchar * session_id); #ifndef CURL_NO_SSL -gboolean trg_client_get_ssl(TrgClient *tc); +gboolean trg_client_get_ssl(TrgClient * tc); #endif -gchar *trg_client_get_proxy(TrgClient *tc); -gint64 trg_client_get_serial(TrgClient *tc); -void trg_client_thread_pool_push(TrgClient *tc, gpointer data, GError **err); -void trg_client_set_torrent_table(TrgClient *tc, GHashTable *table); -GHashTable* trg_client_get_torrent_table(TrgClient *tc); -JsonObject* trg_client_get_session(TrgClient *tc); -void trg_client_status_change(TrgClient *tc, gboolean connected); -gboolean trg_client_is_connected(TrgClient *tc); -void trg_client_updateunlock(TrgClient *tc); -void trg_client_updatelock(TrgClient *tc); -void trg_client_configunlock(TrgClient *tc); -void trg_client_configlock(TrgClient *tc); -guint trg_client_inc_failcount(TrgClient *tc); -guint trg_client_get_failcount(TrgClient *tc); -void trg_client_reset_failcount(TrgClient *tc); -void trg_client_inc_serial(TrgClient *tc); -void trg_client_inc_connid(TrgClient *tc); +gchar *trg_client_get_proxy(TrgClient * tc); +gint64 trg_client_get_serial(TrgClient * tc); +void trg_client_thread_pool_push(TrgClient * tc, gpointer data, + GError ** err); +void trg_client_set_torrent_table(TrgClient * tc, GHashTable * table); +GHashTable *trg_client_get_torrent_table(TrgClient * tc); +JsonObject *trg_client_get_session(TrgClient * tc); +void trg_client_status_change(TrgClient * tc, gboolean connected); +gboolean trg_client_is_connected(TrgClient * tc); +void trg_client_updateunlock(TrgClient * tc); +void trg_client_updatelock(TrgClient * tc); +void trg_client_configunlock(TrgClient * tc); +void trg_client_configlock(TrgClient * tc); +guint trg_client_inc_failcount(TrgClient * tc); +guint trg_client_get_failcount(TrgClient * tc); +void trg_client_reset_failcount(TrgClient * tc); +void trg_client_inc_serial(TrgClient * tc); +void trg_client_inc_connid(TrgClient * tc); G_END_DECLS - -#endif // _TRG_CLIENT_H_ +#endif // _TRG_CLIENT_H_ diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c index 30bfc83..c19a750 100644 --- a/src/trg-destination-combo.c +++ b/src/trg-destination-combo.c @@ -27,7 +27,7 @@ #include "util.h" G_DEFINE_TYPE(TrgDestinationCombo, trg_destination_combo, - GTK_TYPE_COMBO_BOX) + GTK_TYPE_COMBO_BOX) #define TRG_DESTINATION_COMBO_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_DESTINATION_COMBO, TrgDestinationComboPrivate)) typedef struct _TrgDestinationComboPrivate TrgDestinationComboPrivate; @@ -51,147 +51,169 @@ enum { DEST_COLUMN_LABEL, DEST_COLUMN_DIR, DEST_COLUMN_TYPE, N_DEST_COLUMNS }; -static void trg_destination_combo_finalize(GObject *object) { +static void trg_destination_combo_finalize(GObject * object) +{ TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); - g_free((gpointer)priv->last_selection); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); + g_free((gpointer) priv->last_selection); } static void trg_destination_combo_get_property(GObject * object, - guint property_id, GValue * value, GParamSpec * pspec) { + guint property_id, + GValue * value, + GParamSpec * pspec) +{ TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; case PROP_LAST_SELECTION: - g_value_set_string(value, priv->last_selection); - break; + g_value_set_string(value, priv->last_selection); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_destination_combo_set_property(GObject * object, - guint property_id, const GValue * value, GParamSpec * pspec) { + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_LAST_SELECTION: - priv->last_selection = g_strdup(g_value_get_string(value)); - break; + priv->last_selection = g_strdup(g_value_get_string(value)); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } -static gboolean g_slist_str_set_add(GSList ** list, const gchar * string) { +static gboolean g_slist_str_set_add(GSList ** list, const gchar * string) +{ GSList *li; for (li = *list; li; li = g_slist_next(li)) - if (!g_strcmp0((gchar *) li->data, string)) - return FALSE; + if (!g_strcmp0((gchar *) li->data, string)) + return FALSE; *list = g_slist_insert_sorted(*list, (gpointer) string, - (GCompareFunc) g_strcmp0); + (GCompareFunc) g_strcmp0); return TRUE; } -void trg_destination_combo_save_selection(TrgDestinationCombo *combo_box) +void trg_destination_combo_save_selection(TrgDestinationCombo * combo_box) { - TrgDestinationComboPrivate *priv = TRG_DESTINATION_COMBO_GET_PRIVATE(combo_box); + TrgDestinationComboPrivate *priv = + TRG_DESTINATION_COMBO_GET_PRIVATE(combo_box); GtkTreeIter iter; - if (priv->last_selection && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo_box), &iter)) { - GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(combo_box)); - TrgPrefs *prefs = trg_client_get_prefs(priv->client); - gchar *text; - - gtk_tree_model_get(model, &iter, DEST_COLUMN_LABEL, &text, -1); - trg_prefs_set_string(prefs, priv->last_selection, text, TRG_PREFS_CONNECTION); - g_free(text); + if (priv->last_selection + && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo_box), + &iter)) { + GtkTreeModel *model = + gtk_combo_box_get_model(GTK_COMBO_BOX(combo_box)); + TrgPrefs *prefs = trg_client_get_prefs(priv->client); + gchar *text; + + gtk_tree_model_get(model, &iter, DEST_COLUMN_LABEL, &text, -1); + trg_prefs_set_string(prefs, priv->last_selection, text, + TRG_PREFS_CONNECTION); + g_free(text); } } -static void gtk_combo_box_entry_active_changed(GtkComboBox *combo_box, - gpointer user_data) { +static void gtk_combo_box_entry_active_changed(GtkComboBox * combo_box, + gpointer user_data) +{ GtkTreeModel *model; GtkTreeIter iter; gboolean editableEntry = TRUE; if (gtk_combo_box_get_active_iter(combo_box, &iter)) { - GtkEntry *entry = trg_destination_combo_get_entry( - TRG_DESTINATION_COMBO(combo_box)); + GtkEntry *entry = + trg_destination_combo_get_entry(TRG_DESTINATION_COMBO + (combo_box)); - if (entry) { - GValue value = { 0, }; - guint type; + if (entry) { + GValue value = { 0, }; + guint type; - model = gtk_combo_box_get_model(combo_box); + model = gtk_combo_box_get_model(combo_box); - gtk_tree_model_get_value(model, &iter, DEST_COLUMN_LABEL, &value); - gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); + gtk_tree_model_get_value(model, &iter, DEST_COLUMN_LABEL, + &value); + gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); - g_object_set_property(G_OBJECT (entry), "text", &value); - g_value_unset(&value); + g_object_set_property(G_OBJECT(entry), "text", &value); + g_value_unset(&value); - if (type == DEST_LABEL) - editableEntry = FALSE; - } + if (type == DEST_LABEL) + editableEntry = FALSE; + } } - #if GTK_CHECK_VERSION( 3, 0, 0 ) - gtk_editable_set_editable(GTK_EDITABLE(trg_destination_combo_get_entry(TRG_DESTINATION_COMBO(combo_box))), editableEntry); + gtk_editable_set_editable(GTK_EDITABLE + (trg_destination_combo_get_entry + (TRG_DESTINATION_COMBO(combo_box))), + editableEntry); #else - gtk_entry_set_editable( - trg_destination_combo_get_entry(TRG_DESTINATION_COMBO(combo_box)), - editableEntry); + gtk_entry_set_editable(trg_destination_combo_get_entry + (TRG_DESTINATION_COMBO(combo_box)), + editableEntry); #endif } -gboolean trg_destination_combo_has_text(TrgDestinationCombo *combo) { - const gchar *text = gtk_entry_get_text( - trg_destination_combo_get_entry(TRG_DESTINATION_COMBO(combo))); +gboolean trg_destination_combo_has_text(TrgDestinationCombo * combo) +{ + const gchar *text = + gtk_entry_get_text(trg_destination_combo_get_entry + (TRG_DESTINATION_COMBO(combo))); return strlen(text) > 0; } -GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo *combo) { - TrgDestinationComboPrivate *priv = TRG_DESTINATION_COMBO_GET_PRIVATE(combo); - return GTK_ENTRY (priv->entry); +GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo * combo) +{ + TrgDestinationComboPrivate *priv = + TRG_DESTINATION_COMBO_GET_PRIVATE(combo); + return GTK_ENTRY(priv->entry); } -static void add_entry_cb(GtkEntry *entry, - GtkEntryIconPosition icon_pos, - GdkEvent *event, - gpointer user_data) +static void add_entry_cb(GtkEntry * entry, + GtkEntryIconPosition icon_pos, + GdkEvent * event, gpointer user_data) { GtkComboBox *combo = GTK_COMBO_BOX(user_data); GtkTreeModel *model = gtk_combo_box_get_model(combo); GtkTreeIter iter; - gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, INT_MAX, - DEST_COLUMN_LABEL, "", - DEST_COLUMN_DIR, "", - DEST_COLUMN_TYPE, DEST_USERADD, -1); + gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, + INT_MAX, DEST_COLUMN_LABEL, "", + DEST_COLUMN_DIR, "", + DEST_COLUMN_TYPE, DEST_USERADD, -1); gtk_combo_box_set_active_iter(combo, &iter); } -struct findDupeArg -{ +struct findDupeArg { const gchar *dir; gboolean isDupe; }; gboolean trg_destination_combo_insert_check_dupe_foreach(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, struct findDupeArg *args) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + struct findDupeArg *args) { gchar *existing; gtk_tree_model_get(model, iter, DEST_COLUMN_DIR, &existing, -1); @@ -200,43 +222,53 @@ trg_destination_combo_insert_check_dupe_foreach(GtkTreeModel * model, return args->isDupe; } -static void trg_destination_combo_insert(GtkComboBox *box, const gchar *label, - const gchar *dir, guint type, const gchar *lastDestination) +static void trg_destination_combo_insert(GtkComboBox * box, + const gchar * label, + const gchar * dir, guint type, + const gchar * lastDestination) { GtkTreeModel *model = gtk_combo_box_get_model(box); gchar *comboLabel; GtkTreeIter iter; - if (type == DEST_EXISTING) - { - struct findDupeArg args; - args.isDupe = FALSE; - args.dir = dir; - gtk_tree_model_foreach(GTK_TREE_MODEL(model), - (GtkTreeModelForeachFunc)trg_destination_combo_insert_check_dupe_foreach, &args); - if (args.isDupe) - return; + if (type == DEST_EXISTING) { + struct findDupeArg args; + args.isDupe = FALSE; + args.dir = dir; + gtk_tree_model_foreach(GTK_TREE_MODEL(model), + (GtkTreeModelForeachFunc) + trg_destination_combo_insert_check_dupe_foreach, + &args); + if (args.isDupe) + return; } - comboLabel = label ? g_strdup_printf("%s (%s)", label, dir) : g_strdup(dir); + comboLabel = + label ? g_strdup_printf("%s (%s)", label, dir) : g_strdup(dir); - gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, INT_MAX, - DEST_COLUMN_LABEL, comboLabel, DEST_COLUMN_DIR, dir, - DEST_COLUMN_TYPE, type, -1); + gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, + INT_MAX, DEST_COLUMN_LABEL, + comboLabel, DEST_COLUMN_DIR, dir, + DEST_COLUMN_TYPE, type, -1); if (lastDestination && !g_strcmp0(lastDestination, comboLabel)) - gtk_combo_box_set_active_iter(box, &iter); + gtk_combo_box_set_active_iter(box, &iter); g_free(comboLabel); } static GObject *trg_destination_combo_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint + n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *object = G_OBJECT_CLASS - (trg_destination_combo_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_destination_combo_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); TrgClient *client = priv->client; TrgPrefs *prefs = trg_client_get_prefs(client); @@ -252,97 +284,102 @@ static GObject *trg_destination_combo_constructor(GType type, const gchar *lastDestination = NULL; comboModel = gtk_list_store_new(N_DEST_COLUMNS, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_UINT); - gtk_combo_box_set_model(GTK_COMBO_BOX(object), GTK_TREE_MODEL(comboModel)); + G_TYPE_STRING, G_TYPE_UINT); + gtk_combo_box_set_model(GTK_COMBO_BOX(object), + GTK_TREE_MODEL(comboModel)); g_object_unref(comboModel); - g_signal_connect (object, "changed", - G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); + g_signal_connect(object, "changed", + G_CALLBACK(gtk_combo_box_entry_active_changed), NULL); - priv->entry = gtk_entry_new (); - gtk_container_add (GTK_CONTAINER (object), priv->entry); + priv->entry = gtk_entry_new(); + gtk_container_add(GTK_CONTAINER(object), priv->entry); - priv->text_renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (object), - priv->text_renderer, TRUE); + priv->text_renderer = gtk_cell_renderer_text_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(object), + priv->text_renderer, TRUE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (object), - priv->text_renderer, - "text", 0, - NULL); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(object), + priv->text_renderer, "text", 0, NULL); g_slist_foreach(dirs, (GFunc) g_free, NULL); g_slist_free(dirs); - gtk_entry_set_icon_from_stock(GTK_ENTRY(priv->entry), GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_CLEAR); + gtk_entry_set_icon_from_stock(GTK_ENTRY(priv->entry), + GTK_ENTRY_ICON_SECONDARY, + GTK_STOCK_CLEAR); g_signal_connect(priv->entry, "icon-release", - G_CALLBACK(add_entry_cb), object); + G_CALLBACK(add_entry_cb), object); - defaultDir = g_strdup( - session_get_download_dir(trg_client_get_session(client))); + defaultDir = + g_strdup(session_get_download_dir(trg_client_get_session(client))); rm_trailing_slashes(defaultDir); - savedDestinations = trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, - TRG_PREFS_CONNECTION); + savedDestinations = + trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, + TRG_PREFS_CONNECTION); if (priv->last_selection) - lastDestination = trg_prefs_get_string(prefs, priv->last_selection, - TRG_PREFS_CONNECTION); + lastDestination = trg_prefs_get_string(prefs, priv->last_selection, + TRG_PREFS_CONNECTION); trg_destination_combo_insert(GTK_COMBO_BOX(object), - NULL, - defaultDir, - DEST_DEFAULT, lastDestination); + NULL, + defaultDir, + DEST_DEFAULT, lastDestination); if (savedDestinations) { - list = json_array_get_elements(savedDestinations); - if (list) { - for (li = list; li; li = g_list_next(li)) { - JsonObject *obj = json_node_get_object((JsonNode*) li->data); - trg_destination_combo_insert(GTK_COMBO_BOX(object), - json_object_get_string_member(obj, TRG_PREFS_SUBKEY_LABEL), - json_object_get_string_member(obj, TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR), - DEST_LABEL, lastDestination); - } - g_list_free(list); - } + list = json_array_get_elements(savedDestinations); + if (list) { + for (li = list; li; li = g_list_next(li)) { + JsonObject *obj = + json_node_get_object((JsonNode *) li->data); + trg_destination_combo_insert(GTK_COMBO_BOX(object), + json_object_get_string_member + (obj, TRG_PREFS_SUBKEY_LABEL), + json_object_get_string_member + (obj, + TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR), + DEST_LABEL, lastDestination); + } + g_list_free(list); + } } trg_client_updatelock(client); list = g_hash_table_get_values(trg_client_get_torrent_table(client)); for (li = list; li; li = g_list_next(li)) { - rr = (GtkTreeRowReference *) li->data; - model = gtk_tree_row_reference_get_model(rr); - path = gtk_tree_row_reference_get_path(rr); + rr = (GtkTreeRowReference *) li->data; + model = gtk_tree_row_reference_get_model(rr); + path = gtk_tree_row_reference_get_path(rr); - if (path) { - GtkTreeIter iter; + if (path) { + GtkTreeIter iter; - if (gtk_tree_model_get_iter(model, &iter, path)) { - gchar *dd; + if (gtk_tree_model_get_iter(model, &iter, path)) { + gchar *dd; - gtk_tree_model_get(model, &iter, - TORRENT_COLUMN_DOWNLOADDIR, &dd, -1); + gtk_tree_model_get(model, &iter, + TORRENT_COLUMN_DOWNLOADDIR, &dd, -1); - if (dd && g_strcmp0(dd, defaultDir)) - g_slist_str_set_add(&dirs, dd); - else - g_free(dd); - } + if (dd && g_strcmp0(dd, defaultDir)) + g_slist_str_set_add(&dirs, dd); + else + g_free(dd); + } - gtk_tree_path_free(path); - } + gtk_tree_path_free(path); + } } trg_client_updateunlock(client); for (sli = dirs; sli; sli = g_slist_next(sli)) - trg_destination_combo_insert(GTK_COMBO_BOX(object), - NULL, - (gchar *) sli->data, - DEST_EXISTING, lastDestination); + trg_destination_combo_insert(GTK_COMBO_BOX(object), + NULL, + (gchar *) sli->data, + DEST_EXISTING, lastDestination); g_list_free(list); g_free(defaultDir); @@ -350,26 +387,31 @@ static GObject *trg_destination_combo_constructor(GType type, return object; } -gchar *trg_destination_combo_get_dir(TrgDestinationCombo *combo) { +gchar *trg_destination_combo_get_dir(TrgDestinationCombo * combo) +{ GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); GtkTreeIter iter; if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) { - gchar *value; - guint type; + gchar *value; + guint type; - gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); + gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); - if (type == DEST_LABEL) { - gtk_tree_model_get(model, &iter, DEST_COLUMN_DIR, &value, -1); - return value; - } + if (type == DEST_LABEL) { + gtk_tree_model_get(model, &iter, DEST_COLUMN_DIR, &value, -1); + return value; + } } - return g_strdup(gtk_entry_get_text(trg_destination_combo_get_entry(combo))); + return + g_strdup(gtk_entry_get_text + (trg_destination_combo_get_entry(combo))); } -static void trg_destination_combo_class_init(TrgDestinationComboClass * klass) { +static void trg_destination_combo_class_init(TrgDestinationComboClass * + klass) +{ GObjectClass *object_class = G_OBJECT_CLASS(klass); g_type_class_add_private(klass, sizeof(TrgDestinationComboPrivate)); @@ -379,35 +421,43 @@ static void trg_destination_combo_class_init(TrgDestinationComboClass * klass) { object_class->finalize = trg_destination_combo_finalize; object_class->constructor = trg_destination_combo_constructor; - 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_LAST_SELECTION, - g_param_spec_string( - "last-selection-key", - "LastSelectionKey", - "LastSelectionKey", - NULL, - 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_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_LAST_SELECTION, + g_param_spec_string + ("last-selection-key", + "LastSelectionKey", + "LastSelectionKey", NULL, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); } -static void trg_destination_combo_init(TrgDestinationCombo * self) { +static void trg_destination_combo_init(TrgDestinationCombo * self) +{ } -GtkWidget *trg_destination_combo_new(TrgClient * client, const gchar *lastSelectionKey) { +GtkWidget *trg_destination_combo_new(TrgClient * client, + const gchar * lastSelectionKey) +{ return GTK_WIDGET(g_object_new(TRG_TYPE_DESTINATION_COMBO, - "trg-client", client, - "last-selection-key", lastSelectionKey, NULL)); + "trg-client", client, + "last-selection-key", lastSelectionKey, + NULL)); } diff --git a/src/trg-destination-combo.h b/src/trg-destination-combo.h index 453e899..c7513f2 100644 --- a/src/trg-destination-combo.h +++ b/src/trg-destination-combo.h @@ -47,11 +47,12 @@ typedef struct { GType trg_destination_combo_get_type(void); -GtkWidget *trg_destination_combo_new(TrgClient * client, const gchar *lastSelectionKey); -gchar *trg_destination_combo_get_dir(TrgDestinationCombo *combo); -gboolean trg_destination_combo_has_text(TrgDestinationCombo *combo); -GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo *combo); -void trg_destination_combo_save_selection(TrgDestinationCombo *combo_box); +GtkWidget *trg_destination_combo_new(TrgClient * client, + const gchar * lastSelectionKey); +gchar *trg_destination_combo_get_dir(TrgDestinationCombo * combo); +gboolean trg_destination_combo_has_text(TrgDestinationCombo * combo); +GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo * combo); +void trg_destination_combo_save_selection(TrgDestinationCombo * combo_box); G_END_DECLS -#endif /* TRG_DESTINATION_COMBO_H_ */ +#endif /* TRG_DESTINATION_COMBO_H_ */ diff --git a/src/trg-file-parser.c b/src/trg-file-parser.c index ac3d0ce..f98b677 100644 --- a/src/trg-file-parser.c +++ b/src/trg-file-parser.c @@ -28,8 +28,8 @@ static trg_torrent_file_node * trg_torrent_file_node_insert(trg_torrent_file_node * top, - be_node * file_node, guint index, - gint64 * total_length) + be_node * file_node, guint index, + gint64 * total_length) { int i; trg_torrent_file_node *path_el_parent = top; @@ -37,45 +37,45 @@ static trg_torrent_file_node be_node *file_path_node = be_dict_find(file_node, "path", BE_LIST); if (!file_path_node || !file_length_node) - return NULL; + return NULL; /* Iterate over the path list which contains each file/directory * component of the path in order. */ for (i = 0;;) { - be_node *path_el_node = file_path_node->val.l[i]; - - trg_torrent_file_node *target_node = NULL; - GList *li; - - /* Does this element exist already? */ - for (li = path_el_parent->children; li != NULL; - li = g_list_next(li)) { - trg_torrent_file_node *x = (trg_torrent_file_node *) li->data; - if (!g_strcmp0(x->name, path_el_node->val.s)) { - target_node = x; - break; - } - } - - if (!target_node) { - /* Create a new node and add it as a child of the parent from the - * last iteration. */ - target_node = g_new0(trg_torrent_file_node, 1); - target_node->name = g_strdup(path_el_node->val.s); - path_el_parent->children = - g_list_append(path_el_parent->children, target_node); - } - - path_el_parent = target_node; - - /* Is this the last component of the path (the file)? */ - if (!file_path_node->val.l[++i]) { - *total_length += (target_node->length = - (gint64) (file_length_node->val.i)); - target_node->index = index; - return target_node; - } + be_node *path_el_node = file_path_node->val.l[i]; + + trg_torrent_file_node *target_node = NULL; + GList *li; + + /* Does this element exist already? */ + for (li = path_el_parent->children; li != NULL; + li = g_list_next(li)) { + trg_torrent_file_node *x = (trg_torrent_file_node *) li->data; + if (!g_strcmp0(x->name, path_el_node->val.s)) { + target_node = x; + break; + } + } + + if (!target_node) { + /* Create a new node and add it as a child of the parent from the + * last iteration. */ + target_node = g_new0(trg_torrent_file_node, 1); + target_node->name = g_strdup(path_el_node->val.s); + path_el_parent->children = + g_list_append(path_el_parent->children, target_node); + } + + path_el_parent = target_node; + + /* Is this the last component of the path (the file)? */ + if (!file_path_node->val.l[++i]) { + *total_length += (target_node->length = + (gint64) (file_length_node->val.i)); + target_node->index = index; + return target_node; + } } return NULL; @@ -85,7 +85,7 @@ static void trg_torrent_file_node_free(trg_torrent_file_node * node) { GList *li; for (li = node->children; li != NULL; li = g_list_next(li)) - trg_torrent_file_node_free((trg_torrent_file_node *) li->data); + trg_torrent_file_node_free((trg_torrent_file_node *) li->data); g_list_free(node->children); g_free(node->name); g_free(node); @@ -99,9 +99,9 @@ void trg_torrent_file_free(trg_torrent_file * t) } static trg_torrent_file_node *trg_parse_torrent_file_nodes(be_node * - info_node, - gint64 * - total_length) + info_node, + gint64 * + total_length) { be_node *files_node = be_dict_find(info_node, "files", BE_LIST); trg_torrent_file_node *top_node = g_new0(trg_torrent_file_node, 1); @@ -109,25 +109,25 @@ static trg_torrent_file_node *trg_parse_torrent_file_nodes(be_node * /* Probably means single file mode. */ if (!files_node) - return NULL; + return NULL; for (i = 0; files_node->val.l[i]; ++i) { - be_node *file_node = files_node->val.l[i]; - - if (be_validate_node(file_node, BE_DICT) || - !trg_torrent_file_node_insert(top_node, file_node, i, - total_length)) { - /* Unexpected format. Throw away everything, file indexes need to - * be correct. */ - trg_torrent_file_node_free(top_node); - return NULL; - } + be_node *file_node = files_node->val.l[i]; + + if (be_validate_node(file_node, BE_DICT) || + !trg_torrent_file_node_insert(top_node, file_node, i, + total_length)) { + /* Unexpected format. Throw away everything, file indexes need to + * be correct. */ + trg_torrent_file_node_free(top_node); + return NULL; + } } return top_node; } -trg_torrent_file *trg_parse_torrent_file(const gchar *filename) +trg_torrent_file *trg_parse_torrent_file(const gchar * filename) { GError *error = NULL; GMappedFile *mf; @@ -135,57 +135,59 @@ trg_torrent_file *trg_parse_torrent_file(const gchar *filename) trg_torrent_file *ret = NULL; if (!g_file_test(filename, G_FILE_TEST_IS_REGULAR)) { - g_message("%s does not exist", filename); - return NULL; + g_message("%s does not exist", filename); + return NULL; } mf = g_mapped_file_new(filename, FALSE, &error); if (error) { - g_error("%s",error->message); - g_error_free(error); - g_mapped_file_unref(mf); - return NULL; + g_error("%s", error->message); + g_error_free(error); + g_mapped_file_unref(mf); + return NULL; } else { - top_node = be_decoden(g_mapped_file_get_contents(mf), g_mapped_file_get_length(mf)); + top_node = + be_decoden(g_mapped_file_get_contents(mf), + g_mapped_file_get_length(mf)); } g_mapped_file_unref(mf); if (!top_node) { - return NULL; + return NULL; } else if (be_validate_node(top_node, BE_DICT)) { - goto out; + goto out; } info_node = be_dict_find(top_node, "info", BE_DICT); if (!info_node) - goto out; + goto out; name_node = be_dict_find(info_node, "name", BE_STR); if (!name_node) - goto out; + goto out; ret = g_new0(trg_torrent_file, 1); ret->name = g_strdup(name_node->val.s); ret->top_node = - trg_parse_torrent_file_nodes(info_node, &(ret->total_length)); + trg_parse_torrent_file_nodes(info_node, &(ret->total_length)); if (!ret->top_node) { - trg_torrent_file_node *file_node; - be_node *length_node = be_dict_find(info_node, "length", BE_INT); - - if (!length_node) { - g_free(ret); - ret = NULL; - goto out; - } - - file_node = g_new0(trg_torrent_file_node, 1); - file_node->length = ret->total_length = - (gint64) (length_node->val.i); - file_node->name = g_strdup(ret->name); - ret->top_node = file_node; + trg_torrent_file_node *file_node; + be_node *length_node = be_dict_find(info_node, "length", BE_INT); + + if (!length_node) { + g_free(ret); + ret = NULL; + goto out; + } + + file_node = g_new0(trg_torrent_file_node, 1); + file_node->length = ret->total_length = + (gint64) (length_node->val.i); + file_node->name = g_strdup(ret->name); + ret->top_node = file_node; } out: diff --git a/src/trg-file-parser.h b/src/trg-file-parser.h index 9f6edf1..10a4d8a 100644 --- a/src/trg-file-parser.h +++ b/src/trg-file-parser.h @@ -31,4 +31,4 @@ typedef struct { } trg_torrent_file; void trg_torrent_file_free(trg_torrent_file * t); -trg_torrent_file *trg_parse_torrent_file(const gchar *filename); +trg_torrent_file *trg_parse_torrent_file(const gchar * filename); diff --git a/src/trg-files-model.c b/src/trg-files-model.c index 5d4cf0a..494f94f 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -40,25 +40,25 @@ struct _TrgFilesModelPrivate { }; static void trg_files_model_iter_new(TrgFilesModel * model, - GtkTreeIter * iter, JsonObject * file, - int id) + GtkTreeIter * iter, JsonObject * file, + int id) { gchar *mimetype; gtk_list_store_append(GTK_LIST_STORE(model), iter); gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_NAME, file_get_name(file), - FILESCOL_SIZE, file_get_length(file), - FILESCOL_ID, id, -1); + FILESCOL_NAME, file_get_name(file), + FILESCOL_SIZE, file_get_length(file), + FILESCOL_ID, id, -1); mimetype = g_content_type_guess(file_get_name(file), NULL, 0, NULL); if (mimetype) { - GIcon *icon = g_content_type_get_icon (mimetype); - if (icon) { - gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_ICON, icon, -1); - g_object_unref(icon); - } + GIcon *icon = g_content_type_get_icon(mimetype); + if (icon) { + gtk_list_store_set(GTK_LIST_STORE(model), iter, + FILESCOL_ICON, icon, -1); + g_object_unref(icon); + } } g_free(mimetype); @@ -72,26 +72,26 @@ void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept) static void trg_files_model_iter_update(TrgFilesModel * model, - GtkTreeIter * filesIter, JsonObject * file, - JsonArray * wantedArray, - JsonArray * prioritiesArray, int id) + GtkTreeIter * filesIter, JsonObject * file, + JsonArray * wantedArray, + JsonArray * prioritiesArray, int id) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); gboolean wanted = json_node_get_int(json_array_get_element - (wantedArray, id)) == 1; + (wantedArray, id)) == 1; gint64 priority = - json_node_get_int(json_array_get_element(prioritiesArray, id)); + json_node_get_int(json_array_get_element(prioritiesArray, id)); gdouble progress = file_get_progress(file); gtk_list_store_set(GTK_LIST_STORE(model), filesIter, - FILESCOL_PROGRESS, progress, -1); + FILESCOL_PROGRESS, progress, -1); if (priv->accept) { - gtk_list_store_set(GTK_LIST_STORE(model), filesIter, - FILESCOL_WANTED, - wanted ? GTK_STOCK_APPLY : GTK_STOCK_CANCEL, - FILESCOL_PRIORITY, priority, -1); + gtk_list_store_set(GTK_LIST_STORE(model), filesIter, + FILESCOL_WANTED, + wanted ? GTK_STOCK_APPLY : GTK_STOCK_CANCEL, + FILESCOL_PRIORITY, priority, -1); } } @@ -116,13 +116,13 @@ static void trg_files_model_init(TrgFilesModel * self) column_types[FILESCOL_PRIORITY] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - FILESCOL_COLUMNS, column_types); + FILESCOL_COLUMNS, column_types); } gboolean trg_files_model_update_foreach(GtkListStore * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, GList * files) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, GList * files) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); JsonObject *file; @@ -132,14 +132,14 @@ trg_files_model_update_foreach(GtkListStore * model, file = json_node_get_object(g_list_nth_data(files, id)); trg_files_model_iter_update(TRG_FILES_MODEL(model), iter, file, - priv->wanted, priv->priorities, id); + priv->wanted, priv->priorities, id); return FALSE; } void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, - JsonObject * t, gint mode) + JsonObject * t, gint mode) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); GList *filesList, *li; @@ -154,34 +154,34 @@ trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, filesList = json_array_get_elements(torrent_get_files(t)); if (mode == TORRENT_GET_MODE_FIRST) { - gtk_list_store_clear(GTK_LIST_STORE(model)); - priv->accept = TRUE; - for (li = filesList; li; li = g_list_next(li)) { - file = json_node_get_object((JsonNode *) li->data); - - trg_files_model_iter_new(model, &filesIter, file, j); - trg_files_model_iter_update(model, &filesIter, - file, priv->wanted, - priv->priorities, j); - j++; - } + gtk_list_store_clear(GTK_LIST_STORE(model)); + priv->accept = TRUE; + for (li = filesList; li; li = g_list_next(li)) { + file = json_node_get_object((JsonNode *) li->data); + + trg_files_model_iter_new(model, &filesIter, file, j); + trg_files_model_iter_update(model, &filesIter, + file, priv->wanted, + priv->priorities, j); + j++; + } } else { - gint n_existing = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL); - guint n_updates = g_list_length(filesList); - gtk_tree_model_foreach(GTK_TREE_MODEL(model), - (GtkTreeModelForeachFunc) - trg_files_model_update_foreach, filesList); - if (n_updates > n_existing) { - gint n_new = n_updates - n_existing; - for (j = n_updates - n_new; j < n_updates; j++) - { - file = json_node_get_object(g_list_nth_data(filesList, j)); - trg_files_model_iter_new(model, &filesIter, file, j); - trg_files_model_iter_update(model, &filesIter, - file, priv->wanted, - priv->priorities, j); - } - } + gint n_existing = + gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL); + guint n_updates = g_list_length(filesList); + gtk_tree_model_foreach(GTK_TREE_MODEL(model), + (GtkTreeModelForeachFunc) + trg_files_model_update_foreach, filesList); + if (n_updates > n_existing) { + gint n_new = n_updates - n_existing; + for (j = n_updates - n_new; j < n_updates; j++) { + file = json_node_get_object(g_list_nth_data(filesList, j)); + trg_files_model_iter_new(model, &filesIter, file, j); + trg_files_model_iter_update(model, &filesIter, + file, priv->wanted, + priv->priorities, j); + } + } } g_list_free(filesList); diff --git a/src/trg-files-model.h b/src/trg-files-model.h index c47c361..869503d 100644 --- a/src/trg-files-model.h +++ b/src/trg-files-model.h @@ -62,8 +62,8 @@ G_END_DECLS enum { void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, - JsonObject * t, gint mode); + JsonObject * t, gint mode); gint64 trg_files_model_get_torrent_id(TrgFilesModel * model); void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept); -#endif /* TRG_FILES_MODEL_H_ */ +#endif /* TRG_FILES_MODEL_H_ */ diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index 4a1cff6..b671b39 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -46,68 +46,70 @@ static void trg_files_tree_view_class_init(TrgFilesTreeViewClass * klass) } static void set_unwanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { - gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_WANTED, GTK_STOCK_CANCEL, -1); + gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_WANTED, + GTK_STOCK_CANCEL, -1); } static void set_wanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_WANTED, GTK_STOCK_APPLY, -1); + FILESCOL_WANTED, GTK_STOCK_APPLY, -1); } static void set_priority_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { GValue value = { 0 }; g_value_init(&value, G_TYPE_INT64); g_value_set_int64(&value, (gint64) GPOINTER_TO_INT(data)); gtk_list_store_set_value(GTK_LIST_STORE(model), iter, - FILESCOL_PRIORITY, &value); + FILESCOL_PRIORITY, &value); } static void send_updated_file_prefs_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonObject *args = (JsonObject *) data; gint64 priority, id; gchar *wanted; gtk_tree_model_get(model, iter, FILESCOL_WANTED, &wanted, - FILESCOL_PRIORITY, &priority, FILESCOL_ID, &id, -1); + FILESCOL_PRIORITY, &priority, FILESCOL_ID, &id, -1); if (!g_strcmp0(wanted, GTK_STOCK_CANCEL)) - add_file_id_to_array(args, FIELD_FILES_UNWANTED, id); + add_file_id_to_array(args, FIELD_FILES_UNWANTED, id); else - add_file_id_to_array(args, FIELD_FILES_WANTED, id); + add_file_id_to_array(args, FIELD_FILES_WANTED, id); g_free(wanted); if (priority == TR_PRI_LOW) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, id); else if (priority == TR_PRI_HIGH) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, id); else - add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); } -static gboolean -on_files_update(gpointer data) +static gboolean on_files_update(gpointer data) { - trg_response *response = (trg_response*)data; - TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); + trg_response *response = (trg_response *) data; + TrgFilesTreeViewPrivate *priv = + TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data); + GtkTreeModel *model = + gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); trg_files_model_set_accept(TRG_FILES_MODEL(model), TRUE); @@ -136,8 +138,8 @@ static void send_updated_file_prefs(TrgFilesTreeView * tv) request_set_tag(req, targetId); gtk_tree_selection_selected_foreach(selection, - send_updated_file_prefs_foreachfunc, - args); + send_updated_file_prefs_foreachfunc, + args); trg_files_model_set_accept(TRG_FILES_MODEL(model), FALSE); @@ -148,10 +150,10 @@ static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_priority_foreachfunc, - GINT_TO_POINTER(TR_PRI_LOW)); + set_priority_foreachfunc, + GINT_TO_POINTER(TR_PRI_LOW)); send_updated_file_prefs(tv); } @@ -159,10 +161,10 @@ static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_priority_foreachfunc, - GINT_TO_POINTER(TR_PRI_NORMAL)); + set_priority_foreachfunc, + GINT_TO_POINTER(TR_PRI_NORMAL)); send_updated_file_prefs(tv); } @@ -170,10 +172,10 @@ static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_priority_foreachfunc, - GINT_TO_POINTER(TR_PRI_HIGH)); + set_priority_foreachfunc, + GINT_TO_POINTER(TR_PRI_HIGH)); send_updated_file_prefs(tv); } @@ -181,9 +183,9 @@ static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_unwanted_foreachfunc, NULL); + set_unwanted_foreachfunc, NULL); send_updated_file_prefs(tv); } @@ -191,15 +193,15 @@ static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_wanted_foreachfunc, NULL); + set_wanted_foreachfunc, NULL); send_updated_file_prefs(tv); } static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; @@ -211,7 +213,7 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, menuitem = gtk_menu_item_new_with_label(_("Normal Priority")); g_signal_connect(menuitem, "activate", G_CALLBACK(set_normal), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_menu_item_new_with_label(_("Low Priority")); @@ -219,56 +221,56 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_APPLY); gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); + (menuitem), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Download")); g_signal_connect(menuitem, "activate", G_CALLBACK(set_wanted), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_CANCEL); gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); + (menuitem), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Skip")); g_signal_connect(menuitem, "activate", G_CALLBACK(set_unwanted), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 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 gboolean view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { GtkTreeSelection *selection; GtkTreePath *path; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - gtk_tree_path_free(path); - - view_popup_menu(treeview, event, userdata); - return TRUE; - } + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + gtk_tree_path_free(path); + + view_popup_menu(treeview, event, userdata); + return TRUE; + } } return FALSE; @@ -286,35 +288,36 @@ static void trg_files_tree_view_init(TrgFilesTreeView * self) trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_GICONTEXT, FILESCOL_NAME, - _("Name"), "name", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_GICONTEXT, FILESCOL_NAME, + _("Name"), "name", 0); desc->model_column_icon = FILESCOL_ICON; trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, FILESCOL_SIZE, - _("Size"), "size", 0); + _("Size"), "size", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, FILESCOL_PROGRESS, - _("Progress"), "progress", 0); + _("Progress"), "progress", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_ICON, FILESCOL_WANTED, - _("Wanted"), "wanted", 0); + _("Wanted"), "wanted", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PRIO, FILESCOL_PRIORITY, - _("Priority"), "priority", 0); + _("Priority"), "priority", 0); gtk_tree_view_set_search_column(GTK_TREE_VIEW(self), FILESCOL_NAME); g_signal_connect(self, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(self, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); } TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, - TrgMainWindow * win, - TrgClient * client) + TrgMainWindow * win, + TrgClient * client) { GObject *obj = g_object_new(TRG_TYPE_FILES_TREE_VIEW, NULL); TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(obj); - trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), trg_client_get_prefs(client)); + trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), + trg_client_get_prefs(client)); gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); priv->client = client; priv->win = win; diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index 06f83ba..2ab4daf 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -49,8 +49,8 @@ typedef struct { GType trg_files_tree_view_get_type(void); TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, - TrgMainWindow * win, - TrgClient * client); + TrgMainWindow * win, + TrgClient * client); G_END_DECLS -#endif /* TRG_FILES_TREE_VIEW_H_ */ +#endif /* TRG_FILES_TREE_VIEW_H_ */ diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index f11b0d5..144a12a 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -38,8 +38,8 @@ static void gtk_label_clear(GtkLabel * l); static GtkLabel *gen_panel_label_get_key_label(GtkLabel * l); static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * gp, - char *key, guint col, - guint row); + char *key, guint col, + guint row); G_DEFINE_TYPE(TrgGeneralPanel, trg_general_panel, GTK_TYPE_TABLE) #define TRG_GENERAL_PANEL_GET_PRIVATE(o) \ @@ -84,7 +84,7 @@ void trg_general_panel_clear(TrgGeneralPanel * panel) gtk_label_clear(priv->gen_downloaddir_label); gtk_label_clear(priv->gen_error_label); gtk_label_clear(gen_panel_label_get_key_label - (GTK_LABEL(priv->gen_error_label))); + (GTK_LABEL(priv->gen_error_label))); } static void gtk_label_clear(GtkLabel * l) @@ -103,7 +103,7 @@ static void trg_general_panel_class_init(TrgGeneralPanelClass * klass) } void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter) + GtkTreeIter * iter) { TrgGeneralPanelPrivate *priv; gchar buf[32]; @@ -117,9 +117,9 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, priv = TRG_GENERAL_PANEL_GET_PRIVATE(panel); gtk_tree_model_get(GTK_TREE_MODEL(priv->model), iter, - TORRENT_COLUMN_SEEDS, &seeders, - TORRENT_COLUMN_LEECHERS, &leechers, - TORRENT_COLUMN_STATUS, &statusString, -1); + TORRENT_COLUMN_SEEDS, &seeders, + TORRENT_COLUMN_LEECHERS, &leechers, + TORRENT_COLUMN_STATUS, &statusString, -1); sizeOfBuf = sizeof(buf); @@ -141,15 +141,17 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_downloaded_label), buf); if (uploaded > 0 && downloaded > 0) { - trg_strlratio(buf, (double) uploaded / (double) downloaded); - gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); + trg_strlratio(buf, (double) uploaded / (double) downloaded); + gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); } else { - gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), _("N/A")); + gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), _("N/A")); } fullStatusString = g_strdup_printf("%s %s", statusString, - torrent_get_is_private(t) ? _("(Private)") : _("(Public)")); - gtk_label_set_text(GTK_LABEL(priv->gen_status_label), fullStatusString); + torrent_get_is_private(t) ? + _("(Private)") : _("(Public)")); + gtk_label_set_text(GTK_LABEL(priv->gen_status_label), + fullStatusString); g_free(fullStatusString); g_free(statusString); @@ -157,37 +159,37 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_completed_label), buf); gtk_label_set_text(GTK_LABEL(priv->gen_name_label), - torrent_get_name(t)); + torrent_get_name(t)); gtk_label_set_text(GTK_LABEL(priv->gen_downloaddir_label), - torrent_get_download_dir(t)); + torrent_get_download_dir(t)); errorStr = torrent_get_errorstr(t); keyLabel = - gen_panel_label_get_key_label(GTK_LABEL(priv->gen_error_label)); + gen_panel_label_get_key_label(GTK_LABEL(priv->gen_error_label)); if (strlen(errorStr) > 0) { - gchar *markup = - g_markup_printf_escaped("%s", - errorStr); - gtk_label_set_markup(GTK_LABEL(priv->gen_error_label), markup); - g_free(markup); - - markup = - g_markup_printf_escaped - ("%s", - _("Error")); - gtk_label_set_markup(keyLabel, markup); - g_free(markup); + gchar *markup = + g_markup_printf_escaped("%s", + errorStr); + gtk_label_set_markup(GTK_LABEL(priv->gen_error_label), markup); + g_free(markup); + + markup = + g_markup_printf_escaped + ("%s", + _("Error")); + gtk_label_set_markup(keyLabel, markup); + g_free(markup); } else { - gtk_label_clear(GTK_LABEL(priv->gen_error_label)); - gtk_label_clear(keyLabel); + gtk_label_clear(GTK_LABEL(priv->gen_error_label)); + gtk_label_clear(keyLabel); } if ((eta = torrent_get_eta(t)) > 0) { - tr_strltime_long(buf, eta, sizeOfBuf); - gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), buf); + tr_strltime_long(buf, eta, sizeOfBuf); + gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), buf); } else { - gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), _("N/A")); + gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), _("N/A")); } snprintf(buf, sizeof(buf), "%d", seeders >= 0 ? seeders : 0); @@ -197,10 +199,10 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, } static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel * - gp, char *key, - guint col, - guint row, - gint width) + gp, char *key, + guint col, + guint row, + gint width) { GtkWidget *value, *keyLabel, *alignment; @@ -209,16 +211,16 @@ static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel * alignment = gtk_alignment_new(0, 0, 0, 0); keyLabel = gtk_label_new(NULL); if (strlen(key) > 0) { - gchar *keyMarkup = - g_markup_printf_escaped(strlen(key) > 0 ? "%s:" : "", - key); - gtk_label_set_markup(GTK_LABEL(keyLabel), keyMarkup); - g_free(keyMarkup); + gchar *keyMarkup = + g_markup_printf_escaped(strlen(key) > 0 ? "%s:" : "", + key); + gtk_label_set_markup(GTK_LABEL(keyLabel), keyMarkup); + g_free(keyMarkup); } gtk_container_add(GTK_CONTAINER(alignment), keyLabel); gtk_table_attach(GTK_TABLE(gp), alignment, startCol, startCol + 1, row, - row + 1, GTK_FILL, 0, TRG_GENERAL_PANEL_SPACING_X, - TRG_GENERAL_PANEL_SPACING_Y); + row + 1, GTK_FILL, 0, TRG_GENERAL_PANEL_SPACING_X, + TRG_GENERAL_PANEL_SPACING_Y); alignment = gtk_alignment_new(0, 0, 0, 0); value = gtk_label_new(NULL); @@ -226,18 +228,18 @@ static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel * gtk_label_set_selectable(GTK_LABEL(value), TRUE); gtk_container_add(GTK_CONTAINER(alignment), value); gtk_table_attach(GTK_TABLE(gp), alignment, startCol + 1, - width < - 0 ? TRG_GENERAL_PANEL_COLUMNS_TOTAL - 1 : startCol + - 1 + width, row, row + 1, GTK_FILL | GTK_SHRINK, 0, - TRG_GENERAL_PANEL_SPACING_X, - TRG_GENERAL_PANEL_SPACING_Y); + width < + 0 ? TRG_GENERAL_PANEL_COLUMNS_TOTAL - 1 : startCol + + 1 + width, row, row + 1, GTK_FILL | GTK_SHRINK, 0, + TRG_GENERAL_PANEL_SPACING_X, + TRG_GENERAL_PANEL_SPACING_Y); return GTK_LABEL(value); } static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * gp, - char *key, guint col, - guint row) + char *key, guint col, + guint row) { return trg_general_panel_add_label_with_width(gp, key, col, row, 1); } @@ -248,54 +250,55 @@ static void trg_general_panel_init(TrgGeneralPanel * self) int i; g_object_set(G_OBJECT(self), "n-columns", - TRG_GENERAL_PANEL_COLUMNS_TOTAL, "n-rows", 7, NULL); + TRG_GENERAL_PANEL_COLUMNS_TOTAL, "n-rows", 7, NULL); priv->gen_name_label = - trg_general_panel_add_label_with_width(self, _("Name"), 0, 0, -1); + trg_general_panel_add_label_with_width(self, _("Name"), 0, 0, -1); priv->gen_size_label = - trg_general_panel_add_label(self, _("Size"), 0, 1); + trg_general_panel_add_label(self, _("Size"), 0, 1); priv->gen_eta_label = - trg_general_panel_add_label(self, _("ETA"), 1, 1); + trg_general_panel_add_label(self, _("ETA"), 1, 1); priv->gen_completed_label = - trg_general_panel_add_label(self, _("Completed"), 2, 1); + trg_general_panel_add_label(self, _("Completed"), 2, 1); priv->gen_seeders_label = - trg_general_panel_add_label(self, _("Seeders"), 0, 2); + trg_general_panel_add_label(self, _("Seeders"), 0, 2); priv->gen_down_rate_label = - trg_general_panel_add_label(self, _("Rate Down"), 1, 2); + trg_general_panel_add_label(self, _("Rate Down"), 1, 2); priv->gen_downloaded_label = - trg_general_panel_add_label(self, _("Downloaded"), 2, 2); + trg_general_panel_add_label(self, _("Downloaded"), 2, 2); priv->gen_leechers_label = - trg_general_panel_add_label(self, _("Leechers"), 0, 3); + trg_general_panel_add_label(self, _("Leechers"), 0, 3); priv->gen_up_rate_label = - trg_general_panel_add_label(self, _("Rate Up"), 1, 3); + trg_general_panel_add_label(self, _("Rate Up"), 1, 3); priv->gen_uploaded_label = - trg_general_panel_add_label(self, _("Uploaded"), 2, 3); + trg_general_panel_add_label(self, _("Uploaded"), 2, 3); priv->gen_status_label = - trg_general_panel_add_label(self, _("Status"), 0, 4); + trg_general_panel_add_label(self, _("Status"), 0, 4); priv->gen_ratio_label = - trg_general_panel_add_label(self, _("Ratio"), 1, 4); + trg_general_panel_add_label(self, _("Ratio"), 1, 4); priv->gen_downloaddir_label = - trg_general_panel_add_label_with_width(self, _("Location"), 0, 5, - -1); + trg_general_panel_add_label_with_width(self, _("Location"), 0, 5, + -1); priv->gen_error_label = - trg_general_panel_add_label_with_width(self, "", 0, 6, -1); + trg_general_panel_add_label_with_width(self, "", 0, 6, -1); for (i = 0; i < TRG_GENERAL_PANEL_COLUMNS_TOTAL; i++) - gtk_table_set_col_spacing(GTK_TABLE(self), i, - i % 2 == - 0 ? TRG_GENERAL_PANEL_WIDTH_FROM_KEY : - TRG_GENERAL_PANEL_WIDTH_FROM_VALUE); + gtk_table_set_col_spacing(GTK_TABLE(self), i, + i % 2 == + 0 ? TRG_GENERAL_PANEL_WIDTH_FROM_KEY : + TRG_GENERAL_PANEL_WIDTH_FROM_VALUE); gtk_widget_set_sensitive(GTK_WIDGET(self), FALSE); } -TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model, TrgClient *tc) +TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model, + TrgClient * tc) { GObject *obj; TrgGeneralPanelPrivate *priv; diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h index 31abb50..ab7e2d3 100644 --- a/src/trg-general-panel.h +++ b/src/trg-general-panel.h @@ -50,11 +50,12 @@ typedef struct { GType trg_general_panel_get_type(void); -TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model, TrgClient *tc); +TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model, + TrgClient * tc); G_END_DECLS void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter); + GtkTreeIter * iter); void trg_general_panel_clear(TrgGeneralPanel * panel); -#endif /* TRG_GENERAL_PANEL_H_ */ +#endif /* TRG_GENERAL_PANEL_H_ */ diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index b412c12..64cc757 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -31,27 +31,26 @@ * pointers for load/save. */ -void trg_json_widgets_save(GList *list, JsonObject *out) +void trg_json_widgets_save(GList * list, JsonObject * out) { GList *li; - for (li = list; li; li = g_list_next(li)) - { - trg_json_widget_desc *wd = (trg_json_widget_desc*)li->data; - wd->saveFunc(wd->widget, out, wd->key); + for (li = list; li; li = g_list_next(li)) { + trg_json_widget_desc *wd = (trg_json_widget_desc *) li->data; + wd->saveFunc(wd->widget, out, wd->key); } } -void trg_json_widget_desc_free(trg_json_widget_desc *wd) +void trg_json_widget_desc_free(trg_json_widget_desc * wd) { g_free(wd->key); g_free(wd); } -void trg_json_widget_desc_list_free(GList *list) +void trg_json_widget_desc_list_free(GList * list) { GList *li; for (li = list; li; li = g_list_next(li)) - trg_json_widget_desc_free((trg_json_widget_desc*)li->data); + trg_json_widget_desc_free((trg_json_widget_desc *) li->data); g_list_free(list); } @@ -59,10 +58,13 @@ void trg_json_widget_desc_list_free(GList *list) void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_toggle_button_get_active(b)); + gtk_toggle_button_get_active(b)); } -GtkWidget *trg_json_widget_check_new(GList **wl, JsonObject *obj, const gchar *key, const gchar *label, GtkWidget *toggleDep) +GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj, + const gchar * key, + const gchar * label, + GtkWidget * toggleDep) { GtkWidget *w = gtk_check_button_new_with_mnemonic(label); trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1); @@ -72,19 +74,24 @@ GtkWidget *trg_json_widget_check_new(GList **wl, JsonObject *obj, const gchar *k wd->widget = w; if (toggleDep) { - gtk_widget_set_sensitive(w, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep))); - g_signal_connect(G_OBJECT(toggleDep), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(toggleDep))); + g_signal_connect(G_OBJECT(toggleDep), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), json_object_get_boolean_member(obj, key)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), + json_object_get_boolean_member(obj, key)); *wl = g_list_append(*wl, wd); return w; } -GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, const gchar *key, GtkWidget *toggleDep) +GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep) { GtkWidget *w = gtk_entry_new(); trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1); @@ -94,76 +101,105 @@ GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, const gchar *k wd->widget = w; if (toggleDep) { - gtk_widget_set_sensitive(w, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep))); - g_signal_connect(G_OBJECT(toggleDep), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(toggleDep))); + g_signal_connect(G_OBJECT(toggleDep), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); } - gtk_entry_set_text(GTK_ENTRY(w), json_object_get_string_member(obj, key)); + gtk_entry_set_text(GTK_ENTRY(w), + json_object_get_string_member(obj, key)); *wl = g_list_append(*wl, wd); return w; } -static GtkWidget *trg_json_widget_spin_common_new(GList **wl, JsonObject *obj, - const gchar *key, GtkWidget *toggleDep, trg_json_widget_spin_type type, gint min, - gint max, gdouble step) +static GtkWidget *trg_json_widget_spin_common_new(GList ** wl, + JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep, + trg_json_widget_spin_type + type, gint min, gint max, + gdouble step) { GtkWidget *w = gtk_spin_button_new_with_range(min, max, step); trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1); JsonNode *node = json_object_get_member(obj, key); if (type == TRG_JSON_WIDGET_SPIN_DOUBLE) - wd->saveFunc = trg_json_widget_spin_save_double; + wd->saveFunc = trg_json_widget_spin_save_double; else - wd->saveFunc = trg_json_widget_spin_save_int; + wd->saveFunc = trg_json_widget_spin_save_int; wd->key = g_strdup(key); wd->widget = w; if (toggleDep) { - gtk_widget_set_sensitive(w, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep))); - g_signal_connect(G_OBJECT(toggleDep), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(toggleDep))); + g_signal_connect(G_OBJECT(toggleDep), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); } - gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), json_node_really_get_double(node)); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), + json_node_really_get_double(node)); *wl = g_list_append(*wl, wd); return w; } -GtkWidget *trg_json_widget_spin_new_int(GList **wl, JsonObject *obj, const gchar *key, GtkWidget *toggleDep, - gint min, gint max, gint step) +GtkWidget *trg_json_widget_spin_new_int(GList ** wl, JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gint step) { - return trg_json_widget_spin_common_new(wl, obj, key, toggleDep, TRG_JSON_WIDGET_SPIN_INT, min, max, (gdouble)step); + return trg_json_widget_spin_common_new(wl, obj, key, toggleDep, + TRG_JSON_WIDGET_SPIN_INT, min, + max, (gdouble) step); } -GtkWidget *trg_json_widget_spin_new_double(GList **wl, JsonObject *obj, const gchar *key, GtkWidget *toggleDep, - gint min, gint max, gdouble step) +GtkWidget *trg_json_widget_spin_new_double(GList ** wl, JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gdouble step) { - return trg_json_widget_spin_common_new(wl, obj, key, toggleDep, TRG_JSON_WIDGET_SPIN_DOUBLE, min, max, step); + return trg_json_widget_spin_common_new(wl, obj, key, toggleDep, + TRG_JSON_WIDGET_SPIN_DOUBLE, + min, max, step); } -void trg_json_widget_check_save(GtkWidget *widget, JsonObject *obj, gchar *key) +void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj, + gchar * key) { - gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + gboolean active = + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); json_object_set_boolean_member(obj, key, active); } -void trg_json_widget_entry_save(GtkWidget *widget, JsonObject *obj, gchar *key) +void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj, + gchar * key) { - json_object_set_string_member(obj, key, gtk_entry_get_text(GTK_ENTRY(widget))); + json_object_set_string_member(obj, key, + gtk_entry_get_text(GTK_ENTRY(widget))); } -void trg_json_widget_spin_save_int(GtkWidget *widget, JsonObject *obj, gchar *key) +void trg_json_widget_spin_save_int(GtkWidget * widget, JsonObject * obj, + gchar * key) { - json_object_set_int_member(obj, key, (gint)gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget))); + json_object_set_int_member(obj, key, + (gint) + gtk_spin_button_get_value(GTK_SPIN_BUTTON + (widget))); } -void trg_json_widget_spin_save_double(GtkWidget *widget, JsonObject *obj, gchar *key) +void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj, + gchar * key) { - json_object_set_double_member(obj, key, gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget))); + json_object_set_double_member(obj, key, + gtk_spin_button_get_value(GTK_SPIN_BUTTON + (widget))); } diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h index a82818b..2f53d1e 100644 --- a/src/trg-json-widgets.h +++ b/src/trg-json-widgets.h @@ -26,7 +26,7 @@ typedef struct { GtkWidget *widget; gchar *key; - void (*saveFunc)(GtkWidget *widget, JsonObject *obj, gchar *key); + void (*saveFunc) (GtkWidget * widget, JsonObject * obj, gchar * key); } trg_json_widget_desc; typedef enum { @@ -36,20 +36,33 @@ typedef enum { void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data); -GtkWidget *trg_json_widget_check_new(GList **wl, JsonObject *obj, const gchar *key, const gchar *label, GtkWidget *toggleDep); -GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, const gchar *key, GtkWidget *toggleDep); -GtkWidget *trg_json_widget_spin_new_int(GList **wl, JsonObject *obj, const gchar *key, GtkWidget *toggleDep, - gint min, gint max, gint step); -GtkWidget *trg_json_widget_spin_new_double(GList **wl, JsonObject *obj, const gchar *key, GtkWidget *toggleDep, - gint min, gint max, gdouble step); +GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj, + const gchar * key, + const gchar * label, + GtkWidget * toggleDep); +GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep); +GtkWidget *trg_json_widget_spin_new_int(GList ** wl, JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gint step); +GtkWidget *trg_json_widget_spin_new_double(GList ** wl, JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gdouble step); -void trg_json_widget_check_save(GtkWidget *widget, JsonObject *obj, gchar *key); -void trg_json_widget_entry_save(GtkWidget *widget, JsonObject *obj, gchar *key); -void trg_json_widget_spin_save_int(GtkWidget *widget, JsonObject *obj, gchar *key); -void trg_json_widget_spin_save_double(GtkWidget *widget, JsonObject *obj, gchar *key); +void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj, + gchar * key); +void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj, + gchar * key); +void trg_json_widget_spin_save_int(GtkWidget * widget, JsonObject * obj, + gchar * key); +void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj, + gchar * key); -void trg_json_widget_desc_free(trg_json_widget_desc *wd); -void trg_json_widget_desc_list_free(GList *list); -void trg_json_widgets_save(GList *list, JsonObject *out); +void trg_json_widget_desc_free(trg_json_widget_desc * wd); +void trg_json_widget_desc_list_free(GList * list); +void trg_json_widgets_save(GList * list, JsonObject * out); -#endif /* TRG_JSON_WIDGETS_H_ */ +#endif /* TRG_JSON_WIDGETS_H_ */ diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 95cd703..47c6a9f 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -142,9 +142,9 @@ 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); +static TrgTorrentTreeView + *trg_main_window_torrent_tree_view_new(TrgMainWindow * win, + GtkTreeModel * model); static gboolean trg_dialog_error_handler(TrgMainWindow * win, trg_response * response); static gboolean torrent_selection_changed(GtkTreeSelection * selection, @@ -437,8 +437,7 @@ static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer 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)); } @@ -1140,9 +1139,8 @@ static gboolean on_torrent_get(gpointer data, int 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) @@ -1297,14 +1295,14 @@ 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)); + GTK_TREE_MODEL + (priv->torrentModel)); trg_state_selector_update(priv->stateSelector); } static TrgTorrentTreeView - *trg_main_window_torrent_tree_view_new(TrgMainWindow * win, - GtkTreeModel * model) + * trg_main_window_torrent_tree_view_new(TrgMainWindow * win, + GtkTreeModel * model) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); TrgTorrentTreeView *torrentTreeView = @@ -2394,8 +2392,7 @@ static GObject *trg_main_window_constructor(GType type, self, NULL); priv->torrentTreeView = trg_main_window_torrent_tree_view_new(self, - priv-> - filteredTorrentModel); + priv->filteredTorrentModel); g_signal_connect(priv->torrentTreeView, "key-press-event", G_CALLBACK(torrent_tv_key_press_event), self); g_signal_connect(priv->torrentTreeView, "popup-menu", @@ -2444,8 +2441,7 @@ static GObject *trg_main_window_constructor(GType type, FALSE, FALSE); gtk_paned_pack2(GTK_PANED(priv->hpaned), my_scrolledwin_new(GTK_WIDGET - (priv-> - torrentTreeView)), + (priv->torrentTreeView)), TRUE, TRUE); g_signal_connect(G_OBJECT(priv->stateSelector), diff --git a/src/trg-main-window.h b/src/trg-main-window.h index 4355611..9374c15 100644 --- a/src/trg-main-window.h +++ b/src/trg-main-window.h @@ -60,7 +60,7 @@ GType trg_main_window_get_type(void); gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris); gboolean on_session_set(gpointer data); gboolean on_generic_interactive_action(gpointer data); -void auto_connect_if_required(TrgMainWindow * win, gchar **args); +void auto_connect_if_required(TrgMainWindow * win, gchar ** args); TrgMainWindow *trg_main_window_new(TrgClient * tc, gboolean minonstart); void trg_main_window_add_status_icon(TrgMainWindow * win); void trg_main_window_remove_status_icon(TrgMainWindow * win); @@ -69,13 +69,14 @@ void trg_main_window_remove_graph(TrgMainWindow * win); TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win); gint trg_mw_get_selected_torrent_id(TrgMainWindow * win); GtkTreeModel *trg_main_window_get_torrent_model(TrgMainWindow * win); -void trg_main_window_notebook_set_visible(TrgMainWindow *win, gboolean visible); +void trg_main_window_notebook_set_visible(TrgMainWindow * win, + gboolean visible); void connect_cb(GtkWidget * w, gpointer data); -void trg_main_window_reload_dir_aliases(TrgMainWindow *win); +void trg_main_window_reload_dir_aliases(TrgMainWindow * win); #if !GTK_CHECK_VERSION(2, 21, 1) #define gdk_drag_context_get_actions(context) context->actions #endif G_END_DECLS -#endif /* MAIN_WINDOW_H_ */ +#endif /* MAIN_WINDOW_H_ */ diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index 48afbcc..bc1118f 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -100,7 +100,8 @@ struct _TrgMenuBarPrivate { TrgMainWindow *main_window; }; -void trg_menu_bar_set_supports_queues(TrgMenuBar *mb, gboolean supportsQueues) +void trg_menu_bar_set_supports_queues(TrgMenuBar * mb, + gboolean supportsQueues) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb); @@ -127,7 +128,7 @@ void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected) } void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive) + gboolean sensitive) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb); @@ -147,145 +148,148 @@ void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, } static void trg_menu_bar_set_property(GObject * object, - guint prop_id, const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) { + guint prop_id, const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) +{ TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(object); switch (prop_id) { case PROP_PREFS: - priv->prefs = g_value_get_object(value); - break; + priv->prefs = g_value_get_object(value); + break; case PROP_MAIN_WINDOW: - priv->main_window = g_value_get_object(value); - break; + priv->main_window = g_value_get_object(value); + break; } } static void trg_menu_bar_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(object); switch (property_id) { case PROP_CONNECT_BUTTON: - g_value_set_object(value, priv->mb_connect); - break; + g_value_set_object(value, priv->mb_connect); + break; case PROP_DISCONNECT_BUTTON: - g_value_set_object(value, priv->mb_disconnect); - break; + g_value_set_object(value, priv->mb_disconnect); + break; case PROP_ADD_BUTTON: - g_value_set_object(value, priv->mb_add); - break; + g_value_set_object(value, priv->mb_add); + break; case PROP_ADD_URL_BUTTON: - g_value_set_object(value, priv->mb_add_url); - break; + g_value_set_object(value, priv->mb_add_url); + break; case PROP_REMOVE_BUTTON: - g_value_set_object(value, priv->mb_remove); - break; + g_value_set_object(value, priv->mb_remove); + break; case PROP_DELETE_BUTTON: - g_value_set_object(value, priv->mb_delete); - break; + g_value_set_object(value, priv->mb_delete); + break; case PROP_MOVE_UP_QUEUE: - g_value_set_object(value, priv->mb_up_queue); - break; + g_value_set_object(value, priv->mb_up_queue); + break; case PROP_MOVE_DOWN_QUEUE: - g_value_set_object(value, priv->mb_down_queue); - break; + g_value_set_object(value, priv->mb_down_queue); + break; case PROP_MOVE_TOP_QUEUE: - g_value_set_object(value, priv->mb_top_queue); - break; + g_value_set_object(value, priv->mb_top_queue); + break; case PROP_MOVE_BOTTOM_QUEUE: - g_value_set_object(value, priv->mb_bottom_queue); - break; + g_value_set_object(value, priv->mb_bottom_queue); + break; case PROP_START_NOW: - g_value_set_object(value, priv->mb_start_now); - break; + g_value_set_object(value, priv->mb_start_now); + break; case PROP_MOVE_BUTTON: - g_value_set_object(value, priv->mb_move); - break; + g_value_set_object(value, priv->mb_move); + break; case PROP_RESUME_BUTTON: - g_value_set_object(value, priv->mb_resume); - break; + g_value_set_object(value, priv->mb_resume); + break; case PROP_RESUME_ALL_BUTTON: - g_value_set_object(value, priv->mb_resume_all); - break; + g_value_set_object(value, priv->mb_resume_all); + break; case PROP_PAUSE_BUTTON: - g_value_set_object(value, priv->mb_pause); - break; + g_value_set_object(value, priv->mb_pause); + break; case PROP_PAUSE_ALL_BUTTON: - g_value_set_object(value, priv->mb_pause_all); - break; + g_value_set_object(value, priv->mb_pause_all); + break; case PROP_VERIFY_BUTTON: - g_value_set_object(value, priv->mb_verify); - break; + g_value_set_object(value, priv->mb_verify); + break; case PROP_REANNOUNCE_BUTTON: - g_value_set_object(value, priv->mb_reannounce); - break; + g_value_set_object(value, priv->mb_reannounce); + break; case PROP_PROPS_BUTTON: - g_value_set_object(value, priv->mb_props); - break; + g_value_set_object(value, priv->mb_props); + break; case PROP_REMOTE_PREFS_BUTTON: - g_value_set_object(value, priv->mb_remote_prefs); - break; + g_value_set_object(value, priv->mb_remote_prefs); + break; case PROP_LOCAL_PREFS_BUTTON: - g_value_set_object(value, priv->mb_local_prefs); - break; + g_value_set_object(value, priv->mb_local_prefs); + break; case PROP_ABOUT_BUTTON: - g_value_set_object(value, priv->mb_about); - break; + g_value_set_object(value, priv->mb_about); + break; case PROP_VIEW_SHOW_GRAPH: - g_value_set_object(value, priv->mb_view_graph); - break; + g_value_set_object(value, priv->mb_view_graph); + break; case PROP_VIEW_STATES_BUTTON: - g_value_set_object(value, priv->mb_view_states); - break; + g_value_set_object(value, priv->mb_view_states); + break; case PROP_VIEW_NOTEBOOK_BUTTON: - g_value_set_object(value, priv->mb_view_notebook); - break; + g_value_set_object(value, priv->mb_view_notebook); + break; case PROP_VIEW_STATS_BUTTON: - g_value_set_object(value, priv->mb_view_stats); - break; + g_value_set_object(value, priv->mb_view_stats); + break; case PROP_QUIT: - g_value_set_object(value, priv->mb_quit); - break; + g_value_set_object(value, priv->mb_quit); + break; case PROP_DIR_FILTERS: - g_value_set_object(value, priv->mb_directory_filters); - break; + g_value_set_object(value, priv->mb_directory_filters); + break; case PROP_TRACKER_FILTERS: - g_value_set_object(value, priv->mb_tracker_filters); - break; + g_value_set_object(value, priv->mb_tracker_filters); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_menu_bar_install_widget_prop(GObjectClass * class, guint propId, - const gchar * name, const gchar * nick) + const gchar * name, const gchar * nick) { g_object_class_install_property(class, - propId, - g_param_spec_object(name, - nick, - nick, - GTK_TYPE_WIDGET, - G_PARAM_READABLE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + propId, + g_param_spec_object(name, + nick, + nick, + GTK_TYPE_WIDGET, + G_PARAM_READABLE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } -GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar *text, - const gchar *stock_id, gboolean sensitive) +GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text, + const gchar * stock_id, + gboolean sensitive) { 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_use_underline(GTK_MENU_ITEM(item), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(item), text); gtk_widget_set_sensitive(item, sensitive); @@ -298,41 +302,56 @@ GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar *text, static void view_menu_item_toggled_cb(GtkCheckMenuItem * w, gpointer data) { TrgPrefs *p = TRG_PREFS(data); - gchar *key = (gchar*)g_object_get_data(G_OBJECT(w), G_DATAKEY_CONF_KEY); - trg_prefs_set_bool(p, key, gtk_check_menu_item_get_active(w), TRG_PREFS_GLOBAL); + gchar *key = + (gchar *) g_object_get_data(G_OBJECT(w), G_DATAKEY_CONF_KEY); + trg_prefs_set_bool(p, key, gtk_check_menu_item_get_active(w), + TRG_PREFS_GLOBAL); } -static void view_menu_bar_toggled_dependency_cb(GtkCheckMenuItem *w, gpointer data) +static void view_menu_bar_toggled_dependency_cb(GtkCheckMenuItem * w, + gpointer data) { - gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(w))); + gtk_widget_set_sensitive(GTK_WIDGET(data), + gtk_check_menu_item_get_active + (GTK_CHECK_MENU_ITEM(w))); } -static void trg_menu_bar_view_item_update(TrgPrefs *p, gchar *updatedKey, gpointer data) +static void trg_menu_bar_view_item_update(TrgPrefs * p, gchar * updatedKey, + gpointer data) { - gchar *key = (gchar*)g_object_get_data(G_OBJECT(data), G_DATAKEY_CONF_KEY); + gchar *key = + (gchar *) g_object_get_data(G_OBJECT(data), G_DATAKEY_CONF_KEY); if (!g_strcmp0(updatedKey, key)) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data) , trg_prefs_get_bool(p, key, TRG_PREFS_GLOBAL)); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data), + trg_prefs_get_bool(p, key, + TRG_PREFS_GLOBAL)); } -static GtkWidget *trg_menu_bar_view_item_new(TrgPrefs *prefs, gchar *key, - gchar *label, GtkWidget *dependency) +static GtkWidget *trg_menu_bar_view_item_new(TrgPrefs * prefs, gchar * key, + gchar * label, + GtkWidget * dependency) { GtkWidget *w = gtk_check_menu_item_new_with_label(label); g_object_set_data_full(G_OBJECT(w), G_DATAKEY_CONF_KEY, g_strdup(key), - g_free); + g_free); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w) , trg_prefs_get_bool(prefs, key, TRG_PREFS_GLOBAL)); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), + trg_prefs_get_bool(prefs, key, + TRG_PREFS_GLOBAL)); if (dependency) { - gtk_widget_set_sensitive(w, gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(dependency))); - g_signal_connect(dependency, "toggled", - G_CALLBACK(view_menu_bar_toggled_dependency_cb), w); + gtk_widget_set_sensitive(w, + gtk_check_menu_item_get_active + (GTK_CHECK_MENU_ITEM(dependency))); + g_signal_connect(dependency, "toggled", + G_CALLBACK(view_menu_bar_toggled_dependency_cb), + w); } g_signal_connect(w, "toggled", - G_CALLBACK(view_menu_item_toggled_cb), prefs); + G_CALLBACK(view_menu_item_toggled_cb), prefs); g_signal_connect(prefs, "pref-changed", - G_CALLBACK(trg_menu_bar_view_item_update), w); + G_CALLBACK(trg_menu_bar_view_item_update), w); return w; } @@ -345,27 +364,41 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb) GtkWidget *viewMenu = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), viewMenu); - priv->mb_view_states = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_STATE_SELECTOR, _("State selector"), NULL); + priv->mb_view_states = + trg_menu_bar_view_item_new(priv->prefs, + TRG_PREFS_KEY_SHOW_STATE_SELECTOR, + _("State selector"), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_states); - priv->mb_directory_filters = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, _("Directory filters"), priv->mb_view_states); + priv->mb_directory_filters = + trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, + _("Directory filters"), + priv->mb_view_states); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_directory_filters); + priv->mb_directory_filters); - priv->mb_tracker_filters = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_TRACKERS, _("Tracker filters"), priv->mb_view_states); + priv->mb_tracker_filters = + trg_menu_bar_view_item_new(priv->prefs, + TRG_PREFS_KEY_FILTER_TRACKERS, + _("Tracker filters"), + priv->mb_view_states); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_tracker_filters); + priv->mb_tracker_filters); - priv->mb_view_notebook = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_NOTEBOOK, _("Torrent Details"), NULL); + priv->mb_view_notebook = + trg_menu_bar_view_item_new(priv->prefs, + TRG_PREFS_KEY_SHOW_NOTEBOOK, + _("Torrent Details"), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_view_notebook); + priv->mb_view_notebook); - priv->mb_view_graph = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_GRAPH, _("Graph"), priv->mb_view_notebook); - gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_view_graph); + priv->mb_view_graph = + trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_GRAPH, + _("Graph"), priv->mb_view_notebook); + gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_graph); priv->mb_view_stats = - gtk_menu_item_new_with_mnemonic(_("_Statistics")); + gtk_menu_item_new_with_mnemonic(_("_Statistics")); gtk_widget_set_sensitive(priv->mb_view_stats, FALSE); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_stats); @@ -380,28 +413,34 @@ GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(opts), optsMenu); priv->mb_local_prefs = - trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), - _("_Local Preferences"), - GTK_STOCK_PREFERENCES, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), + _("_Local Preferences"), + GTK_STOCK_PREFERENCES, TRUE); priv->mb_remote_prefs = - trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), - _("_Remote Preferences"), - GTK_STOCK_NETWORK, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), + _("_Remote Preferences"), + GTK_STOCK_NETWORK, FALSE); return opts; } -static void trg_menu_bar_file_connect_item_new(TrgMainWindow *win, GtkMenuShell *shell, const gchar *text, gboolean checked, JsonObject *profile) +static void trg_menu_bar_file_connect_item_new(TrgMainWindow * win, + GtkMenuShell * shell, + const gchar * text, + gboolean checked, + JsonObject * profile) { GtkWidget *item = gtk_check_menu_item_new_with_label(text); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), checked); g_object_set_data(G_OBJECT(item), "profile", profile); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(connect_cb), win); + g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(connect_cb), + win); gtk_menu_shell_append(shell, item); } -GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow *win, TrgPrefs *p) +GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow * win, + TrgPrefs * p) { GtkWidget *menu = gtk_menu_new(); GList *profiles = json_array_get_elements(trg_prefs_get_profiles(p)); @@ -409,18 +448,20 @@ GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow *win, TrgPrefs *p) GList *li; for (li = profiles; li; li = g_list_next(li)) { - JsonObject *profile = json_node_get_object((JsonNode*) li->data); - const gchar *name_value; - - if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { - name_value = json_object_get_string_member(profile, - TRG_PREFS_KEY_PROFILE_NAME); - } else { - name_value = _(TRG_PROFILE_NAME_DEFAULT); - } - - trg_menu_bar_file_connect_item_new(win, GTK_MENU_SHELL(menu), name_value, - profile == currentProfile, profile); + JsonObject *profile = json_node_get_object((JsonNode *) li->data); + const gchar *name_value; + + if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { + name_value = json_object_get_string_member(profile, + TRG_PREFS_KEY_PROFILE_NAME); + } else { + name_value = _(TRG_PROFILE_NAME_DEFAULT); + } + + trg_menu_bar_file_connect_item_new(win, GTK_MENU_SHELL(menu), + name_value, + profile == currentProfile, + profile); } g_list_free(profiles); @@ -434,26 +475,28 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBarPrivate * priv) GtkWidget *file = gtk_menu_item_new_with_mnemonic(_("_File")); GtkWidget *fileMenu = gtk_menu_new(); - GtkWidget *connectMenu = trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + GtkWidget *connectMenu = + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); priv->mb_connect = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Connect"), - GTK_STOCK_CONNECT, TRUE); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(priv->mb_connect), connectMenu); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Connect"), + GTK_STOCK_CONNECT, TRUE); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(priv->mb_connect), + connectMenu); priv->mb_disconnect = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Disconnect"), - GTK_STOCK_DISCONNECT, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Disconnect"), + GTK_STOCK_DISCONNECT, FALSE); priv->mb_add = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Add"), - GTK_STOCK_ADD, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Add"), + GTK_STOCK_ADD, FALSE); priv->mb_add_url = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Add from _URL"), - GTK_STOCK_ADD, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Add from _URL"), + GTK_STOCK_ADD, FALSE); priv->mb_quit = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Quit"), - GTK_STOCK_QUIT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Quit"), + GTK_STOCK_QUIT, TRUE); gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), fileMenu); @@ -468,66 +511,69 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(torrent), torrentMenu); priv->mb_props = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Properties"), GTK_STOCK_PROPERTIES, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Properties"), GTK_STOCK_PROPERTIES, + FALSE); priv->mb_resume = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Resume"), - GTK_STOCK_MEDIA_PLAY, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Resume"), + GTK_STOCK_MEDIA_PLAY, FALSE); priv->mb_pause = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause"), - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause"), + GTK_STOCK_MEDIA_PAUSE, FALSE); priv->mb_verify = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Verify"), - GTK_STOCK_REFRESH, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Verify"), + GTK_STOCK_REFRESH, FALSE); priv->mb_reannounce = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Re-_announce"), GTK_STOCK_REFRESH, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Re-_announce"), GTK_STOCK_REFRESH, FALSE); priv->mb_move = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Move"), - GTK_STOCK_HARDDISK, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Move"), + GTK_STOCK_HARDDISK, FALSE); priv->mb_remove = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("Remove"), - GTK_STOCK_REMOVE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("Remove"), + GTK_STOCK_REMOVE, FALSE); priv->mb_delete = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Remove and Delete"), GTK_STOCK_CLEAR, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Remove and Delete"), GTK_STOCK_CLEAR, + FALSE); priv->mb_queues_seperator = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(torrentMenu), - priv->mb_queues_seperator); + priv->mb_queues_seperator); priv->mb_start_now = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Start Now"), GTK_STOCK_MEDIA_PLAY, - FALSE); + _("Start Now"), + GTK_STOCK_MEDIA_PLAY, + FALSE); priv->mb_up_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Move Up Queue"), GTK_STOCK_GO_UP, - FALSE); + _("Move Up Queue"), + GTK_STOCK_GO_UP, FALSE); - priv->mb_down_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Move Down Queue"), GTK_STOCK_GO_DOWN, - FALSE); + priv->mb_down_queue = + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Move Down Queue"), GTK_STOCK_GO_DOWN, + FALSE); - priv->mb_bottom_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Bottom Of Queue"), GTK_STOCK_GOTO_BOTTOM, - FALSE); + priv->mb_bottom_queue = + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Bottom Of Queue"), GTK_STOCK_GOTO_BOTTOM, + FALSE); priv->mb_top_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Top Of Queue"), GTK_STOCK_GOTO_TOP, - FALSE); + _("Top Of Queue"), + GTK_STOCK_GOTO_TOP, FALSE); gtk_menu_shell_append(GTK_MENU_SHELL(torrentMenu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); priv->mb_resume_all = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("_Resume All"), GTK_STOCK_MEDIA_PLAY, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("_Resume All"), GTK_STOCK_MEDIA_PLAY, + FALSE); priv->mb_pause_all = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause All"), - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause All"), + GTK_STOCK_MEDIA_PAUSE, FALSE); return torrent; } @@ -543,17 +589,19 @@ GtkWidget *trg_menu_bar_help_menu_new(TrgMenuBar * menuBar) gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), help); priv->mb_about = - trg_menu_bar_item_new(GTK_MENU_SHELL(helpMenu), _("_About"), - GTK_STOCK_ABOUT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(helpMenu), _("_About"), + GTK_STOCK_ABOUT, TRUE); return helpMenu; } -static void menu_bar_refresh_menu(GtkWidget *w, gpointer data) +static void menu_bar_refresh_menu(GtkWidget * w, gpointer data) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(data); - GtkWidget *old = gtk_menu_item_get_submenu(GTK_MENU_ITEM(priv->mb_connect)); - GtkWidget *new = trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + GtkWidget *old = + gtk_menu_item_get_submenu(GTK_MENU_ITEM(priv->mb_connect)); + GtkWidget *new = + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); gtk_widget_destroy(old); gtk_menu_item_set_submenu(GTK_MENU_ITEM(priv->mb_connect), new); @@ -561,26 +609,32 @@ static void menu_bar_refresh_menu(GtkWidget *w, gpointer data) } static GObject *trg_menu_bar_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *object; TrgMenuBarPrivate *priv; object = G_OBJECT_CLASS - (trg_menu_bar_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_menu_bar_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_MENU_BAR_GET_PRIVATE(object); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_file_file_menu_new(priv)); + trg_menu_bar_file_file_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_torrent_menu_new(priv)); + trg_menu_bar_torrent_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_options_menu_new(priv)); + trg_menu_bar_options_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_view_menu_new(TRG_MENU_BAR(object))); + trg_menu_bar_view_menu_new(TRG_MENU_BAR + (object))); trg_menu_bar_help_menu_new(TRG_MENU_BAR(object)); - g_signal_connect(G_OBJECT(priv->prefs), "pref-profile-changed", G_CALLBACK(menu_bar_refresh_menu), object); + g_signal_connect(G_OBJECT(priv->prefs), "pref-profile-changed", + G_CALLBACK(menu_bar_refresh_menu), object); return object; } @@ -595,103 +649,105 @@ static void trg_menu_bar_class_init(TrgMenuBarClass * klass) g_type_class_add_private(klass, sizeof(TrgMenuBarPrivate)); trg_menu_bar_install_widget_prop(object_class, PROP_CONNECT_BUTTON, - "connect-button", "Connect Button"); + "connect-button", "Connect Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_DISCONNECT_BUTTON, - "disconnect-button", - "Disconnect Button"); + PROP_DISCONNECT_BUTTON, + "disconnect-button", + "Disconnect Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ADD_BUTTON, - "add-button", "Add Button"); + "add-button", "Add Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ADD_URL_BUTTON, - "add-url-button", "Add URL Button"); + "add-url-button", "Add URL Button"); trg_menu_bar_install_widget_prop(object_class, PROP_REMOVE_BUTTON, - "remove-button", "Remove Button"); + "remove-button", "Remove Button"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_BUTTON, - "move-button", "Move Button"); + "move-button", "Move Button"); trg_menu_bar_install_widget_prop(object_class, PROP_DELETE_BUTTON, - "delete-button", "Delete Button"); + "delete-button", "Delete Button"); trg_menu_bar_install_widget_prop(object_class, PROP_RESUME_BUTTON, - "resume-button", "Resume Button"); + "resume-button", "Resume Button"); trg_menu_bar_install_widget_prop(object_class, PROP_RESUME_ALL_BUTTON, - "resume-all-button", - "Resume All Button"); + "resume-all-button", + "Resume All Button"); trg_menu_bar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, - "verify-button", "Verify Button"); + "verify-button", "Verify Button"); trg_menu_bar_install_widget_prop(object_class, PROP_REANNOUNCE_BUTTON, - "reannounce-button", - "Re-announce Button"); + "reannounce-button", + "Re-announce Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PAUSE_ALL_BUTTON, - "pause-all-button", - "Pause All Button"); + "pause-all-button", + "Pause All Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, - "pause-button", "Pause Button"); + "pause-button", "Pause Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PROPS_BUTTON, - "props-button", "Props Button"); + "props-button", "Props Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ABOUT_BUTTON, - "about-button", "About Button"); + "about-button", "About Button"); trg_menu_bar_install_widget_prop(object_class, PROP_VIEW_STATS_BUTTON, - "view-stats-button", - "View stats button"); + "view-stats-button", + "View stats button"); trg_menu_bar_install_widget_prop(object_class, PROP_VIEW_STATES_BUTTON, - "view-states-button", - "View states Button"); + "view-states-button", + "View states Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_VIEW_NOTEBOOK_BUTTON, - "view-notebook-button", - "View notebook Button"); + PROP_VIEW_NOTEBOOK_BUTTON, + "view-notebook-button", + "View notebook Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, - "remote-prefs-button", - "Remote Prefs Button"); + PROP_REMOTE_PREFS_BUTTON, + "remote-prefs-button", + "Remote Prefs Button"); trg_menu_bar_install_widget_prop(object_class, PROP_LOCAL_PREFS_BUTTON, - "local-prefs-button", - "Local Prefs Button"); + "local-prefs-button", + "Local Prefs Button"); trg_menu_bar_install_widget_prop(object_class, PROP_QUIT, - "quit-button", "Quit Button"); + "quit-button", "Quit Button"); trg_menu_bar_install_widget_prop(object_class, PROP_DIR_FILTERS, - "dir-filters", "Dir Filters"); + "dir-filters", "Dir Filters"); trg_menu_bar_install_widget_prop(object_class, PROP_TRACKER_FILTERS, - "tracker-filters", "Tracker Filters"); + "tracker-filters", "Tracker Filters"); trg_menu_bar_install_widget_prop(object_class, PROP_VIEW_SHOW_GRAPH, - "show-graph", "Show Graph"); + "show-graph", "Show Graph"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_DOWN_QUEUE, - "down-queue", "Down Queue"); + "down-queue", "Down Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_UP_QUEUE, - "up-queue", "Up Queue"); + "up-queue", "Up Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_BOTTOM_QUEUE, - "bottom-queue", "Bottom Queue"); + "bottom-queue", "Bottom Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_TOP_QUEUE, - "top-queue", "Top Queue"); + "top-queue", "Top Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_START_NOW, - "start-now", "Start Now"); + "start-now", "Start Now"); g_object_class_install_property(object_class, - PROP_PREFS, - g_param_spec_object("prefs", - "prefs", - "Prefs", - TRG_TYPE_PREFS, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PREFS, + g_param_spec_object("prefs", + "prefs", + "Prefs", + TRG_TYPE_PREFS, + 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_MAIN_WINDOW, - g_param_spec_object("mainwin", - "mainwin", - "mainwin", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MAIN_WINDOW, + g_param_spec_object("mainwin", + "mainwin", + "mainwin", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } @@ -699,9 +755,8 @@ static void trg_menu_bar_init(TrgMenuBar * self) { } -TrgMenuBar *trg_menu_bar_new(TrgMainWindow *win, TrgPrefs *prefs) +TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs) { return g_object_new(TRG_TYPE_MENU_BAR, - "prefs", prefs, - "mainwin", win, NULL); + "prefs", prefs, "mainwin", win, NULL); } diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h index 720aa35..d8b73f0 100644 --- a/src/trg-menu-bar.h +++ b/src/trg-menu-bar.h @@ -48,15 +48,18 @@ typedef struct { GType trg_menu_bar_get_type(void); -TrgMenuBar *trg_menu_bar_new(TrgMainWindow *win, TrgPrefs *prefs); -GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar *text, - const gchar *stock_id, gboolean sensitive); +TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs); +GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text, + const gchar * stock_id, + gboolean sensitive); G_END_DECLS void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive); + gboolean sensitive); void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected); -void trg_menu_bar_set_supports_queues(TrgMenuBar *mb, gboolean supportsQueues); -GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow *win, TrgPrefs *p); +void trg_menu_bar_set_supports_queues(TrgMenuBar * mb, + gboolean supportsQueues); +GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow * win, + TrgPrefs * p); -#endif /* TRG_MENU_BAR_H_ */ +#endif /* TRG_MENU_BAR_H_ */ diff --git a/src/trg-model.c b/src/trg-model.c index e10c974..75c7016 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -34,23 +34,23 @@ struct trg_model_remove_removed_foreachfunc_args { gboolean trg_model_remove_removed_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct trg_model_remove_removed_foreachfunc_args *args = - (struct trg_model_remove_removed_foreachfunc_args *) data; + (struct trg_model_remove_removed_foreachfunc_args *) data; gint64 rowSerial; gtk_tree_model_get(model, iter, args->serial_column, &rowSerial, -1); if (rowSerial != args->currentSerial) - args->toRemove = - g_list_append(args->toRemove, gtk_tree_iter_copy(iter)); + args->toRemove = + g_list_append(args->toRemove, gtk_tree_iter_copy(iter)); return FALSE; } guint trg_model_remove_removed(GtkListStore * model, gint serial_column, - gint64 currentSerial) + gint64 currentSerial) { struct trg_model_remove_removed_foreachfunc_args args; GList *li; @@ -60,15 +60,15 @@ trg_model_remove_removed(GtkListStore * model, gint serial_column, args.currentSerial = currentSerial; args.serial_column = serial_column; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_model_remove_removed_foreachfunc, &args); + trg_model_remove_removed_foreachfunc, &args); if (args.toRemove != NULL) { - for (li = g_list_last(args.toRemove); li != NULL; - li = g_list_previous(li)) { - gtk_list_store_remove(model, (GtkTreeIter *) li->data); - gtk_tree_iter_free((GtkTreeIter *) li->data); - removed++; - } - g_list_free(args.toRemove); + for (li = g_list_last(args.toRemove); li != NULL; + li = g_list_previous(li)) { + gtk_list_store_remove(model, (GtkTreeIter *) li->data); + gtk_tree_iter_free((GtkTreeIter *) li->data); + removed++; + } + g_list_free(args.toRemove); } return removed; @@ -83,17 +83,17 @@ struct find_existing_item_foreach_args { static gboolean find_existing_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct find_existing_item_foreach_args *args = - (struct find_existing_item_foreach_args *) data; + (struct find_existing_item_foreach_args *) data; gint64 currentId; gtk_tree_model_get(model, iter, args->search_column, ¤tId, -1); if (currentId == args->id) { - args->iter = iter; - return args->found = TRUE; + args->iter = iter; + return args->found = TRUE; } return FALSE; @@ -101,7 +101,7 @@ find_existing_item_foreachfunc(GtkTreeModel * model, gboolean find_existing_model_item(GtkTreeModel * model, gint search_column, - gint64 id, GtkTreeIter * iter) + gint64 id, GtkTreeIter * iter) { struct find_existing_item_foreach_args args; args.id = id; @@ -109,6 +109,6 @@ find_existing_model_item(GtkTreeModel * model, gint search_column, args.search_column = search_column; gtk_tree_model_foreach(model, find_existing_item_foreachfunc, &args); if (args.found == TRUE) - *iter = *(args.iter); + *iter = *(args.iter); return args.found; } diff --git a/src/trg-model.h b/src/trg-model.h index 9059303..da92c2a 100644 --- a/src/trg-model.h +++ b/src/trg-model.h @@ -23,10 +23,10 @@ #include guint trg_model_remove_removed(GtkListStore * model, gint serial_column, - gint64 currentSerial); + gint64 currentSerial); gboolean find_existing_model_item(GtkTreeModel * model, gint search_column, - gint64 id, GtkTreeIter * iter); + gint64 id, GtkTreeIter * iter); -#endif /* TRG_MODEL_H_ */ +#endif /* TRG_MODEL_H_ */ diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 6ba7d09..e97eb8b 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -49,43 +49,51 @@ struct _TrgPeersModelPrivate { }; #endif -static void trg_peers_model_class_init(TrgPeersModelClass * klass G_GNUC_UNUSED) { +static void trg_peers_model_class_init(TrgPeersModelClass * + klass G_GNUC_UNUSED) +{ #ifdef HAVE_GEOIP g_type_class_add_private(klass, sizeof(TrgPeersModelPrivate)); #endif } gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) { + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) +{ struct peerAndIter *pi = (struct peerAndIter *) data; gchar *ip; gtk_tree_model_get(model, iter, PEERSCOL_IP, &ip, -1); if (g_strcmp0(ip, pi->ip) == 0) { - pi->iter = *iter; - pi->found = TRUE; + pi->iter = *iter; + pi->found = TRUE; } g_free(ip); return pi->found; } gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, - GtkTreeIter * iter) { + GtkTreeIter * iter) +{ struct peerAndIter pi; pi.ip = peer_get_address(p); pi.found = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - find_existing_peer_item_foreachfunc, &pi); + find_existing_peer_item_foreachfunc, &pi); if (pi.found == TRUE) - *iter = pi.iter; + *iter = pi.iter; return pi.found; } static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, - gpointer data) { + gpointer data) +{ GtkTreeRowReference *treeRef; GtkTreeModel *model; GtkTreePath *path; @@ -95,32 +103,36 @@ static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, path = gtk_tree_row_reference_get_path(treeRef); if (path != NULL) { - gchar *rdns = g_resolver_lookup_by_address_finish( - G_RESOLVER(source_object), res, NULL); - if (rdns != NULL) { - GtkTreeIter iter; - if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { - gdk_threads_enter(); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, PEERSCOL_HOST, - rdns, -1); - gdk_threads_leave(); - } - g_free(rdns); - } - gtk_tree_path_free(path); + gchar *rdns = + g_resolver_lookup_by_address_finish(G_RESOLVER(source_object), + res, NULL); + if (rdns != NULL) { + GtkTreeIter iter; + if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { + gdk_threads_enter(); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + PEERSCOL_HOST, rdns, -1); + gdk_threads_leave(); + } + g_free(rdns); + } + gtk_tree_path_free(path); } gtk_tree_row_reference_free(treeRef); } -void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, - gint64 updateSerial, JsonObject * t, gint mode) { +void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, + gint64 updateSerial, JsonObject * t, gint mode) +{ #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); - gboolean doGeoLookup = trg_tree_view_is_column_showing(tv, PEERSCOL_COUNTRY); + gboolean doGeoLookup = + trg_tree_view_is_column_showing(tv, PEERSCOL_COUNTRY); #endif - gboolean doHostLookup = trg_tree_view_is_column_showing(tv, PEERSCOL_HOST); + gboolean doHostLookup = + trg_tree_view_is_column_showing(tv, PEERSCOL_HOST); JsonArray *peers; GtkTreeIter peerIter; GList *li, *peersList; @@ -129,75 +141,83 @@ void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, peers = torrent_get_peers(t); if (mode == TORRENT_GET_MODE_FIRST) - gtk_list_store_clear(GTK_LIST_STORE(model)); + gtk_list_store_clear(GTK_LIST_STORE(model)); peersList = json_array_get_elements(peers); for (li = peersList; li; li = g_list_next(li)) { - JsonObject *peer = json_node_get_object((JsonNode *) li->data); - const gchar *address = NULL, *flagStr; + JsonObject *peer = json_node_get_object((JsonNode *) li->data); + const gchar *address = NULL, *flagStr; #ifdef HAVE_GEOIP - const gchar *country = NULL; + const gchar *country = NULL; #endif - if (mode == TORRENT_GET_MODE_FIRST || find_existing_peer_item(model, - peer, &peerIter) == FALSE) { - gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); + if (mode == TORRENT_GET_MODE_FIRST + || find_existing_peer_item(model, peer, &peerIter) == FALSE) { + gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); - address = peer_get_address(peer); + address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (address && doGeoLookup) { // just in case address wasn't set - if (strchr(address,':') && priv->geoipv6) - country = GeoIP_country_name_by_addr_v6(priv->geoipv6, address); - else if (priv->geoip) - country = GeoIP_country_name_by_addr(priv->geoip, address); - } + if (address && doGeoLookup) { // just in case address wasn't set + if (strchr(address, ':') && priv->geoipv6) + country = + GeoIP_country_name_by_addr_v6(priv->geoipv6, + address); + else if (priv->geoip) + country = + GeoIP_country_name_by_addr(priv->geoip, address); + } #endif - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, PEERSCOL_ICON, - GTK_STOCK_NETWORK, PEERSCOL_IP, address, + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_ICON, GTK_STOCK_NETWORK, + PEERSCOL_IP, address, #ifdef HAVE_GEOIP - PEERSCOL_COUNTRY, country ? country : "", + PEERSCOL_COUNTRY, country ? country : "", #endif - PEERSCOL_CLIENT, peer_get_client_name(peer), -1); - - isNew = TRUE; - } else { - isNew = FALSE; - } - - flagStr = peer_get_flagstr(peer); - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, PEERSCOL_FLAGS, - flagStr, PEERSCOL_PROGRESS, peer_get_progress(peer), - PEERSCOL_DOWNSPEED, peer_get_rate_to_client(peer), - PEERSCOL_UPSPEED, peer_get_rate_to_peer(peer), - PEERSCOL_UPDATESERIAL, updateSerial, -1); - - if (doHostLookup && isNew == TRUE) { - GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), - &peerIter); - GtkTreeRowReference *treeRef = gtk_tree_row_reference_new( - GTK_TREE_MODEL(model), path); - GInetAddress *inetAddr; - GResolver *resolver; - - gtk_tree_path_free(path); - - inetAddr = g_inet_address_new_from_string(address); - resolver = g_resolver_get_default(); - g_resolver_lookup_by_address_async(resolver, inetAddr, NULL, - resolved_dns_cb, treeRef); - g_object_unref(resolver); - g_object_unref(inetAddr); - } + PEERSCOL_CLIENT, peer_get_client_name(peer), + -1); + + isNew = TRUE; + } else { + isNew = FALSE; + } + + flagStr = peer_get_flagstr(peer); + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_FLAGS, flagStr, PEERSCOL_PROGRESS, + peer_get_progress(peer), PEERSCOL_DOWNSPEED, + peer_get_rate_to_client(peer), PEERSCOL_UPSPEED, + peer_get_rate_to_peer(peer), + PEERSCOL_UPDATESERIAL, updateSerial, -1); + + if (doHostLookup && isNew == TRUE) { + GtkTreePath *path = + gtk_tree_model_get_path(GTK_TREE_MODEL(model), + &peerIter); + GtkTreeRowReference *treeRef = + gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); + GInetAddress *inetAddr; + GResolver *resolver; + + gtk_tree_path_free(path); + + inetAddr = g_inet_address_new_from_string(address); + resolver = g_resolver_get_default(); + g_resolver_lookup_by_address_async(resolver, inetAddr, NULL, + resolved_dns_cb, treeRef); + g_object_unref(resolver); + g_object_unref(inetAddr); + } } g_list_free(peersList); if (mode != TORRENT_GET_MODE_FIRST) - trg_model_remove_removed(GTK_LIST_STORE(model), PEERSCOL_UPDATESERIAL, - updateSerial); + trg_model_remove_removed(GTK_LIST_STORE(model), + PEERSCOL_UPDATESERIAL, updateSerial); } -static void trg_peers_model_init(TrgPeersModel * self) { +static void trg_peers_model_init(TrgPeersModel * self) +{ #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(self); #endif @@ -218,18 +238,19 @@ static void trg_peers_model_init(TrgPeersModel * self) { column_types[PEERSCOL_UPDATESERIAL] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), PEERSCOL_COLUMNS, - column_types); + column_types); #ifdef HAVE_GEOIP if (g_file_test(TRG_GEOIP_DATABASE, G_FILE_TEST_EXISTS) == TRUE) - priv->geoip = GeoIP_open(TRG_GEOIP_DATABASE, - GEOIP_STANDARD | GEOIP_CHECK_CACHE); + priv->geoip = GeoIP_open(TRG_GEOIP_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); if (g_file_test(TRG_GEOIPV6_DATABASE, G_FILE_TEST_EXISTS) == TRUE) - priv->geoipv6 = GeoIP_open(TRG_GEOIPV6_DATABASE, - GEOIP_STANDARD | GEOIP_CHECK_CACHE); + priv->geoipv6 = GeoIP_open(TRG_GEOIPV6_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); #endif } -TrgPeersModel *trg_peers_model_new() { +TrgPeersModel *trg_peers_model_new() +{ return g_object_new(TRG_TYPE_PEERS_MODEL, NULL); } diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 1544bda..59e9476 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -80,10 +80,11 @@ enum { PEERSCOL_COLUMNS }; -void trg_peers_model_update(TrgPeersModel * model, TrgTreeView *tv, gint64 updateSerial, - JsonObject * t, gboolean first); +void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, + gint64 updateSerial, JsonObject * t, + gboolean first); -#endif /* TRG_PEERS_MODEL_H_ */ +#endif /* TRG_PEERS_MODEL_H_ */ #define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" #define TRG_GEOIPV6_DATABASE "/usr/share/GeoIP/GeoIPv6.dat" diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 7ad0304..9d8381b 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -47,32 +47,33 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, PEERSCOL_IP, - _("IP"), "ip", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, + PEERSCOL_IP, _("IP"), "ip", 0); desc->model_column_icon = PEERSCOL_ICON; trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_HOST, - _("Host"), "host", 0); + _("Host"), "host", 0); #ifdef HAVE_GEOIP trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, - _("Country"), "country", 0); + _("Country"), "country", 0); #endif trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_DOWNSPEED, - _("Down Speed"), "down-speed", 0); + _("Down Speed"), "down-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_UPSPEED, - _("Up Speed"), "up-speed", 0); + _("Up Speed"), "up-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, PEERSCOL_PROGRESS, - _("Progress"), "progress", 0); + _("Progress"), "progress", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_FLAGS, - _("Flags"), "flags", 0); + _("Flags"), "flags", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CLIENT, - _("Client"), "client", 0); + _("Client"), "client", 0); gtk_tree_view_set_search_column(GTK_TREE_VIEW(self), PEERSCOL_HOST); } -TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs *prefs, TrgPeersModel * model) +TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, + TrgPeersModel * model) { GObject *obj = g_object_new(TRG_TYPE_PEERS_TREE_VIEW, NULL); trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), prefs); diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index dbd5e03..72d4261 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -49,7 +49,8 @@ typedef struct { GType trg_peers_tree_view_get_type(void); -TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs *prefs, TrgPeersModel * model); +TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, + TrgPeersModel * model); G_END_DECLS -#endif /* TRG_PEERS_TREE_VIEW_H_ */ +#endif /* TRG_PEERS_TREE_VIEW_H_ */ diff --git a/src/trg-persistent-tree-view.c b/src/trg-persistent-tree-view.c index a8ce65e..dad8b37 100644 --- a/src/trg-persistent-tree-view.c +++ b/src/trg-persistent-tree-view.c @@ -29,11 +29,10 @@ * to add/remove entries as well as the TreeView. */ -G_DEFINE_TYPE (TrgPersistentTreeView, trg_persistent_tree_view, GTK_TYPE_VBOX) - +G_DEFINE_TYPE(TrgPersistentTreeView, trg_persistent_tree_view, + GTK_TYPE_VBOX) #define GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewPrivate)) - typedef struct _TrgPersistentTreeViewPrivate TrgPersistentTreeViewPrivate; enum { @@ -52,31 +51,37 @@ struct _TrgPersistentTreeViewPrivate { trg_persistent_tree_view_column *addSelect; }; -static void selection_changed(GtkTreeSelection *selection, gpointer data) { +static void selection_changed(GtkTreeSelection * selection, gpointer data) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); if (gtk_tree_selection_get_selected(selection, NULL, NULL)) - gtk_widget_set_sensitive(priv->delButton, TRUE); + gtk_widget_set_sensitive(priv->delButton, TRUE); else - gtk_widget_set_sensitive(priv->delButton, FALSE); + gtk_widget_set_sensitive(priv->delButton, FALSE); } static void trg_persistent_tree_view_edit(GtkCellRendererText * renderer, - gchar * path, gchar * new_text, gpointer user_data) { + gchar * path, gchar * new_text, + gpointer user_data) +{ trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column*) user_data; + (trg_persistent_tree_view_column *) user_data; TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(cd->tv); GtkTreeModel *model = gtk_tree_view_get_model(priv->tv); GtkTreeIter iter; gtk_tree_model_get_iter_from_string(model, &iter, path); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, cd->index, new_text, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, cd->index, new_text, + -1); } -static void trg_persistent_tree_view_refresh(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void trg_persistent_tree_view_refresh(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(wd->widget); - GtkListStore *model = GTK_LIST_STORE(gtk_tree_view_get_model(priv->tv)); + GtkListStore *model = + GTK_LIST_STORE(gtk_tree_view_get_model(priv->tv)); GtkTreeIter iter; JsonArray *ja; GList *ja_list, *li; @@ -87,38 +92,45 @@ static void trg_persistent_tree_view_refresh(TrgPrefs *prefs, void *wdp) { gtk_list_store_clear(model); if (!ja) - return; + return; ja_list = json_array_get_elements(ja); for (li = ja_list; li; li = g_list_next(li)) { - JsonNode *ja_node = (JsonNode*) li->data; - JsonObject *jobj = json_node_get_object(ja_node); - gtk_list_store_append(model, &iter); - for (sli = priv->columns; sli; sli = g_slist_next(sli)) { - trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column*) sli->data; - gtk_list_store_set(model, &iter, cd->index, - json_object_get_string_member(jobj, cd->key), -1); - } + JsonNode *ja_node = (JsonNode *) li->data; + JsonObject *jobj = json_node_get_object(ja_node); + gtk_list_store_append(model, &iter); + for (sli = priv->columns; sli; sli = g_slist_next(sli)) { + trg_persistent_tree_view_column *cd = + (trg_persistent_tree_view_column *) sli->data; + gtk_list_store_set(model, &iter, cd->index, + json_object_get_string_member(jobj, + cd->key), -1); + } } g_list_free(ja_list); } -static gboolean trg_persistent_tree_view_save_foreachfunc(GtkTreeModel *model, - GtkTreePath *path, GtkTreeIter *iter, gpointer data) { +static gboolean trg_persistent_tree_view_save_foreachfunc(GtkTreeModel * + model, + GtkTreePath * + path, + GtkTreeIter * + iter, + gpointer data) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); JsonObject *new = json_object_new(); gchar *value; GSList *li; for (li = priv->columns; li; li = g_slist_next(li)) { - trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column*) li->data; - gtk_tree_model_get(model, iter, cd->index, &value, -1); - json_object_set_string_member(new, cd->key, value); - g_free(value); + trg_persistent_tree_view_column *cd = + (trg_persistent_tree_view_column *) li->data; + gtk_tree_model_get(model, iter, cd->index, &value, -1); + json_object_set_string_member(new, cd->key, value); + g_free(value); } json_array_add_object_element(priv->ja, new); @@ -126,29 +138,34 @@ static gboolean trg_persistent_tree_view_save_foreachfunc(GtkTreeModel *model, return FALSE; } -static void trg_persistent_tree_view_save(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void trg_persistent_tree_view_save(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(wd->widget); GtkTreeModel *model = gtk_tree_view_get_model(priv->tv); JsonNode *node = trg_prefs_get_value(prefs, wd->key, JSON_NODE_ARRAY, - wd->flags | TRG_PREFS_REPLACENODE); + wd-> + flags | TRG_PREFS_REPLACENODE); priv->ja = json_array_new(); - gtk_tree_model_foreach(model, trg_persistent_tree_view_save_foreachfunc, - wd->widget); + gtk_tree_model_foreach(model, + trg_persistent_tree_view_save_foreachfunc, + wd->widget); json_node_take_array(node, priv->ja); trg_prefs_changed_emit_signal(prefs, wd->key); } -trg_persistent_tree_view_column *trg_persistent_tree_view_add_column( - TrgPersistentTreeView *ptv, gint index, const gchar *key, - const gchar *label) { +trg_persistent_tree_view_column + *trg_persistent_tree_view_add_column(TrgPersistentTreeView * ptv, + gint index, const gchar * key, + const gchar * label) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); trg_persistent_tree_view_column *cd = - g_new0(trg_persistent_tree_view_column, 1); + g_new0(trg_persistent_tree_view_column, 1); GtkCellRenderer *renderer; cd->key = g_strdup(key); @@ -159,9 +176,10 @@ trg_persistent_tree_view_column *trg_persistent_tree_view_add_column( renderer = gtk_cell_renderer_text_new(); g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL); g_signal_connect(renderer, "edited", - G_CALLBACK(trg_persistent_tree_view_edit), cd); + G_CALLBACK(trg_persistent_tree_view_edit), cd); cd->column = gtk_tree_view_column_new_with_attributes(cd->label, - renderer, "text", cd->index, NULL); + renderer, "text", + cd->index, NULL); gtk_tree_view_column_set_resizable(cd->column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(priv->tv), cd->column); @@ -170,8 +188,10 @@ trg_persistent_tree_view_column *trg_persistent_tree_view_add_column( return cd; } -static GtkTreeView *trg_persistent_tree_view_tree_view_new( - TrgPersistentTreeView *ptv, GtkTreeModel *model) { +static GtkTreeView + *trg_persistent_tree_view_tree_view_new(TrgPersistentTreeView * ptv, + GtkTreeModel * model) +{ GtkTreeView *tv = GTK_TREE_VIEW(gtk_tree_view_new_with_model(model)); GtkTreeSelection *selection; @@ -182,12 +202,13 @@ static GtkTreeView *trg_persistent_tree_view_tree_view_new( selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); g_signal_connect(G_OBJECT(selection), "changed", - G_CALLBACK(selection_changed), ptv); + G_CALLBACK(selection_changed), ptv); return tv; } -static void trg_persistent_tree_view_add_cb(GtkWidget *w, gpointer data) { +static void trg_persistent_tree_view_add_cb(GtkWidget * w, gpointer data) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); GtkTreeModel *model = gtk_tree_view_get_model(priv->tv); GtkTreeIter iter; @@ -197,106 +218,128 @@ static void trg_persistent_tree_view_add_cb(GtkWidget *w, gpointer data) { path = gtk_tree_model_get_path(model, &iter); if (priv->addSelect) - gtk_tree_view_set_cursor(priv->tv, path, priv->addSelect->column, TRUE); + gtk_tree_view_set_cursor(priv->tv, path, priv->addSelect->column, + TRUE); gtk_tree_path_free(path); } -static void trg_persistent_tree_view_del_cb(GtkWidget *w, gpointer data) { +static void trg_persistent_tree_view_del_cb(GtkWidget * w, gpointer data) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); GtkTreeSelection *selection = gtk_tree_view_get_selection(priv->tv); GtkTreeModel *model; GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, &model, &iter)) - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } -static void trg_persistent_tree_view_get_property(GObject *object, - guint property_id, GValue *value, GParamSpec *pspec) { +static void trg_persistent_tree_view_get_property(GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec) +{ switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } -static void trg_persistent_tree_view_set_property(GObject *object, - guint property_id, const GValue *value, GParamSpec *pspec) { +static void trg_persistent_tree_view_set_property(GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(object); switch (property_id) { case PROP_PREFS: - priv->prefs = g_value_get_object(value); - break; + priv->prefs = g_value_get_object(value); + break; case PROP_KEY: - priv->key = g_value_get_pointer(value); - break; + priv->key = g_value_get_pointer(value); + break; case PROP_MODEL: - priv->model = g_value_get_object(value); - break; + priv->model = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } -static void trg_persistent_tree_view_finalize(GObject *object) { +static void trg_persistent_tree_view_finalize(GObject * object) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(object); GSList *li; for (li = priv->columns; li; li = g_slist_next(li)) { - trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column*) li->data; - g_free(cd->key); - g_free(cd->label); - g_free(cd); + trg_persistent_tree_view_column *cd = + (trg_persistent_tree_view_column *) li->data; + g_free(cd->key); + g_free(cd->label); + g_free(cd); } g_slist_free(priv->columns); g_free(priv->key); - G_OBJECT_CLASS (trg_persistent_tree_view_parent_class)->finalize(object); + G_OBJECT_CLASS(trg_persistent_tree_view_parent_class)-> + finalize(object); } -trg_pref_widget_desc* trg_persistent_tree_view_get_widget_desc( - TrgPersistentTreeView* ptv) { +trg_pref_widget_desc + *trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView * ptv) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); return priv->wd; } -void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView *ptv, - trg_persistent_tree_view_column *cd) { +void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView * ptv, + trg_persistent_tree_view_column + * cd) +{ TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); priv->addSelect = cd; } static GObject *trg_persistent_tree_view_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint + n_construct_properties, + GObjectConstructParam + * construct_params) +{ GObject *object; TrgPersistentTreeViewPrivate *priv; GtkWidget *hbox, *w; object = G_OBJECT_CLASS - (trg_persistent_tree_view_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_persistent_tree_view_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = GET_PRIVATE(object); hbox = gtk_hbox_new(FALSE, 0); w = gtk_button_new_from_stock(GTK_STOCK_ADD); - g_signal_connect(w, "clicked", G_CALLBACK(trg_persistent_tree_view_add_cb), object); + g_signal_connect(w, "clicked", + G_CALLBACK(trg_persistent_tree_view_add_cb), object); gtk_box_pack_start(GTK_BOX(hbox), w, FALSE, FALSE, 4); w = priv->delButton = gtk_button_new_from_stock(GTK_STOCK_DELETE); gtk_widget_set_sensitive(w, FALSE); - g_signal_connect(w, "clicked", G_CALLBACK(trg_persistent_tree_view_del_cb), object); + g_signal_connect(w, "clicked", + G_CALLBACK(trg_persistent_tree_view_del_cb), object); gtk_box_pack_start(GTK_BOX(hbox), w, FALSE, FALSE, 4); - priv->tv = trg_persistent_tree_view_tree_view_new( - TRG_PERSISTENT_TREE_VIEW(object), priv->model); + priv->tv = + trg_persistent_tree_view_tree_view_new(TRG_PERSISTENT_TREE_VIEW + (object), priv->model); gtk_box_pack_start(GTK_BOX(object), - my_scrolledwin_new(GTK_WIDGET(priv->tv)), TRUE, TRUE, 4); + my_scrolledwin_new(GTK_WIDGET(priv->tv)), TRUE, + TRUE, 4); gtk_box_pack_start(GTK_BOX(object), hbox, FALSE, FALSE, 4); priv->wd = trg_pref_widget_desc_new(GTK_WIDGET(priv->tv), priv->key, - TRG_PREFS_PROFILE); + TRG_PREFS_PROFILE); priv->wd->widget = GTK_WIDGET(object); priv->wd->saveFunc = &trg_persistent_tree_view_save; priv->wd->refreshFunc = &trg_persistent_tree_view_refresh; @@ -304,9 +347,10 @@ static GObject *trg_persistent_tree_view_constructor(GType type, return object; } -static void trg_persistent_tree_view_class_init( - TrgPersistentTreeViewClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); +static void trg_persistent_tree_view_class_init(TrgPersistentTreeViewClass + * klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS(klass); g_type_class_add_private(klass, sizeof(TrgPersistentTreeViewPrivate)); @@ -315,50 +359,64 @@ static void trg_persistent_tree_view_class_init( object_class->finalize = trg_persistent_tree_view_finalize; object_class->constructor = trg_persistent_tree_view_constructor; - g_object_class_install_property( - object_class, - PROP_KEY, - g_param_spec_pointer( - "conf-key", - "Conf Key", - "Conf Key", - 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_PREFS, - g_param_spec_object( - "prefs", - "Prefs", - "Prefs", - TRG_TYPE_PREFS, - 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_MODEL, - g_param_spec_object( - "persistent-model", - "Persistent Model", - "Persistent Model", - GTK_TYPE_LIST_STORE, - 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_KEY, + g_param_spec_pointer("conf-key", + "Conf Key", + "Conf Key", + 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_PREFS, + g_param_spec_object("prefs", + "Prefs", + "Prefs", + TRG_TYPE_PREFS, + 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_MODEL, + g_param_spec_object("persistent-model", + "Persistent Model", + "Persistent Model", + GTK_TYPE_LIST_STORE, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } -static void trg_persistent_tree_view_init(TrgPersistentTreeView *self) { +static void trg_persistent_tree_view_init(TrgPersistentTreeView * self) +{ } -TrgPersistentTreeView* -trg_persistent_tree_view_new(TrgPrefs *prefs, GtkListStore *model, - const gchar *key) { - GObject *obj = g_object_new(TRG_TYPE_PERSISTENT_TREE_VIEW, "prefs", prefs, - "conf-key", g_strdup(key), "persistent-model", model, NULL); +TrgPersistentTreeView *trg_persistent_tree_view_new(TrgPrefs * prefs, + GtkListStore * model, + const gchar * key) +{ + GObject *obj = + g_object_new(TRG_TYPE_PERSISTENT_TREE_VIEW, "prefs", prefs, + "conf-key", g_strdup(key), "persistent-model", model, + NULL); return TRG_PERSISTENT_TREE_VIEW(obj); } diff --git a/src/trg-persistent-tree-view.h b/src/trg-persistent-tree-view.h index fc2e9c0..71d80c5 100644 --- a/src/trg-persistent-tree-view.h +++ b/src/trg-persistent-tree-view.h @@ -26,33 +26,26 @@ #include "trg-preferences-dialog.h" G_BEGIN_DECLS - #define TRG_TYPE_PERSISTENT_TREE_VIEW trg_persistent_tree_view_get_type() - #define TRG_PERSISTENT_TREE_VIEW(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeView)) - #define TRG_PERSISTENT_TREE_VIEW_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewClass)) - #define TRG_IS_PERSISTENT_TREE_VIEW(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRG_TYPE_PERSISTENT_TREE_VIEW)) - #define TRG_IS_PERSISTENT_TREE_VIEW_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_PERSISTENT_TREE_VIEW)) - #define TRG_PERSISTENT_TREE_VIEW_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewClass)) - -typedef struct { - GtkVBox parent; + typedef struct { + GtkVBox parent; } TrgPersistentTreeView; typedef struct { - GtkTreeViewClass parent_class; + GtkTreeViewClass parent_class; } TrgPersistentTreeViewClass; -GType trg_persistent_tree_view_get_type (void); +GType trg_persistent_tree_view_get_type(void); typedef struct { GtkTreeViewColumn *column; @@ -62,18 +55,21 @@ typedef struct { gint index; } trg_persistent_tree_view_column; -TrgPersistentTreeView* -trg_persistent_tree_view_new (TrgPrefs *prefs, GtkListStore *model, const gchar *key); +TrgPersistentTreeView *trg_persistent_tree_view_new(TrgPrefs * prefs, + GtkListStore * model, + const gchar * key); -trg_pref_widget_desc* trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView* ptv); +trg_pref_widget_desc + *trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView * ptv); -void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView *ptv, trg_persistent_tree_view_column *cd); +void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView * ptv, + trg_persistent_tree_view_column + * cd); -trg_persistent_tree_view_column *trg_persistent_tree_view_add_column(TrgPersistentTreeView *ptv, - gint index, - const gchar *key, - const gchar *label); +trg_persistent_tree_view_column + *trg_persistent_tree_view_add_column(TrgPersistentTreeView * ptv, + gint index, const gchar * key, + const gchar * label); G_END_DECLS - -#endif /* _TRG_PERSISTENT_TREE_VIEW */ +#endif /* _TRG_PERSISTENT_TREE_VIEW */ diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 497444b..d9d79ed 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -45,7 +45,8 @@ #define TRG_PREFERENCES_DIALOG_GET_PRIVATE(object) \ (G_TYPE_INSTANCE_GET_PRIVATE ((object), TRG_TYPE_PREFERENCES_DIALOG, TrgPreferencesDialogPrivate)) -G_DEFINE_TYPE(TrgPreferencesDialog, trg_preferences_dialog, GTK_TYPE_DIALOG) +G_DEFINE_TYPE(TrgPreferencesDialog, trg_preferences_dialog, + GTK_TYPE_DIALOG) enum { PROP_0, PROP_TRG_CLIENT, PROP_MAIN_WINDOW @@ -64,13 +65,15 @@ struct _TrgPreferencesDialogPrivate { static GObject *instance = NULL; -static void trg_pref_widget_desc_free(trg_pref_widget_desc *wd) { +static void trg_pref_widget_desc_free(trg_pref_widget_desc * wd) +{ g_free(wd->key); g_free(wd); } -trg_pref_widget_desc* trg_pref_widget_desc_new(GtkWidget *w, gchar *key, - int flags) { +trg_pref_widget_desc *trg_pref_widget_desc_new(GtkWidget * w, gchar * key, + int flags) +{ trg_pref_widget_desc *desc = g_new0(trg_pref_widget_desc, 1); desc->widget = w; desc->key = g_strdup(key); @@ -78,115 +81,137 @@ trg_pref_widget_desc* trg_pref_widget_desc_new(GtkWidget *w, gchar *key, return desc; } -static void trg_pref_widget_refresh(TrgPreferencesDialog *dlg, - trg_pref_widget_desc* wd) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static void trg_pref_widget_refresh(TrgPreferencesDialog * dlg, + trg_pref_widget_desc * wd) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); wd->refreshFunc(priv->prefs, wd); } -static void trg_pref_widget_refresh_all(TrgPreferencesDialog *dlg) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static void trg_pref_widget_refresh_all(TrgPreferencesDialog * dlg) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GList *li; for (li = priv->widgets; li; li = g_list_next(li)) - trg_pref_widget_refresh(dlg, (trg_pref_widget_desc*) li->data); + trg_pref_widget_refresh(dlg, (trg_pref_widget_desc *) li->data); } -static void trg_pref_widget_save(TrgPreferencesDialog *dlg, - trg_pref_widget_desc* wd) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static void trg_pref_widget_save(TrgPreferencesDialog * dlg, + trg_pref_widget_desc * wd) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); wd->saveFunc(priv->prefs, wd); } -static void trg_pref_widget_save_all(TrgPreferencesDialog *dlg) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static void trg_pref_widget_save_all(TrgPreferencesDialog * dlg) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GList *li; - if (trg_prefs_get_profile(priv->prefs) == NULL - ) - return; + if (trg_prefs_get_profile(priv->prefs) == NULL) + return; trg_client_configlock(priv->client); for (li = priv->widgets; li; li = g_list_next(li)) { - trg_pref_widget_desc* wd = (trg_pref_widget_desc*) li->data; - trg_pref_widget_save(dlg, wd); + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) li->data; + trg_pref_widget_save(dlg, wd); } trg_client_configunlock(priv->client); } -static void trg_preferences_dialog_set_property(GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) { +static void trg_preferences_dialog_set_property(GObject * object, + guint prop_id, + const GValue * value, + GParamSpec * + pspec G_GNUC_UNUSED) +{ TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_MAIN_WINDOW: - priv->win = g_value_get_object(value); - break; + priv->win = g_value_get_object(value); + break; case PROP_TRG_CLIENT: - priv->client = g_value_get_pointer(value); - priv->prefs = trg_client_get_prefs(priv->client); - break; + priv->client = g_value_get_pointer(value); + priv->prefs = trg_client_get_prefs(priv->client); + break; } } static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + gpointer data G_GNUC_UNUSED) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_OK) { - trg_pref_widget_save_all(TRG_PREFERENCES_DIALOG(dlg)); - trg_prefs_save(priv->prefs); + trg_pref_widget_save_all(TRG_PREFERENCES_DIALOG(dlg)); + trg_prefs_save(priv->prefs); } trg_main_window_reload_dir_aliases(priv->win); GList *li; for (li = priv->widgets; li; li = g_list_next(li)) - trg_pref_widget_desc_free((trg_pref_widget_desc*) li->data); + trg_pref_widget_desc_free((trg_pref_widget_desc *) li->data); g_list_free(priv->widgets); gtk_widget_destroy(GTK_WIDGET(dlg)); instance = NULL; } -static void trg_preferences_dialog_get_property(GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec G_GNUC_UNUSED) { +static void trg_preferences_dialog_get_property(GObject * object, + guint prop_id, + GValue * value, + GParamSpec * + pspec G_GNUC_UNUSED) +{ TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_MAIN_WINDOW: - g_value_set_object(value, priv->win); - break; + g_value_set_object(value, priv->win); + break; case PROP_TRG_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; } } -static void entry_refresh(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void entry_refresh(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; gchar *value = trg_prefs_get_string(prefs, wd->key, wd->flags); if (value) { - gtk_entry_set_text(GTK_ENTRY(wd->widget), value); - g_free(value); + gtk_entry_set_text(GTK_ENTRY(wd->widget), value); + g_free(value); } else { - gtk_entry_set_text(GTK_ENTRY(wd->widget), ""); + gtk_entry_set_text(GTK_ENTRY(wd->widget), ""); } } -static void entry_save(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void entry_save(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; trg_prefs_set_string(prefs, wd->key, - gtk_entry_get_text(GTK_ENTRY(wd->widget)), wd->flags); + gtk_entry_get_text(GTK_ENTRY(wd->widget)), + wd->flags); } -static GtkWidget *trgp_entry_new(TrgPreferencesDialog *dlg, gchar *key, - int flags) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static GtkWidget *trgp_entry_new(TrgPreferencesDialog * dlg, gchar * key, + int flags) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *w; w = gtk_entry_new(); @@ -201,28 +226,35 @@ static GtkWidget *trgp_entry_new(TrgPreferencesDialog *dlg, gchar *key, return w; } -static void check_refresh(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void check_refresh(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; gboolean value = trg_prefs_get_bool(prefs, wd->key, wd->flags); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wd->widget), value); } -static void check_save(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void check_save(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; trg_prefs_set_bool(prefs, wd->key, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wd->widget)), - wd->flags); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (wd->widget)), + wd->flags); } -static void trgp_toggle_dependent(GtkToggleButton *b, gpointer data) { - gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_toggle_button_get_active(b)); +static void trgp_toggle_dependent(GtkToggleButton * b, gpointer data) +{ + gtk_widget_set_sensitive(GTK_WIDGET(data), + gtk_toggle_button_get_active(b)); } -static GtkWidget *trgp_check_new(TrgPreferencesDialog *dlg, - const char *mnemonic, gchar *key, int flags, - GtkToggleButton *dependency) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static GtkWidget *trgp_check_new(TrgPreferencesDialog * dlg, + const char *mnemonic, gchar * key, + int flags, GtkToggleButton * dependency) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic); @@ -232,9 +264,10 @@ static GtkWidget *trgp_check_new(TrgPreferencesDialog *dlg, check_refresh(priv->prefs, wd); if (dependency) { - g_signal_connect(dependency, "toggled", - G_CALLBACK(trgp_toggle_dependent), w); - gtk_widget_set_sensitive(w, gtk_toggle_button_get_active(dependency)); + g_signal_connect(dependency, "toggled", + G_CALLBACK(trgp_toggle_dependent), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active(dependency)); } priv->widgets = g_list_append(priv->widgets, wd); @@ -242,24 +275,30 @@ static GtkWidget *trgp_check_new(TrgPreferencesDialog *dlg, return w; } -static void spin_refresh(TrgPrefs *prefs, void *wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void spin_refresh(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; GtkWidget *widget = wd->widget; gint value = trg_prefs_get_int(prefs, wd->key, wd->flags); gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), value); } -static void spin_save(TrgPrefs * prefs, void* wdp) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; +static void spin_save(TrgPrefs * prefs, void *wdp) +{ + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; trg_prefs_set_int(prefs, wd->key, - gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(wd->widget)), - wd->flags); + gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON + (wd->widget)), + wd->flags); } -static GtkWidget *trgp_spin_new(TrgPreferencesDialog *dlg, gchar * key, int low, - int high, int step, int flags, GtkToggleButton *dependency) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static GtkWidget *trgp_spin_new(TrgPreferencesDialog * dlg, gchar * key, + int low, int high, int step, int flags, + GtkToggleButton * dependency) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *w; w = gtk_spin_button_new_with_range(low, high, step); @@ -271,9 +310,10 @@ static GtkWidget *trgp_spin_new(TrgPreferencesDialog *dlg, gchar * key, int low, wd->refreshFunc = &spin_refresh; if (dependency) { - g_signal_connect(dependency, "toggled", - G_CALLBACK(trgp_toggle_dependent), w); - gtk_widget_set_sensitive(w, gtk_toggle_button_get_active(dependency)); + g_signal_connect(dependency, "toggled", + G_CALLBACK(trgp_toggle_dependent), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active(dependency)); } spin_refresh(priv->prefs, wd); @@ -282,49 +322,59 @@ static GtkWidget *trgp_spin_new(TrgPreferencesDialog *dlg, gchar * key, int low, return w; } -static void toggle_filter_trackers(GtkToggleButton * w, gpointer win) { - TrgStateSelector *selector = trg_main_window_get_state_selector( - TRG_MAIN_WINDOW(win)); +static void toggle_filter_trackers(GtkToggleButton * w, gpointer win) +{ + TrgStateSelector *selector = + trg_main_window_get_state_selector(TRG_MAIN_WINDOW(win)); trg_state_selector_set_show_trackers(selector, - gtk_toggle_button_get_active(w)); + gtk_toggle_button_get_active(w)); } #ifndef TRG_NO_GRAPH -static void toggle_graph(GtkToggleButton * w, gpointer win) { +static void toggle_graph(GtkToggleButton * w, gpointer win) +{ if (gtk_toggle_button_get_active(w)) - trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE); + trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE); else - trg_main_window_remove_graph(TRG_MAIN_WINDOW(win)); + trg_main_window_remove_graph(TRG_MAIN_WINDOW(win)); } #endif -static void toggle_tray_icon(GtkToggleButton * w, gpointer win) { +static void toggle_tray_icon(GtkToggleButton * w, gpointer win) +{ if (gtk_toggle_button_get_active(w)) - trg_main_window_add_status_icon(TRG_MAIN_WINDOW(win)); + trg_main_window_add_status_icon(TRG_MAIN_WINDOW(win)); else - trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win)); + trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win)); } -static void menu_bar_toggle_filter_dirs(GtkToggleButton * w, gpointer win) { - TrgStateSelector *selector = trg_main_window_get_state_selector( - TRG_MAIN_WINDOW(win)); - trg_state_selector_set_show_dirs(selector, gtk_toggle_button_get_active(w)); +static void menu_bar_toggle_filter_dirs(GtkToggleButton * w, gpointer win) +{ + TrgStateSelector *selector = + trg_main_window_get_state_selector(TRG_MAIN_WINDOW(win)); + trg_state_selector_set_show_dirs(selector, + gtk_toggle_button_get_active(w)); } -static void view_states_toggled_cb(GtkToggleButton * w, gpointer data) { +static void view_states_toggled_cb(GtkToggleButton * w, gpointer data) +{ GtkWidget *scroll = - gtk_widget_get_parent( - GTK_WIDGET(trg_main_window_get_state_selector(TRG_MAIN_WINDOW(data)))); + gtk_widget_get_parent(GTK_WIDGET + (trg_main_window_get_state_selector + (TRG_MAIN_WINDOW(data)))); trg_widget_set_visible(scroll, gtk_toggle_button_get_active(w)); } -static void notebook_toggled_cb(GtkToggleButton *b, gpointer data) { +static void notebook_toggled_cb(GtkToggleButton * b, gpointer data) +{ trg_main_window_notebook_set_visible(TRG_MAIN_WINDOW(data), - gtk_toggle_button_get_active(b)); + gtk_toggle_button_get_active(b)); } -static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog *dlg) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog * dlg) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *tray, *w, *dep, *t; gint row = 0; @@ -334,67 +384,76 @@ static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog *dlg) { hig_workarea_add_section_title(t, &row, _("Features")); dep = w = trgp_check_new(dlg, _("State selector"), - TRG_PREFS_KEY_SHOW_STATE_SELECTOR, TRG_PREFS_GLOBAL, NULL); - g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(view_states_toggled_cb), - priv->win); + TRG_PREFS_KEY_SHOW_STATE_SELECTOR, + TRG_PREFS_GLOBAL, NULL); + g_signal_connect(G_OBJECT(w), "toggled", + G_CALLBACK(view_states_toggled_cb), priv->win); hig_workarea_add_wide_control(t, &row, w); - w = trgp_check_new(dlg, _("Directory filters"), TRG_PREFS_KEY_FILTER_DIRS, - TRG_PREFS_GLOBAL, GTK_TOGGLE_BUTTON(dep)); + w = trgp_check_new(dlg, _("Directory filters"), + TRG_PREFS_KEY_FILTER_DIRS, TRG_PREFS_GLOBAL, + GTK_TOGGLE_BUTTON(dep)); g_signal_connect(G_OBJECT(w), "toggled", - G_CALLBACK(menu_bar_toggle_filter_dirs), priv->win); + G_CALLBACK(menu_bar_toggle_filter_dirs), priv->win); hig_workarea_add_wide_control(t, &row, w); - w = trgp_check_new(dlg, _("Tracker filters"), TRG_PREFS_KEY_FILTER_TRACKERS, - TRG_PREFS_GLOBAL, GTK_TOGGLE_BUTTON(dep)); - g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(toggle_filter_trackers), - priv->win); + w = trgp_check_new(dlg, _("Tracker filters"), + TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL, + GTK_TOGGLE_BUTTON(dep)); + g_signal_connect(G_OBJECT(w), "toggled", + G_CALLBACK(toggle_filter_trackers), priv->win); hig_workarea_add_wide_control(t, &row, w); - w = trgp_check_new(dlg, _("Torrent Details"), TRG_PREFS_KEY_SHOW_NOTEBOOK, - TRG_PREFS_GLOBAL, NULL); - g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(notebook_toggled_cb), - priv->win); + w = trgp_check_new(dlg, _("Torrent Details"), + TRG_PREFS_KEY_SHOW_NOTEBOOK, TRG_PREFS_GLOBAL, + NULL); + g_signal_connect(G_OBJECT(w), "toggled", + G_CALLBACK(notebook_toggled_cb), priv->win); hig_workarea_add_wide_control(t, &row, w); #ifndef TRG_NO_GRAPH w = trgp_check_new(dlg, _("Show graph"), TRG_PREFS_KEY_SHOW_GRAPH, - TRG_PREFS_GLOBAL, GTK_TOGGLE_BUTTON(w)); + TRG_PREFS_GLOBAL, GTK_TOGGLE_BUTTON(w)); g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(toggle_graph), - priv->win); + priv->win); hig_workarea_add_wide_control(t, &row, w); #endif #ifdef HAVE_LIBNOTIFY w = trgp_check_new(dlg, _("Torrent added notifications"), - TRG_PREFS_KEY_ADD_NOTIFY, TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_ADD_NOTIFY, TRG_PREFS_GLOBAL, NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Torrent complete notifications"), - TRG_PREFS_KEY_COMPLETE_NOTIFY, TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_COMPLETE_NOTIFY, TRG_PREFS_GLOBAL, + NULL); hig_workarea_add_wide_control(t, &row, w); #endif tray = trgp_check_new(dlg, _("Show in system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, NULL); - g_signal_connect(G_OBJECT(tray), "toggled", G_CALLBACK(toggle_tray_icon), - priv->win); + TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, + NULL); + g_signal_connect(G_OBJECT(tray), "toggled", + G_CALLBACK(toggle_tray_icon), priv->win); hig_workarea_add_wide_control(t, &row, tray); #ifndef HAVE_LIBAPPINDICATOR w = trgp_check_new(dlg, _("Minimise to system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, TRG_PREFS_GLOBAL, NULL); - gtk_widget_set_sensitive(w, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tray))); + TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, + TRG_PREFS_GLOBAL, NULL); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tray))); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_wide_control(t, &row, w); #endif return t; } -static GtkWidget *trg_prefs_behaviorPage(TrgPreferencesDialog * dlg) { +static GtkWidget *trg_prefs_behaviorPage(TrgPreferencesDialog * dlg) +{ GtkWidget *w, *t; gint row = 0; @@ -403,23 +462,27 @@ static GtkWidget *trg_prefs_behaviorPage(TrgPreferencesDialog * dlg) { hig_workarea_add_section_title(t, &row, _("Torrents")); w = trgp_check_new(dlg, _("Start paused"), TRG_PREFS_KEY_START_PAUSED, - TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_GLOBAL, NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Options dialog on add"), - TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRG_PREFS_GLOBAL, + NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Delete local .torrent file after adding"), - TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, + TRG_PREFS_GLOBAL, NULL); hig_workarea_add_wide_control(t, &row, w); return t; } -static void profile_changed_cb(GtkWidget *w, gpointer data) { +static void profile_changed_cb(GtkWidget * w, gpointer data) +{ GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(w)); - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); GtkTreeIter iter; JsonObject *profile; @@ -428,69 +491,76 @@ static void profile_changed_cb(GtkWidget *w, gpointer data) { gint n_children = gtk_tree_model_iter_n_children(model, NULL); if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w), &iter)) { - gtk_tree_model_get(model, &iter, 0, &profile, -1); - trg_prefs_set_profile(priv->prefs, profile); - trg_pref_widget_refresh_all(TRG_PREFERENCES_DIALOG(data)); - gtk_widget_set_sensitive(priv->profileDelButton, n_children > 1); + gtk_tree_model_get(model, &iter, 0, &profile, -1); + trg_prefs_set_profile(priv->prefs, profile); + trg_pref_widget_refresh_all(TRG_PREFERENCES_DIALOG(data)); + gtk_widget_set_sensitive(priv->profileDelButton, n_children > 1); } else { - gtk_widget_set_sensitive(priv->profileDelButton, FALSE); - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); + gtk_widget_set_sensitive(priv->profileDelButton, FALSE); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); } } -static void trg_prefs_profile_combo_populate(TrgPreferencesDialog *dialog, - GtkComboBox *combo, TrgPrefs *prefs) { +static void trg_prefs_profile_combo_populate(TrgPreferencesDialog * dialog, + GtkComboBox * combo, + TrgPrefs * prefs) +{ TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dialog); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dialog); gint profile_id = trg_prefs_get_int(prefs, TRG_PREFS_KEY_PROFILE_ID, - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model(combo)); - GList *profiles = json_array_get_elements(trg_prefs_get_profiles(prefs)); + GList *profiles = + json_array_get_elements(trg_prefs_get_profiles(prefs)); GList *li; int i = 0; for (li = profiles; li; li = g_list_next(li)) { - JsonObject *profile = json_node_get_object((JsonNode*) li->data); - const gchar *name_value; - GtkTreeIter iter; - - if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { - name_value = json_object_get_string_member(profile, - TRG_PREFS_KEY_PROFILE_NAME); - } else { - name_value = _(TRG_PROFILE_NAME_DEFAULT); - } - - gtk_list_store_insert_with_values(store, &iter, INT_MAX, 0, profile, 1, - name_value, -1); - if (i == profile_id) - gtk_combo_box_set_active_iter(combo, &iter); - - i++; + JsonObject *profile = json_node_get_object((JsonNode *) li->data); + const gchar *name_value; + GtkTreeIter iter; + + if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { + name_value = json_object_get_string_member(profile, + TRG_PREFS_KEY_PROFILE_NAME); + } else { + name_value = _(TRG_PROFILE_NAME_DEFAULT); + } + + gtk_list_store_insert_with_values(store, &iter, INT_MAX, 0, + profile, 1, name_value, -1); + if (i == profile_id) + gtk_combo_box_set_active_iter(combo, &iter); + + i++; } gtk_widget_set_sensitive(priv->profileDelButton, - g_list_length(profiles) > 1); + g_list_length(profiles) > 1); g_list_free(profiles); } -static GtkWidget *trg_prefs_profile_combo_new(TrgClient *tc) { +static GtkWidget *trg_prefs_profile_combo_new(TrgClient * tc) +{ GtkWidget *w; GtkCellRenderer *r; - GtkListStore *store = gtk_list_store_new(2, G_TYPE_POINTER, G_TYPE_STRING); + GtkListStore *store = + gtk_list_store_new(2, G_TYPE_POINTER, G_TYPE_STRING); w = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); r = gtk_cell_renderer_text_new(); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT (w), r, FALSE); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(w), r, FALSE); gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(w), r, "text", 1); return w; } -static void name_changed_cb(GtkWidget *w, gpointer data) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); +static void name_changed_cb(GtkWidget * w, gpointer data) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); GtkTreeIter iter; GtkTreeModel *model; GtkComboBox *combo; @@ -499,14 +569,16 @@ static void name_changed_cb(GtkWidget *w, gpointer data) { model = gtk_combo_box_get_model(combo); if (gtk_combo_box_get_active_iter(combo, &iter)) { - gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, - gtk_entry_get_text(GTK_ENTRY(w)), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, + gtk_entry_get_text(GTK_ENTRY(w)), -1); } } -static void del_profile_cb(GtkWidget *w, gpointer data) { +static void del_profile_cb(GtkWidget * w, gpointer data) +{ GtkWidget *win = gtk_widget_get_toplevel(w); - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); TrgPrefs *prefs = priv->prefs; GtkComboBox *combo = GTK_COMBO_BOX(data); GtkTreeModel *profileModel = gtk_combo_box_get_model(combo); @@ -514,40 +586,51 @@ static void del_profile_cb(GtkWidget *w, gpointer data) { JsonObject *profile; if (gtk_combo_box_get_active_iter(combo, &iter)) { - gtk_tree_model_get(profileModel, &iter, 0, &profile, -1); - trg_prefs_del_profile(prefs, profile); - trg_prefs_set_profile(prefs, NULL); - gtk_list_store_remove(GTK_LIST_STORE(profileModel), &iter); - gtk_combo_box_set_active(combo, 0); + gtk_tree_model_get(profileModel, &iter, 0, &profile, -1); + trg_prefs_del_profile(prefs, profile); + trg_prefs_set_profile(prefs, NULL); + gtk_list_store_remove(GTK_LIST_STORE(profileModel), &iter); + gtk_combo_box_set_active(combo, 0); } } -static void add_profile_cb(GtkWidget *w, gpointer data) { +static void add_profile_cb(GtkWidget * w, gpointer data) +{ GtkWidget *win = gtk_widget_get_toplevel(w); - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); GtkComboBox *combo = GTK_COMBO_BOX(data); GtkTreeModel *profileModel = gtk_combo_box_get_model(combo); GtkTreeIter iter; JsonObject *profile = trg_prefs_new_profile(priv->prefs); gtk_list_store_insert_with_values(GTK_LIST_STORE(profileModel), &iter, - INT_MAX, 0, profile, 1, _(TRG_PROFILE_NAME_DEFAULT), -1); + INT_MAX, 0, profile, 1, + _(TRG_PROFILE_NAME_DEFAULT), -1); gtk_combo_box_set_active_iter(combo, &iter); } -static void trgp_double_special_dependent(GtkWidget *widget, gpointer data) { +static void trgp_double_special_dependent(GtkWidget * widget, + gpointer data) +{ TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel(widget)); - gtk_widget_set_sensitive( - GTK_WIDGET(data), - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)) - && gtk_widget_get_sensitive(priv->fullUpdateCheck) - && gtk_toggle_button_get_active( - GTK_TOGGLE_BUTTON(priv->fullUpdateCheck))); -} - -static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog *dlg) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel + (widget)); + gtk_widget_set_sensitive(GTK_WIDGET(data), + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (widget)) + && gtk_widget_get_sensitive(priv-> + fullUpdateCheck) + && + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (priv-> + fullUpdateCheck))); +} + +static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog * dlg) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *t; TrgPersistentTreeView *ptv; GtkListStore *model; @@ -561,26 +644,30 @@ static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog *dlg) { model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); ptv = trg_persistent_tree_view_new(priv->prefs, model, - TRG_PREFS_KEY_EXEC_COMMANDS); - trg_persistent_tree_view_set_add_select( - ptv, - trg_persistent_tree_view_add_column(ptv, 0, TRG_PREFS_SUBKEY_LABEL, - _("Label"))); + TRG_PREFS_KEY_EXEC_COMMANDS); + trg_persistent_tree_view_set_add_select(ptv, + trg_persistent_tree_view_add_column + (ptv, 0, + TRG_PREFS_SUBKEY_LABEL, + _("Label"))); trg_persistent_tree_view_add_column(ptv, 1, - TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD, _("Command")); + TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD, + _("Command")); wd = trg_persistent_tree_view_get_widget_desc(ptv); trg_pref_widget_refresh(dlg, wd); priv->widgets = g_list_append(priv->widgets, wd); gtk_table_attach(GTK_TABLE(t), GTK_WIDGET(ptv), 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); return t; } -static GtkWidget *trg_prefs_dirsPage(TrgPreferencesDialog *dlg) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static GtkWidget *trg_prefs_dirsPage(TrgPreferencesDialog * dlg) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *t; TrgPersistentTreeView *ptv; GtkListStore *model; @@ -589,31 +676,36 @@ static GtkWidget *trg_prefs_dirsPage(TrgPreferencesDialog *dlg) { t = hig_workarea_create(); - hig_workarea_add_section_title(t, &row, _("Remote Download Directories")); + hig_workarea_add_section_title(t, &row, + _("Remote Download Directories")); model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); ptv = trg_persistent_tree_view_new(priv->prefs, model, - TRG_PREFS_KEY_DESTINATIONS); - trg_persistent_tree_view_set_add_select( - ptv, - trg_persistent_tree_view_add_column(ptv, 0, TRG_PREFS_SUBKEY_LABEL, - _("Label"))); + TRG_PREFS_KEY_DESTINATIONS); + trg_persistent_tree_view_set_add_select(ptv, + trg_persistent_tree_view_add_column + (ptv, 0, + TRG_PREFS_SUBKEY_LABEL, + _("Label"))); trg_persistent_tree_view_add_column(ptv, 1, - TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR, _("Directory")); + TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR, + _("Directory")); wd = trg_persistent_tree_view_get_widget_desc(ptv); trg_pref_widget_refresh(dlg, wd); priv->widgets = g_list_append(priv->widgets, wd); gtk_table_attach(GTK_TABLE(t), GTK_WIDGET(ptv), 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); return t; } -static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { - TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); +static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) +{ + TrgPreferencesDialogPrivate *priv = + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); TrgPrefs *prefs = priv->prefs; GtkWidget *w, *t, *frame, *frameHbox, *profileLabel, *activeOnly; @@ -626,8 +718,8 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { hig_workarea_add_section_title(t, &row, _("Profile")); - priv->profileNameEntry = trgp_entry_new(dlg, TRG_PREFS_KEY_PROFILE_NAME, - TRG_PREFS_PROFILE); + priv->profileNameEntry = + trgp_entry_new(dlg, TRG_PREFS_KEY_PROFILE_NAME, TRG_PREFS_PROFILE); w = priv->profileComboBox = trg_prefs_profile_combo_new(priv->client); profileLabel = gtk_label_new(_("Profile: ")); @@ -635,29 +727,32 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { profileButtonsHbox = gtk_hbox_new(FALSE, 0); w = gtk_button_new_from_stock(GTK_STOCK_ADD); g_signal_connect(w, "clicked", G_CALLBACK(add_profile_cb), - priv->profileComboBox); + priv->profileComboBox); gtk_box_pack_start(GTK_BOX(profileButtonsHbox), w, FALSE, FALSE, 4); - w = priv->profileDelButton = gtk_button_new_from_stock(GTK_STOCK_DELETE); + w = priv->profileDelButton = + gtk_button_new_from_stock(GTK_STOCK_DELETE); g_signal_connect(w, "clicked", G_CALLBACK(del_profile_cb), - priv->profileComboBox); + priv->profileComboBox); gtk_widget_set_sensitive(w, FALSE); gtk_box_pack_start(GTK_BOX(profileButtonsHbox), w, FALSE, FALSE, 4); - trg_prefs_profile_combo_populate(dlg, GTK_COMBO_BOX(priv->profileComboBox), - prefs); + trg_prefs_profile_combo_populate(dlg, + GTK_COMBO_BOX(priv->profileComboBox), + prefs); g_signal_connect(G_OBJECT(priv->profileComboBox), "changed", - G_CALLBACK(profile_changed_cb), dlg); + G_CALLBACK(profile_changed_cb), dlg); /* Name */ g_signal_connect(priv->profileNameEntry, "changed", - G_CALLBACK(name_changed_cb), dlg); + G_CALLBACK(name_changed_cb), dlg); - hig_workarea_add_row(t, &row, _("Name:"), priv->profileNameEntry, NULL); + hig_workarea_add_row(t, &row, _("Name:"), priv->profileNameEntry, + NULL); gtk_table_attach(GTK_TABLE(t), profileButtonsHbox, 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK, 0, 0, 0); + GTK_EXPAND | GTK_SHRINK, 0, 0, 0); row++; @@ -666,8 +761,8 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { w = trgp_entry_new(dlg, TRG_PREFS_KEY_HOSTNAME, TRG_PREFS_PROFILE); hig_workarea_add_row(t, &row, _("Host:"), w, NULL); - w = trgp_spin_new(dlg, TRG_PREFS_KEY_PORT, 1, 65535, 1, TRG_PREFS_PROFILE, - NULL); + w = trgp_spin_new(dlg, TRG_PREFS_KEY_PORT, 1, 65535, 1, + TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Port:"), w, NULL); w = trgp_entry_new(dlg, TRG_PREFS_KEY_USERNAME, TRG_PREFS_PROFILE); @@ -678,35 +773,41 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { hig_workarea_add_row(t, &row, _("Password:"), w, NULL); w = trgp_spin_new(dlg, TRG_PREFS_KEY_UPDATE_INTERVAL, 1, INT_MAX, 1, - TRG_PREFS_PROFILE, NULL); + TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Update interval:"), w, NULL); w = trgp_spin_new(dlg, TRG_PREFS_KEY_MINUPDATE_INTERVAL, 1, INT_MAX, 1, - TRG_PREFS_PROFILE, NULL); - hig_workarea_add_row(t, &row, _("Minimised update interval:"), w, NULL); + TRG_PREFS_PROFILE, NULL); + hig_workarea_add_row(t, &row, _("Minimised update interval:"), w, + NULL); w = trgp_check_new(dlg, _("Automatically connect"), - TRG_PREFS_KEY_AUTO_CONNECT, TRG_PREFS_PROFILE, NULL); + TRG_PREFS_KEY_AUTO_CONNECT, TRG_PREFS_PROFILE, + NULL); hig_workarea_add_wide_control(t, &row, w); #ifndef CURL_NO_SSL w = trgp_check_new(dlg, _("SSL"), TRG_PREFS_KEY_SSL, TRG_PREFS_PROFILE, - NULL); + NULL); hig_workarea_add_wide_control(t, &row, w); #endif activeOnly = w = trgp_check_new(dlg, _("Update active torrents only"), - TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_PROFILE, NULL); + TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, + TRG_PREFS_PROFILE, NULL); hig_workarea_add_wide_control(t, &row, w); priv->fullUpdateCheck = trgp_check_new(dlg, - _("Full update every (?) updates"), - TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED, TRG_PREFS_PROFILE, - GTK_TOGGLE_BUTTON(activeOnly)); - w = trgp_spin_new(dlg, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2, INT_MAX, 1, - TRG_PREFS_PROFILE, GTK_TOGGLE_BUTTON(priv->fullUpdateCheck)); + _ + ("Full update every (?) updates"), + TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED, + TRG_PREFS_PROFILE, + GTK_TOGGLE_BUTTON(activeOnly)); + w = trgp_spin_new(dlg, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2, INT_MAX, + 1, TRG_PREFS_PROFILE, + GTK_TOGGLE_BUTTON(priv->fullUpdateCheck)); g_signal_connect(activeOnly, "toggled", - G_CALLBACK(trgp_double_special_dependent), w); + G_CALLBACK(trgp_double_special_dependent), w); hig_workarea_add_row_w(t, &row, priv->fullUpdateCheck, w, NULL); @@ -715,8 +816,8 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { frame = gtk_frame_new(NULL); frameHbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(frameHbox), profileLabel, FALSE, FALSE, 2); - gtk_box_pack_start(GTK_BOX(frameHbox), priv->profileComboBox, FALSE, FALSE, - 4); + gtk_box_pack_start(GTK_BOX(frameHbox), priv->profileComboBox, FALSE, + FALSE, 4); gtk_frame_set_label_widget(GTK_FRAME(frame), frameHbox); gtk_container_add(GTK_CONTAINER(frame), t); @@ -724,23 +825,30 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { } static GObject *trg_preferences_dialog_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint + n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *object; TrgPreferencesDialogPrivate *priv; GtkWidget *notebook, *contentvbox; object = G_OBJECT_CLASS - (trg_preferences_dialog_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_preferences_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); contentvbox = gtk_dialog_get_content_area(GTK_DIALOG(object)); - gtk_window_set_transient_for(GTK_WINDOW(object), GTK_WINDOW(priv->win)); + gtk_window_set_transient_for(GTK_WINDOW(object), + GTK_WINDOW(priv->win)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); - gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, GTK_RESPONSE_OK); + GTK_RESPONSE_CLOSE); + gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, + GTK_RESPONSE_OK); gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK); @@ -748,29 +856,34 @@ static GObject *trg_preferences_dialog_constructor(GType type, gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); g_signal_connect(G_OBJECT(object), "response", - G_CALLBACK(trg_preferences_response_cb), NULL); + G_CALLBACK(trg_preferences_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_serverPage(TRG_PREFERENCES_DIALOG(object)), - gtk_label_new(_("Connection"))); + trg_prefs_serverPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Connection"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_openExecPage(TRG_PREFERENCES_DIALOG(object)), - gtk_label_new(_("Actions"))); + trg_prefs_openExecPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Actions"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_dirsPage(TRG_PREFERENCES_DIALOG(object)), - gtk_label_new(_("Directories"))); + trg_prefs_dirsPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Directories"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_desktopPage(TRG_PREFERENCES_DIALOG(object)), - gtk_label_new(_("Desktop"))); + trg_prefs_desktopPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Desktop"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_behaviorPage(TRG_PREFERENCES_DIALOG(object)), - gtk_label_new(_("Behavior"))); + trg_prefs_behaviorPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Behavior"))); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); @@ -779,48 +892,60 @@ static GObject *trg_preferences_dialog_constructor(GType type, return object; } -static void trg_preferences_dialog_init(TrgPreferencesDialog * pref_dlg) { +static void trg_preferences_dialog_init(TrgPreferencesDialog * pref_dlg) +{ } -static void trg_preferences_dialog_class_init(TrgPreferencesDialogClass * class) { +static void trg_preferences_dialog_class_init(TrgPreferencesDialogClass * + class) +{ GObjectClass *g_object_class = (GObjectClass *) class; g_object_class->constructor = trg_preferences_dialog_constructor; g_object_class->set_property = trg_preferences_dialog_set_property; g_object_class->get_property = trg_preferences_dialog_get_property; - g_object_class_install_property( - g_object_class, - PROP_TRG_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( - g_object_class, - PROP_MAIN_WINDOW, - g_param_spec_object( - "main-window", - "Main Window", - "Main Window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY - | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK - | G_PARAM_STATIC_BLURB)); + g_object_class_install_property(g_object_class, + PROP_TRG_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(g_object_class, + PROP_MAIN_WINDOW, + g_param_spec_object("main-window", + "Main Window", + "Main Window", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(g_object_class, - sizeof(TrgPreferencesDialogPrivate)); + sizeof(TrgPreferencesDialogPrivate)); } GtkWidget *trg_preferences_dialog_get_instance(TrgMainWindow * win, - TrgClient * client) { + TrgClient * client) +{ if (!instance) - instance = g_object_new(TRG_TYPE_PREFERENCES_DIALOG, "main-window", win, - "trg-client", client, NULL); + instance = + g_object_new(TRG_TYPE_PREFERENCES_DIALOG, "main-window", win, + "trg-client", client, NULL); return GTK_WIDGET(instance); } diff --git a/src/trg-preferences-dialog.h b/src/trg-preferences-dialog.h index 92190a6..55760ef 100644 --- a/src/trg-preferences-dialog.h +++ b/src/trg-preferences-dialog.h @@ -41,8 +41,8 @@ typedef struct { GtkWidget *widget; int flags; gchar *key; - void (*saveFunc)(TrgPrefs*,void*); - void (*refreshFunc)(TrgPrefs*,void*); + void (*saveFunc) (TrgPrefs *, void *); + void (*refreshFunc) (TrgPrefs *, void *); } trg_pref_widget_desc; struct _TrgPreferencesDialog { @@ -57,9 +57,9 @@ struct _TrgPreferencesDialogClass { GType trg_preferences_dialog_get_type(void); GtkWidget *trg_preferences_dialog_get_instance(TrgMainWindow * win, - TrgClient * client); -trg_pref_widget_desc* trg_pref_widget_desc_new(GtkWidget *w, gchar *key, - int flags); + TrgClient * client); +trg_pref_widget_desc *trg_pref_widget_desc_new(GtkWidget * w, gchar * key, + int flags); G_END_DECLS -#endif /* TRG_PREFERENCES_WINDOW_H_ */ +#endif /* TRG_PREFERENCES_WINDOW_H_ */ diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 33d8f39..08e425c 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -36,11 +36,9 @@ * 5) Transparently use configurables from the current connection, not current profile. */ -G_DEFINE_TYPE (TrgPrefs, trg_prefs, G_TYPE_OBJECT) - +G_DEFINE_TYPE(TrgPrefs, trg_prefs, G_TYPE_OBJECT) #define GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_PREFS, TrgPrefsPrivate)) - typedef struct _TrgPrefsPrivate TrgPrefsPrivate; struct _TrgPrefsPrivate { @@ -60,47 +58,54 @@ enum { static guint signals[PREFS_SIGNAL_COUNT] = { 0 }; -void trg_prefs_profile_change_emit_signal(TrgPrefs *p) +void trg_prefs_profile_change_emit_signal(TrgPrefs * p) { g_signal_emit(p, signals[PREF_PROFILE_CHANGE], 0); } -void trg_prefs_changed_emit_signal(TrgPrefs *p, const gchar *key) +void trg_prefs_changed_emit_signal(TrgPrefs * p, const gchar * key) { g_signal_emit(p, signals[PREF_CHANGE], 0, key); } -static void trg_prefs_get_property(GObject *object, guint property_id, - GValue *value, GParamSpec *pspec) { +static void trg_prefs_get_property(GObject * object, guint property_id, + GValue * value, GParamSpec * pspec) +{ switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } -static void trg_prefs_set_property(GObject *object, guint property_id, - const GValue *value, GParamSpec *pspec) { +static void trg_prefs_set_property(GObject * object, guint property_id, + const GValue * value, + GParamSpec * pspec) +{ switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } -static void trg_prefs_dispose(GObject *object) { - G_OBJECT_CLASS (trg_prefs_parent_class)->dispose(object); +static void trg_prefs_dispose(GObject * object) +{ + G_OBJECT_CLASS(trg_prefs_parent_class)->dispose(object); } -static void trg_prefs_create_defaults(TrgPrefs *p) { +static void trg_prefs_create_defaults(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); priv->defaultsObj = json_object_new(); trg_prefs_add_default_string(p, TRG_PREFS_KEY_PROFILE_NAME, - _(TRG_PROFILE_NAME_DEFAULT)); + _(TRG_PROFILE_NAME_DEFAULT)); trg_prefs_add_default_int(p, TRG_PREFS_KEY_PORT, 9091); - trg_prefs_add_default_int(p, TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_INTERVAL_DEFAULT); - trg_prefs_add_default_int(p, TRG_PREFS_KEY_MINUPDATE_INTERVAL, TRG_INTERVAL_DEFAULT); + trg_prefs_add_default_int(p, TRG_PREFS_KEY_UPDATE_INTERVAL, + TRG_INTERVAL_DEFAULT); + trg_prefs_add_default_int(p, TRG_PREFS_KEY_MINUPDATE_INTERVAL, + TRG_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2); trg_prefs_add_default_int(p, TRG_PREFS_KEY_STATES_PANED_POS, 120); @@ -112,26 +117,31 @@ static void trg_prefs_create_defaults(TrgPrefs *p) { trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_SHOW_NOTEBOOK); } -static GObject *trg_prefs_constructor(GType type, guint n_construct_properties, - GObjectConstructParam * construct_params) { +static GObject *trg_prefs_constructor(GType type, + guint n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *object; TrgPrefsPrivate *priv; object = G_OBJECT_CLASS - (trg_prefs_parent_class)->constructor(type, n_construct_properties, - construct_params); + (trg_prefs_parent_class)->constructor(type, n_construct_properties, + construct_params); priv = GET_PRIVATE(object); trg_prefs_create_defaults(TRG_PREFS(object)); priv->file = g_build_filename(g_get_user_config_dir(), - g_get_application_name(), TRG_PREFS_FILENAME, NULL); + g_get_application_name(), + TRG_PREFS_FILENAME, NULL); return object; } -static void trg_prefs_class_init(TrgPrefsClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); +static void trg_prefs_class_init(TrgPrefsClass * klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS(klass); g_type_class_add_private(klass, sizeof(TrgPrefsPrivate)); @@ -141,171 +151,200 @@ static void trg_prefs_class_init(TrgPrefsClass *klass) { object_class->constructor = trg_prefs_constructor; signals[PREF_CHANGE] = - g_signal_new("pref-changed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgPrefsClass, - pref_changed), NULL, - NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_POINTER); + g_signal_new("pref-changed", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgPrefsClass, + pref_changed), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); signals[PREF_PROFILE_CHANGE] = - g_signal_new("pref-profile-changed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgPrefsClass, - pref_changed), NULL, - NULL, g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + g_signal_new("pref-profile-changed", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgPrefsClass, + pref_changed), NULL, + NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } -static void trg_prefs_init(TrgPrefs *self) { +static void trg_prefs_init(TrgPrefs * self) +{ } -TrgPrefs* -trg_prefs_new(void) { +TrgPrefs *trg_prefs_new(void) +{ return g_object_new(TRG_TYPE_PREFS, NULL); } -static JsonObject *trg_prefs_new_profile_object() { +static JsonObject *trg_prefs_new_profile_object() +{ JsonObject *obj = json_object_new(); return obj; } -void trg_prefs_add_default_int(TrgPrefs *p, const gchar *key, int value) { +void trg_prefs_add_default_int(TrgPrefs * p, const gchar * key, int value) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); json_object_set_int_member(priv->defaultsObj, key, value); } -void trg_prefs_add_default_string(TrgPrefs *p, const gchar *key, gchar *value) { +void trg_prefs_add_default_string(TrgPrefs * p, const gchar * key, + gchar * value) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); json_object_set_string_member(priv->defaultsObj, key, value); } -void trg_prefs_add_default_double(TrgPrefs *p, const gchar *key, double value) { +void trg_prefs_add_default_double(TrgPrefs * p, const gchar * key, + double value) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); json_object_set_double_member(priv->defaultsObj, key, value); } /* Not much point adding a default of FALSE, as that's the fallback */ -void trg_prefs_add_default_bool_true(TrgPrefs *p, const gchar *key) { +void trg_prefs_add_default_bool_true(TrgPrefs * p, const gchar * key) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); json_object_set_boolean_member(priv->defaultsObj, key, TRUE); } -gint trg_prefs_get_profile_id(TrgPrefs *p) { +gint trg_prefs_get_profile_id(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); return (gint) json_object_get_int_member(priv->userObj, - TRG_PREFS_KEY_PROFILE_ID); + TRG_PREFS_KEY_PROFILE_ID); } -static JsonNode *trg_prefs_get_value_inner(JsonObject *obj, const gchar *key, int type, int flags) +static JsonNode *trg_prefs_get_value_inner(JsonObject * obj, + const gchar * key, int type, + int flags) { if (json_object_has_member(obj, key)) { - if ((flags & TRG_PREFS_REPLACENODE)) - json_object_remove_member(obj, key); - else - return json_object_get_member(obj, key); + if ((flags & TRG_PREFS_REPLACENODE)) + json_object_remove_member(obj, key); + else + return json_object_get_member(obj, key); } if ((flags & TRG_PREFS_NEWNODE) || (flags & TRG_PREFS_REPLACENODE)) { - JsonNode *newNode = json_node_new(type); - json_object_set_member(obj, key, newNode); - return newNode; + JsonNode *newNode = json_node_new(type); + json_object_set_member(obj, key, newNode); + return newNode; } return NULL; } -JsonNode *trg_prefs_get_value(TrgPrefs *p, const gchar *key, int type, int flags) { +JsonNode *trg_prefs_get_value(TrgPrefs * p, const gchar * key, int type, + int flags) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); JsonNode *res; if (priv->profile && (flags & TRG_PREFS_PROFILE)) { - if ((res = trg_prefs_get_value_inner(priv->profile, key, type, flags))) - return res; + if ((res = + trg_prefs_get_value_inner(priv->profile, key, type, flags))) + return res; } else if (priv->connectionObj && (flags & TRG_PREFS_CONNECTION)) { - if ((res = trg_prefs_get_value_inner(priv->connectionObj, key, type, flags))) - return res; + if ((res = + trg_prefs_get_value_inner(priv->connectionObj, key, type, + flags))) + return res; } else { - if ((res = trg_prefs_get_value_inner(priv->userObj, key, type, flags))) - return res; + if ((res = + trg_prefs_get_value_inner(priv->userObj, key, type, flags))) + return res; } - if (priv->defaultsObj && json_object_has_member(priv->defaultsObj, key)) - return json_object_get_member(priv->defaultsObj, key); + if (priv->defaultsObj + && json_object_has_member(priv->defaultsObj, key)) + return json_object_get_member(priv->defaultsObj, key); return NULL; } -void trg_prefs_set_connection(TrgPrefs *p, JsonObject *profile) +void trg_prefs_set_connection(TrgPrefs * p, JsonObject * profile) { TrgPrefsPrivate *priv = GET_PRIVATE(p); if (priv->connectionObj) - json_object_unref(priv->connectionObj); + json_object_unref(priv->connectionObj); if (profile) - json_object_ref(profile); + json_object_ref(profile); priv->connectionObj = profile; } -gchar *trg_prefs_get_string(TrgPrefs *p, const gchar *key, int flags) { +gchar *trg_prefs_get_string(TrgPrefs * p, const gchar * key, int flags) +{ JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return g_strdup(json_node_get_string(node)); + return g_strdup(json_node_get_string(node)); else - return NULL; + return NULL; } -JsonArray *trg_prefs_get_array(TrgPrefs *p, const gchar *key, int flags) +JsonArray *trg_prefs_get_array(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_ARRAY, flags); if (node) - return json_node_get_array(node); + return json_node_get_array(node); else - return NULL; + return NULL; } -gint64 trg_prefs_get_int(TrgPrefs *p, const gchar *key, int flags) { +gint64 trg_prefs_get_int(TrgPrefs * p, const gchar * key, int flags) +{ JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return json_node_get_int(node); + return json_node_get_int(node); else - return 0; + return 0; } -gdouble trg_prefs_get_double(TrgPrefs *p, const gchar *key, int flags) { +gdouble trg_prefs_get_double(TrgPrefs * p, const gchar * key, int flags) +{ JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return json_node_get_double(node); + return json_node_get_double(node); else - return 0.0; + return 0.0; } -gboolean trg_prefs_get_bool(TrgPrefs *p, const gchar *key, int flags) { +gboolean trg_prefs_get_bool(TrgPrefs * p, const gchar * key, int flags) +{ JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return json_node_get_boolean(node); + return json_node_get_boolean(node); else - return FALSE; + return FALSE; } -void trg_prefs_set_int(TrgPrefs *p, const gchar *key, int value, int flags) { - JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); +void trg_prefs_set_int(TrgPrefs * p, const gchar * key, int value, + int flags) +{ + JsonNode *node = + trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_int(node, (gint64) value); trg_prefs_changed_emit_signal(p, key); } -void trg_prefs_set_string(TrgPrefs *p, const gchar *key, const gchar *value, - int flags) { - JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); +void trg_prefs_set_string(TrgPrefs * p, const gchar * key, + const gchar * value, int flags) +{ + JsonNode *node = + trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_string(node, value); trg_prefs_changed_emit_signal(p, key); } -void trg_prefs_set_profile(TrgPrefs *p, JsonObject *profile) { +void trg_prefs_set_profile(TrgPrefs * p, JsonObject * profile) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); GList *profiles = json_array_get_elements(trg_prefs_get_profiles(p)); priv->profile = profile; @@ -314,11 +353,12 @@ void trg_prefs_set_profile(TrgPrefs *p, JsonObject *profile) { gint i = 0; for (li = profiles; li; li = g_list_next(li)) { - if (json_node_get_object((JsonNode*) li->data) == profile) { - trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, i, TRG_PREFS_GLOBAL); - break; - } - i++; + if (json_node_get_object((JsonNode *) li->data) == profile) { + trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, i, + TRG_PREFS_GLOBAL); + break; + } + i++; } g_list_free(profiles); @@ -327,14 +367,16 @@ void trg_prefs_set_profile(TrgPrefs *p, JsonObject *profile) { trg_prefs_profile_change_emit_signal(p); } -JsonObject *trg_prefs_new_profile(TrgPrefs *p) { +JsonObject *trg_prefs_new_profile(TrgPrefs * p) +{ JsonArray *profiles = trg_prefs_get_profiles(p); JsonObject *newp = trg_prefs_new_profile_object(); json_array_add_object_element(profiles, newp); return newp; } -void trg_prefs_del_profile(TrgPrefs *p, JsonObject *profile) { +void trg_prefs_del_profile(TrgPrefs * p, JsonObject * profile) +{ JsonArray *profiles = trg_prefs_get_profiles(p); GList *profilesList = json_array_get_elements(profiles); @@ -343,12 +385,12 @@ void trg_prefs_del_profile(TrgPrefs *p, JsonObject *profile) { int i = 0; for (li = profilesList; li; li = g_list_next(li)) { - node = (JsonNode*) li->data; - if (profile == (gpointer) json_node_get_object(node)) { - json_array_remove_element(profiles, i); - break; - } - i++; + node = (JsonNode *) li->data; + if (profile == (gpointer) json_node_get_object(node)) { + json_array_remove_element(profiles, i); + break; + } + i++; } g_list_free(profilesList); @@ -356,34 +398,47 @@ void trg_prefs_del_profile(TrgPrefs *p, JsonObject *profile) { trg_prefs_profile_change_emit_signal(p); } -JsonObject* trg_prefs_get_profile(TrgPrefs *p) { +JsonObject *trg_prefs_get_profile(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); return priv->profile; } -JsonObject* trg_prefs_get_connection(TrgPrefs *p) { +JsonObject *trg_prefs_get_connection(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); return priv->connectionObj; } -JsonArray* trg_prefs_get_profiles(TrgPrefs *p) { +JsonArray *trg_prefs_get_profiles(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); - return json_object_get_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES); + return json_object_get_array_member(priv->userObj, + TRG_PREFS_KEY_PROFILES); } -void trg_prefs_set_double(TrgPrefs *p, const gchar *key, gdouble value, int flags) { - JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); +void trg_prefs_set_double(TrgPrefs * p, const gchar * key, gdouble value, + int flags) +{ + JsonNode *node = + trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_double(node, value); trg_prefs_changed_emit_signal(p, key); } -void trg_prefs_set_bool(TrgPrefs *p, const gchar *key, gboolean value, int flags) { - JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); +void trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, + int flags) +{ + JsonNode *node = + trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_boolean(node, value); trg_prefs_changed_emit_signal(p, key); } -gboolean trg_prefs_save(TrgPrefs *p) { +gboolean trg_prefs_save(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); JsonGenerator *gen = json_generator_new(); gchar *dirName; @@ -392,16 +447,18 @@ gboolean trg_prefs_save(TrgPrefs *p) { dirName = g_path_get_dirname(priv->file); if (!g_file_test(dirName, G_FILE_TEST_IS_DIR)) { - success = g_mkdir_with_parents(dirName, TRG_PREFS_DEFAULT_DIR_MODE) - == 0; + success = g_mkdir_with_parents(dirName, TRG_PREFS_DEFAULT_DIR_MODE) + == 0; } else if (g_file_test(priv->file, G_FILE_TEST_IS_REGULAR)) { - isNew = FALSE; + isNew = FALSE; } g_free(dirName); if (!success) { - g_error("Problem creating parent directory (permissions?) for: %s\n", priv->file); - return success; + g_error + ("Problem creating parent directory (permissions?) for: %s\n", + priv->file); + return success; } g_object_set(G_OBJECT(gen), "pretty", TRUE, NULL); @@ -410,21 +467,24 @@ gboolean trg_prefs_save(TrgPrefs *p) { success = json_generator_to_file(gen, priv->file, NULL); if (!success) - g_error("Problem writing configuration file (permissions?) to: %s", priv->file); + g_error("Problem writing configuration file (permissions?) to: %s", + priv->file); else if (isNew) - g_chmod(priv->file, 384); + g_chmod(priv->file, 384); g_object_unref(gen); return success; } -JsonObject *trg_prefs_get_root(TrgPrefs *p) { +JsonObject *trg_prefs_get_root(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); return priv->userObj; } -void trg_prefs_empty_init(TrgPrefs *p) { +void trg_prefs_empty_init(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); priv->user = json_node_new(JSON_NODE_OBJECT); priv->userObj = json_object_new(); @@ -435,12 +495,13 @@ void trg_prefs_empty_init(TrgPrefs *p) { JsonArray *profiles = json_array_new(); json_array_add_object_element(profiles, priv->profile); json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, - profiles); + profiles); json_object_set_int_member(priv->userObj, TRG_PREFS_KEY_PROFILE_ID, 0); } -void trg_prefs_load(TrgPrefs *p) { +void trg_prefs_load(TrgPrefs * p) +{ TrgPrefsPrivate *priv = GET_PRIVATE(p); JsonParser *parser = json_parser_new(); JsonNode *root; @@ -450,59 +511,63 @@ void trg_prefs_load(TrgPrefs *p) { gboolean parsed = json_parser_load_from_file(parser, priv->file, NULL); if (!parsed) { - trg_prefs_empty_init(p); - g_object_unref(parser); - return; + trg_prefs_empty_init(p); + g_object_unref(parser); + return; } root = json_parser_get_root(parser); if (root) { - priv->user = json_node_copy(root); - priv->userObj = json_node_get_object(priv->user); + priv->user = json_node_copy(root); + priv->userObj = json_node_get_object(priv->user); } g_object_unref(parser); if (!root) { - trg_prefs_empty_init(p); - return; + trg_prefs_empty_init(p); + return; } if (!json_object_has_member(priv->userObj, TRG_PREFS_KEY_PROFILES)) { - profiles = json_array_new(); - json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, - profiles); + profiles = json_array_new(); + json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, + profiles); } else { - profiles = json_object_get_array_member(priv->userObj, - TRG_PREFS_KEY_PROFILES); + profiles = json_object_get_array_member(priv->userObj, + TRG_PREFS_KEY_PROFILES); } n_profiles = json_array_get_length(profiles); if (n_profiles < 1) { - priv->profile = trg_prefs_new_profile_object(); - json_array_add_object_element(profiles, priv->profile); - trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, 0, TRG_PREFS_GLOBAL); + priv->profile = trg_prefs_new_profile_object(); + json_array_add_object_element(profiles, priv->profile); + trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, 0, + TRG_PREFS_GLOBAL); } else { - gint profile_id = trg_prefs_get_int(p, TRG_PREFS_KEY_PROFILE_ID, - TRG_PREFS_GLOBAL); - if (profile_id >= n_profiles) - trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, profile_id = 0, - TRG_PREFS_GLOBAL); - - priv->profile = json_array_get_object_element(profiles, profile_id); + gint profile_id = trg_prefs_get_int(p, TRG_PREFS_KEY_PROFILE_ID, + TRG_PREFS_GLOBAL); + if (profile_id >= n_profiles) + trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, profile_id = 0, + TRG_PREFS_GLOBAL); + + priv->profile = + json_array_get_object_element(profiles, profile_id); } } -guint trg_prefs_get_add_flags(TrgPrefs *p) +guint trg_prefs_get_add_flags(TrgPrefs * p) { guint flags = 0x00; - if (trg_prefs_get_bool(p, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL)) - flags |= TORRENT_ADD_FLAG_PAUSED; + if (trg_prefs_get_bool + (p, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL)) + flags |= TORRENT_ADD_FLAG_PAUSED; - if (trg_prefs_get_bool(p, TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, TRG_PREFS_GLOBAL)) - flags |= TORRENT_ADD_FLAG_DELETE; + if (trg_prefs_get_bool + (p, TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, TRG_PREFS_GLOBAL)) + flags |= TORRENT_ADD_FLAG_DELETE; return flags; } diff --git a/src/trg-prefs.h b/src/trg-prefs.h index 9a737e6..bb86264 100644 --- a/src/trg-prefs.h +++ b/src/trg-prefs.h @@ -76,78 +76,77 @@ #define TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR "dir" -#define TRG_PREFS_NOFLAGS (1 << 0) /* 0x00 */ -#define TRG_PREFS_GLOBAL (1 << 1) /* 0x01 */ -#define TRG_PREFS_PROFILE (1 << 2) /* 0x02 */ -#define TRG_PREFS_CONNECTION (1 << 3) /* 0x04 */ -#define TRG_PREFS_NEWNODE (1 << 4) /* 0x08 */ -#define TRG_PREFS_REPLACENODE (1 << 5) /* 0x16 */ +#define TRG_PREFS_NOFLAGS (1 << 0) /* 0x00 */ +#define TRG_PREFS_GLOBAL (1 << 1) /* 0x01 */ +#define TRG_PREFS_PROFILE (1 << 2) /* 0x02 */ +#define TRG_PREFS_CONNECTION (1 << 3) /* 0x04 */ +#define TRG_PREFS_NEWNODE (1 << 4) /* 0x08 */ +#define TRG_PREFS_REPLACENODE (1 << 5) /* 0x16 */ G_BEGIN_DECLS - #define TRG_TYPE_PREFS trg_prefs_get_type() - #define TRG_PREFS(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRG_TYPE_PREFS, TrgPrefs)) - #define TRG_PREFS_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), TRG_TYPE_PREFS, TrgPrefsClass)) - #define TRG_IS_PREFS(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRG_TYPE_PREFS)) - #define TRG_IS_PREFS_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_PREFS)) - #define TRG_PREFS_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_PREFS, TrgPrefsClass)) - -typedef struct { - GObject parent; + typedef struct { + GObject parent; } TrgPrefs; typedef struct { - GObjectClass parent_class; - void (*pref_changed) (TrgPrefs *tc, const gchar *key, gpointer data); + GObjectClass parent_class; + void (*pref_changed) (TrgPrefs * tc, const gchar * key, gpointer data); } TrgPrefsClass; -GType trg_prefs_get_type (void); - -TrgPrefs* trg_prefs_new (void); - -void trg_prefs_add_default_int(TrgPrefs *p, const gchar *key, int value); -void trg_prefs_add_default_string(TrgPrefs *p, const gchar *key, gchar *value); -void trg_prefs_add_default_double(TrgPrefs *p, const gchar *key, double value); -void trg_prefs_add_default_bool_true(TrgPrefs *p, const gchar *key); - -JsonNode *trg_prefs_get_value(TrgPrefs *p, const gchar *key, int type, int flags); -gchar *trg_prefs_get_string(TrgPrefs *p, const gchar *key, int flags); -gint64 trg_prefs_get_int(TrgPrefs *p, const gchar *key, int flags); -gdouble trg_prefs_get_double(TrgPrefs *p, const gchar *key, int flags); -gboolean trg_prefs_get_bool(TrgPrefs *p, const gchar *key, int flags); -JsonObject* trg_prefs_get_profile(TrgPrefs *p); -JsonObject* trg_prefs_get_connection(TrgPrefs *p); -JsonArray* trg_prefs_get_profiles(TrgPrefs *p); -void trg_prefs_set_connection(TrgPrefs *p, JsonObject *profile); -gint trg_prefs_get_profile_id(TrgPrefs *p); -void trg_prefs_del_profile(TrgPrefs *p, JsonObject *profile); -void trg_prefs_set_profile(TrgPrefs *p, JsonObject *profile); -JsonObject *trg_prefs_new_profile(TrgPrefs *p); -JsonObject *trg_get_current_profile(TrgPrefs *p); -JsonObject *trg_prefs_get_root(TrgPrefs *p); -JsonArray *trg_prefs_get_array(TrgPrefs *p, const gchar *key, int flags); - -void trg_prefs_set_int(TrgPrefs *p, const gchar *key, int value, int flags); -void trg_prefs_set_string(TrgPrefs *p, const gchar *key, const gchar *value, int flags); -void trg_prefs_set_double(TrgPrefs *p, const gchar *key, double value, int flags); -void trg_prefs_set_bool(TrgPrefs *p, const gchar *key, gboolean value, int flags); - -gboolean trg_prefs_save(TrgPrefs *p); -void trg_prefs_load(TrgPrefs *p); -void trg_prefs_changed_emit_signal(TrgPrefs *p, const gchar *key); -void trg_prefs_profile_change_emit_signal(TrgPrefs *p); -guint trg_prefs_get_add_flags(TrgPrefs *p); +GType trg_prefs_get_type(void); + +TrgPrefs *trg_prefs_new(void); + +void trg_prefs_add_default_int(TrgPrefs * p, const gchar * key, int value); +void trg_prefs_add_default_string(TrgPrefs * p, const gchar * key, + gchar * value); +void trg_prefs_add_default_double(TrgPrefs * p, const gchar * key, + double value); +void trg_prefs_add_default_bool_true(TrgPrefs * p, const gchar * key); + +JsonNode *trg_prefs_get_value(TrgPrefs * p, const gchar * key, int type, + int flags); +gchar *trg_prefs_get_string(TrgPrefs * p, const gchar * key, int flags); +gint64 trg_prefs_get_int(TrgPrefs * p, const gchar * key, int flags); +gdouble trg_prefs_get_double(TrgPrefs * p, const gchar * key, int flags); +gboolean trg_prefs_get_bool(TrgPrefs * p, const gchar * key, int flags); +JsonObject *trg_prefs_get_profile(TrgPrefs * p); +JsonObject *trg_prefs_get_connection(TrgPrefs * p); +JsonArray *trg_prefs_get_profiles(TrgPrefs * p); +void trg_prefs_set_connection(TrgPrefs * p, JsonObject * profile); +gint trg_prefs_get_profile_id(TrgPrefs * p); +void trg_prefs_del_profile(TrgPrefs * p, JsonObject * profile); +void trg_prefs_set_profile(TrgPrefs * p, JsonObject * profile); +JsonObject *trg_prefs_new_profile(TrgPrefs * p); +JsonObject *trg_get_current_profile(TrgPrefs * p); +JsonObject *trg_prefs_get_root(TrgPrefs * p); +JsonArray *trg_prefs_get_array(TrgPrefs * p, const gchar * key, int flags); + +void trg_prefs_set_int(TrgPrefs * p, const gchar * key, int value, + int flags); +void trg_prefs_set_string(TrgPrefs * p, const gchar * key, + const gchar * value, int flags); +void trg_prefs_set_double(TrgPrefs * p, const gchar * key, double value, + int flags); +void trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, + int flags); + +gboolean trg_prefs_save(TrgPrefs * p); +void trg_prefs_load(TrgPrefs * p); +void trg_prefs_changed_emit_signal(TrgPrefs * p, const gchar * key); +void trg_prefs_profile_change_emit_signal(TrgPrefs * p); +guint trg_prefs_get_add_flags(TrgPrefs * p); G_END_DECLS - -#endif /* _TRG_PREFS_H_ */ +#endif /* _TRG_PREFS_H_ */ diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index b9a059e..6169706 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -41,7 +41,7 @@ */ G_DEFINE_TYPE(TrgRemotePrefsDialog, trg_remote_prefs_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_REMOTE_PREFS_DIALOG, TrgRemotePrefsDialogPrivate)) enum { @@ -62,9 +62,10 @@ struct _TrgRemotePrefsDialogPrivate { static GObject *instance = NULL; -static void update_session(GtkDialog * dlg) { +static void update_session(GtkDialog * dlg) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); JsonNode *request = session_set(); JsonObject *args = node_get_arguments(request); @@ -72,16 +73,17 @@ static void update_session(GtkDialog * dlg) { /* Connection */ - switch (gtk_combo_box_get_active(GTK_COMBO_BOX(priv->encryption_combo))) { + switch (gtk_combo_box_get_active + (GTK_COMBO_BOX(priv->encryption_combo))) { case 0: - encryption = "required"; - break; + encryption = "required"; + break; case 2: - encryption = "tolerated"; - break; + encryption = "tolerated"; + break; default: - encryption = "preferred"; - break; + encryption = "preferred"; + break; } json_object_set_string_member(args, SGET_ENCRYPTION, encryption); @@ -92,12 +94,13 @@ static void update_session(GtkDialog * dlg) { } static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) { + gpointer data G_GNUC_UNUSED) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_OK) - update_session(dlg); + update_session(dlg); trg_json_widget_desc_list_free(priv->widgets); @@ -106,43 +109,50 @@ static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, } static void trg_remote_prefs_dialog_get_property(GObject * object, - guint property_id, GValue * value, GParamSpec * pspec) { + guint property_id, + GValue * value, + GParamSpec * pspec) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_PARENT: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_remote_prefs_dialog_set_property(GObject * object, - guint property_id, const GValue * value, GParamSpec * pspec) { + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, - JsonObject * json) { + JsonObject * json) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -151,97 +161,112 @@ static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, hig_workarea_add_section_title(t, &row, _("Bandwidth")); tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SPEED_LIMIT_DOWN_ENABLED, _("Limit download speed (KB/s)"), - NULL); + SGET_SPEED_LIMIT_DOWN_ENABLED, + _("Limit download speed (KB/s)"), NULL); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_SPEED_LIMIT_DOWN, tb, 0, INT_MAX, 1); + SGET_SPEED_LIMIT_DOWN, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SPEED_LIMIT_UP_ENABLED, _("Limit upload speed (KB/s)"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, SGET_SPEED_LIMIT_UP, - tb, 0, INT_MAX, 1); + SGET_SPEED_LIMIT_UP_ENABLED, + _("Limit upload speed (KB/s)"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_SPEED_LIMIT_UP, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, _("Seeding")); tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SEED_RATIO_LIMITED, _("Seed ratio limit"), NULL); + SGET_SEED_RATIO_LIMITED, + _("Seed ratio limit"), NULL); w = trg_json_widget_spin_new_double(&priv->widgets, json, - SGET_SEED_RATIO_LIMIT, tb, 0, INT_MAX, 0.1); + SGET_SEED_RATIO_LIMIT, tb, 0, + INT_MAX, 0.1); hig_workarea_add_row_w(t, &row, tb, w, NULL); if (json_object_has_member(json, SGET_DOWNLOAD_QUEUE_ENABLED)) { - hig_workarea_add_section_title(t, &row, _("Queues")); - - tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_DOWNLOAD_QUEUE_ENABLED, _("Download queue size"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_DOWNLOAD_QUEUE_SIZE, tb, 0, INT_MAX, 1); - hig_workarea_add_row_w(t, &row, tb, w, NULL); - - tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SEED_QUEUE_ENABLED, _("Seed queue size"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_SEED_QUEUE_SIZE, tb, 0, INT_MAX, 1); - hig_workarea_add_row_w(t, &row, tb, w, NULL); - - tb - = trg_json_widget_check_new(&priv->widgets, json, - SGET_QUEUE_STALLED_ENABLED, - _("Ignore stalled (minutes)"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_QUEUE_STALLED_MINUTES, tb, 0, INT_MAX, 1); - hig_workarea_add_row_w(t, &row, tb, w, NULL); + hig_workarea_add_section_title(t, &row, _("Queues")); + + tb = trg_json_widget_check_new(&priv->widgets, json, + SGET_DOWNLOAD_QUEUE_ENABLED, + _("Download queue size"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_DOWNLOAD_QUEUE_SIZE, tb, 0, + INT_MAX, 1); + hig_workarea_add_row_w(t, &row, tb, w, NULL); + + tb = trg_json_widget_check_new(&priv->widgets, json, + SGET_SEED_QUEUE_ENABLED, + _("Seed queue size"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_SEED_QUEUE_SIZE, tb, 0, + INT_MAX, 1); + hig_workarea_add_row_w(t, &row, tb, w, NULL); + + tb = trg_json_widget_check_new(&priv->widgets, json, + SGET_QUEUE_STALLED_ENABLED, + _("Ignore stalled (minutes)"), + NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_QUEUE_STALLED_MINUTES, tb, 0, + INT_MAX, 1); + hig_workarea_add_row_w(t, &row, tb, w, NULL); } hig_workarea_add_section_title(t, &row, _("Peers")); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_PEER_LIMIT_GLOBAL, NULL, 0, INT_MAX, 5); + SGET_PEER_LIMIT_GLOBAL, NULL, 0, + INT_MAX, 5); hig_workarea_add_row(t, &row, _("Global peer limit"), w, w); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_PEER_LIMIT_PER_TORRENT, NULL, 0, INT_MAX, 5); + SGET_PEER_LIMIT_PER_TORRENT, NULL, 0, + INT_MAX, 5); hig_workarea_add_row(t, &row, _("Per torrent peer limit"), w, w); return t; } -static gboolean on_port_tested(gpointer data) { - trg_response *response = (trg_response*) data; +static gboolean on_port_tested(gpointer data) +{ + trg_response *response = (trg_response *) data; if (TRG_IS_REMOTE_PREFS_DIALOG(response->cb_data)) { - TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); - - gtk_button_set_label(GTK_BUTTON(priv->port_test_button), _("Retest")); - gtk_widget_set_sensitive(priv->port_test_button, TRUE); - - if (response->status == CURLE_OK) { - gboolean isOpen = json_object_get_boolean_member( - get_arguments(response->obj), "port-is-open"); - if (isOpen) - gtk_label_set_markup( - GTK_LABEL(priv->port_test_label), - _ - ("Port is open")); - else - gtk_label_set_markup( - GTK_LABEL(priv->port_test_label), - _ - ("Port is closed")); - } else { - trg_error_dialog(GTK_WINDOW(data), response); - } + TrgRemotePrefsDialogPrivate *priv = + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); + + gtk_button_set_label(GTK_BUTTON(priv->port_test_button), + _("Retest")); + gtk_widget_set_sensitive(priv->port_test_button, TRUE); + + if (response->status == CURLE_OK) { + gboolean isOpen = + json_object_get_boolean_member(get_arguments + (response->obj), + "port-is-open"); + if (isOpen) + gtk_label_set_markup(GTK_LABEL(priv->port_test_label), + _ + ("Port is open")); + else + gtk_label_set_markup(GTK_LABEL(priv->port_test_label), + _ + ("Port is closed")); + } else { + trg_error_dialog(GTK_WINDOW(data), response); + } } trg_response_free(response); return FALSE; } -static void port_test_cb(GtkButton * b, gpointer data) { +static void port_test_cb(GtkButton * b, gpointer data) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); JsonNode *req = port_test(); gtk_label_set_text(GTK_LABEL(priv->port_test_label), _("Port test")); @@ -251,25 +276,29 @@ static void port_test_cb(GtkButton * b, gpointer data) { dispatch_async(priv->client, req, on_port_tested, data); } -static gboolean on_blocklist_updated(gpointer data) { - trg_response *response = (trg_response*) data; +static gboolean on_blocklist_updated(gpointer data) +{ + trg_response *response = (trg_response *) data; if (TRG_IS_REMOTE_PREFS_DIALOG(response->cb_data)) { - TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); - - gtk_widget_set_sensitive(priv->blocklist_update_button, TRUE); - gtk_button_set_label(GTK_BUTTON(priv->blocklist_update_button), - _("Update")); - - if (response->status == CURLE_OK) { - JsonObject *args = get_arguments(response->obj); - gchar *labelText = g_strdup_printf(_("Blocklist (%ld entries)"), - json_object_get_int_member(args, SGET_BLOCKLIST_SIZE)); - gtk_button_set_label(GTK_BUTTON(priv->blocklist_check), labelText); - g_free(labelText); - } else { - trg_error_dialog(GTK_WINDOW(response->cb_data), response); - } + TrgRemotePrefsDialogPrivate *priv = + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); + + gtk_widget_set_sensitive(priv->blocklist_update_button, TRUE); + gtk_button_set_label(GTK_BUTTON(priv->blocklist_update_button), + _("Update")); + + if (response->status == CURLE_OK) { + JsonObject *args = get_arguments(response->obj); + gchar *labelText = + g_strdup_printf(_("Blocklist (%ld entries)"), + json_object_get_int_member(args, + SGET_BLOCKLIST_SIZE)); + gtk_button_set_label(GTK_BUTTON(priv->blocklist_check), + labelText); + g_free(labelText); + } else { + trg_error_dialog(GTK_WINDOW(response->cb_data), response); + } } trg_response_free(response); @@ -277,9 +306,10 @@ static gboolean on_blocklist_updated(gpointer data) { return FALSE; } -static gboolean update_blocklist_cb(GtkButton * b, gpointer data) { +static gboolean update_blocklist_cb(GtkButton * b, gpointer data) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); JsonNode *req = blocklist_update(); gtk_widget_set_sensitive(GTK_WIDGET(b), FALSE); @@ -291,9 +321,10 @@ static gboolean update_blocklist_cb(GtkButton * b, gpointer data) { } static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, - JsonObject * s) { + JsonObject * s) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; const gchar *stringValue; @@ -302,19 +333,21 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, t = hig_workarea_create(); w = priv->encryption_combo = gtr_combo_box_new_enum(_("Required"), 0, - _("Preferred"), 1, _("Tolerated"), 2, NULL); + _("Preferred"), 1, + _("Tolerated"), 2, + NULL); stringValue = session_get_encryption(s); if (g_strcmp0(stringValue, "required") == 0) { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); } else if (g_strcmp0(stringValue, "tolerated") == 0) { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); } else { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); } hig_workarea_add_row(t, &row, _("Encryption"), w, NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, s, SGET_PEER_PORT, NULL, - 0, 65535, 1); + w = trg_json_widget_spin_new_int(&priv->widgets, s, SGET_PEER_PORT, + NULL, 0, 65535, 1); hig_workarea_add_row(t, &row, _("Peer port"), w, w); w = priv->port_test_label = gtk_label_new(_("Port test")); @@ -323,52 +356,57 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, hig_workarea_add_row_w(t, &row, priv->port_test_label, w, NULL); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_PEER_PORT_RANDOM_ON_START, _("Random peer port on start"), - NULL); + SGET_PEER_PORT_RANDOM_ON_START, + _("Random peer port on start"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_PORT_FORWARDING_ENABLED, _("Peer port forwarding"), NULL); + SGET_PORT_FORWARDING_ENABLED, + _("Peer port forwarding"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, SGET_PEX_ENABLED, - _("Peer exchange (PEX)"), NULL); + _("Peer exchange (PEX)"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, SGET_DHT_ENABLED, - _("Distributed Hash Table (DHT)"), NULL); + _("Distributed Hash Table (DHT)"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, SGET_LPD_ENABLED, - _("Local peer discovery"), NULL); + _("Local peer discovery"), NULL); hig_workarea_add_wide_control(t, &row, w); stringValue = g_strdup_printf(_("Blocklist (%ld entries)"), - session_get_blocklist_size(s)); - tb = priv->blocklist_check = trg_json_widget_check_new(&priv->widgets, s, - SGET_BLOCKLIST_ENABLED, stringValue, NULL); + session_get_blocklist_size(s)); + tb = priv->blocklist_check = + trg_json_widget_check_new(&priv->widgets, s, + SGET_BLOCKLIST_ENABLED, stringValue, + NULL); g_free((gchar *) stringValue); - w = priv->blocklist_update_button = gtk_button_new_with_label(_("Update")); + w = priv->blocklist_update_button = + gtk_button_new_with_label(_("Update")); g_signal_connect(G_OBJECT(w), "clicked", - G_CALLBACK(update_blocklist_cb), win); + G_CALLBACK(update_blocklist_cb), win); hig_workarea_add_row_w(t, &row, tb, w, NULL); //GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, gchar *key, GtkWidget *toggleDep); stringValue = session_get_blocklist_url(s); if (stringValue) { - w = trg_json_widget_entry_new(&priv->widgets, s, SGET_BLOCKLIST_URL, - NULL); - hig_workarea_add_row(t, &row, _("Blocklist URL:"), w, NULL); + w = trg_json_widget_entry_new(&priv->widgets, s, + SGET_BLOCKLIST_URL, NULL); + hig_workarea_add_row(t, &row, _("Blocklist URL:"), w, NULL); } return t; } static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win, - JsonObject * s) { + JsonObject * s) +{ TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -376,87 +414,104 @@ static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win, t = hig_workarea_create(); - w = trg_json_widget_entry_new(&priv->widgets, s, SGET_DOWNLOAD_DIR, NULL); + w = trg_json_widget_entry_new(&priv->widgets, s, SGET_DOWNLOAD_DIR, + NULL); hig_workarea_add_row(t, &row, _("Download directory"), w, NULL); tb = trg_json_widget_check_new(&priv->widgets, s, - SGET_INCOMPLETE_DIR_ENABLED, _("Incomplete download dir"), NULL); - w = trg_json_widget_entry_new(&priv->widgets, s, SGET_INCOMPLETE_DIR, tb); + SGET_INCOMPLETE_DIR_ENABLED, + _("Incomplete download dir"), NULL); + w = trg_json_widget_entry_new(&priv->widgets, s, SGET_INCOMPLETE_DIR, + tb); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = trg_json_widget_check_new(&priv->widgets, s, - SGET_SCRIPT_TORRENT_DONE_ENABLED, _("Torrent done script"), NULL); + SGET_SCRIPT_TORRENT_DONE_ENABLED, + _("Torrent done script"), NULL); w = trg_json_widget_entry_new(&priv->widgets, s, - SGET_SCRIPT_TORRENT_DONE_FILENAME, tb); + SGET_SCRIPT_TORRENT_DONE_FILENAME, tb); hig_workarea_add_row_w(t, &row, tb, w, NULL); cache_size_mb = session_get_cache_size_mb(s); if (cache_size_mb >= 0) { - w = trg_json_widget_spin_new_int(&priv->widgets, s, SGET_CACHE_SIZE_MB, - NULL, 0, INT_MAX, 1); - hig_workarea_add_row(t, &row, _("Cache size (MB)"), w, w); + w = trg_json_widget_spin_new_int(&priv->widgets, s, + SGET_CACHE_SIZE_MB, NULL, 0, + INT_MAX, 1); + hig_workarea_add_row(t, &row, _("Cache size (MB)"), w, w); } - w = trg_json_widget_check_new(&priv->widgets, s, SGET_RENAME_PARTIAL_FILES, - _("Rename partial files"), NULL); + w = trg_json_widget_check_new(&priv->widgets, s, + SGET_RENAME_PARTIAL_FILES, + _("Rename partial files"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_TRASH_ORIGINAL_TORRENT_FILES, _ - ("Trash original torrent files"), NULL); + SGET_TRASH_ORIGINAL_TORRENT_FILES, _ + ("Trash original torrent files"), NULL); hig_workarea_add_wide_control(t, &row, w); - w = trg_json_widget_check_new(&priv->widgets, s, SGET_START_ADDED_TORRENTS, - _("Start added torrents"), NULL); + w = trg_json_widget_check_new(&priv->widgets, s, + SGET_START_ADDED_TORRENTS, + _("Start added torrents"), NULL); hig_workarea_add_wide_control(t, &row, w); return t; } static GObject *trg_remote_prefs_dialog_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint + n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *object; TrgRemotePrefsDialogPrivate *priv; JsonObject *session; GtkWidget *notebook, *contentvbox; object = G_OBJECT_CLASS - (trg_remote_prefs_dialog_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_remote_prefs_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); session = trg_client_get_session(priv->client); contentvbox = gtk_dialog_get_content_area(GTK_DIALOG(object)); gtk_window_set_title(GTK_WINDOW(object), _("Remote Preferences")); - gtk_window_set_transient_for(GTK_WINDOW(object), GTK_WINDOW(priv->parent)); + gtk_window_set_transient_for(GTK_WINDOW(object), + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); - gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, GTK_RESPONSE_OK); + GTK_RESPONSE_CLOSE); + gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, + GTK_RESPONSE_OK); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_remote_prefs_response_cb), NULL); + "response", + G_CALLBACK(trg_remote_prefs_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_generalPage(TRG_REMOTE_PREFS_DIALOG(object), session), - gtk_label_new(_("General"))); + trg_rprefs_generalPage(TRG_REMOTE_PREFS_DIALOG + (object), session), + gtk_label_new(_("General"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_connPage(TRG_REMOTE_PREFS_DIALOG(object), session), - gtk_label_new(_("Connections"))); + trg_rprefs_connPage(TRG_REMOTE_PREFS_DIALOG + (object), session), + gtk_label_new(_("Connections"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_limitsPage(TRG_REMOTE_PREFS_DIALOG(object), session), - gtk_label_new(_("Limits"))); + trg_rprefs_limitsPage(TRG_REMOTE_PREFS_DIALOG + (object), session), + gtk_label_new(_("Limits"))); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); @@ -465,8 +520,9 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type, return object; } -static void trg_remote_prefs_dialog_class_init( - TrgRemotePrefsDialogClass * klass) { +static void trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * + klass) +{ GObjectClass *object_class = G_OBJECT_CLASS(klass); g_type_class_add_private(klass, sizeof(TrgRemotePrefsDialogPrivate)); @@ -475,38 +531,51 @@ static void trg_remote_prefs_dialog_class_init( object_class->get_property = trg_remote_prefs_dialog_get_property; object_class->set_property = trg_remote_prefs_dialog_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_PARENT, - g_param_spec_object( - "parent-window", - "Parent window", - "Parent window", - TRG_TYPE_MAIN_WINDOW, - 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_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_PARENT, + g_param_spec_object("parent-window", + "Parent window", + "Parent window", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } -static void trg_remote_prefs_dialog_init(TrgRemotePrefsDialog * self G_GNUC_UNUSED) { +static void trg_remote_prefs_dialog_init(TrgRemotePrefsDialog * + self G_GNUC_UNUSED) +{ } -TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance( - TrgMainWindow * parent, TrgClient * client) { +TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow * + parent, + TrgClient * + client) +{ if (instance == NULL) { - instance = g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, "parent-window", - parent, "trg-client", client, NULL); + instance = + g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, "parent-window", + parent, "trg-client", client, NULL); } return TRG_REMOTE_PREFS_DIALOG(instance); diff --git a/src/trg-remote-prefs-dialog.h b/src/trg-remote-prefs-dialog.h index 0c340a1..412f3af 100644 --- a/src/trg-remote-prefs-dialog.h +++ b/src/trg-remote-prefs-dialog.h @@ -48,9 +48,9 @@ typedef struct { GType trg_remote_prefs_dialog_get_type(void); TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow * - parent, - TrgClient * - client); + parent, + TrgClient * + client); G_END_DECLS -#endif /* TRG_REMOTE_PREFS_DIALOG_H_ */ +#endif /* TRG_REMOTE_PREFS_DIALOG_H_ */ diff --git a/src/trg-sortable-filtered-model.c b/src/trg-sortable-filtered-model.c index 198a723..649d999 100644 --- a/src/trg-sortable-filtered-model.c +++ b/src/trg-sortable-filtered-model.c @@ -28,113 +28,178 @@ */ static void -trg_sortable_filtered_model_tree_sortable_init(GtkTreeSortableIface *iface); +trg_sortable_filtered_model_tree_sortable_init(GtkTreeSortableIface * + iface); /* TreeSortable interface */ -static GtkTreeSortable *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable *sortable); -static gboolean trg_sortable_filtered_model_sort_get_sort_column_id( - GtkTreeSortable *sortable, gint *sort_column_id, GtkSortType *order); -static void trg_sortable_filtered_model_sort_set_sort_column_id( - GtkTreeSortable *sortable, gint sort_column_id, GtkSortType order); -static void trg_sortable_filtered_model_sort_set_sort_func( - GtkTreeSortable *sortable, gint sort_column_id, - GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy); -static void trg_sortable_filtered_model_sort_set_default_sort_func( - GtkTreeSortable *sortable, GtkTreeIterCompareFunc func, gpointer data, - GDestroyNotify destroy); -static gboolean trg_sortable_filtered_model_sort_has_default_sort_func( - GtkTreeSortable *sortable); -static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable *realSortable, - GtkTreeSortable *fakeSortable); - -G_DEFINE_TYPE_WITH_CODE( - TrgSortableFilteredModel, - trg_sortable_filtered_model, - GTK_TYPE_TREE_MODEL_FILTER, - G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_SORTABLE, trg_sortable_filtered_model_tree_sortable_init)) - -static void trg_sortable_filtered_model_class_init( - TrgSortableFilteredModelClass *klass) { +static GtkTreeSortable + *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * + sortable); +static gboolean +trg_sortable_filtered_model_sort_get_sort_column_id(GtkTreeSortable * + sortable, + gint * sort_column_id, + GtkSortType * order); +static void +trg_sortable_filtered_model_sort_set_sort_column_id(GtkTreeSortable * + sortable, + gint sort_column_id, + GtkSortType order); +static void trg_sortable_filtered_model_sort_set_sort_func(GtkTreeSortable + * sortable, + gint + sort_column_id, + GtkTreeIterCompareFunc + func, + gpointer data, + GDestroyNotify + destroy); +static void +trg_sortable_filtered_model_sort_set_default_sort_func(GtkTreeSortable * + sortable, + GtkTreeIterCompareFunc + func, gpointer data, + GDestroyNotify + destroy); +static gboolean +trg_sortable_filtered_model_sort_has_default_sort_func(GtkTreeSortable * + sortable); +static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable + * realSortable, + GtkTreeSortable + * + fakeSortable); + +G_DEFINE_TYPE_WITH_CODE(TrgSortableFilteredModel, + trg_sortable_filtered_model, + GTK_TYPE_TREE_MODEL_FILTER, + G_IMPLEMENT_INTERFACE(GTK_TYPE_TREE_SORTABLE, + trg_sortable_filtered_model_tree_sortable_init)) + +static void +trg_sortable_filtered_model_class_init(TrgSortableFilteredModelClass * + klass) +{ } -static void trg_sortable_filtered_model_init(TrgSortableFilteredModel *self) { +static void trg_sortable_filtered_model_init(TrgSortableFilteredModel * + self) +{ } -static void trg_sortable_filtered_model_tree_sortable_init( - GtkTreeSortableIface *iface) { +static void +trg_sortable_filtered_model_tree_sortable_init(GtkTreeSortableIface * + iface) +{ iface->get_sort_column_id = - trg_sortable_filtered_model_sort_get_sort_column_id; + trg_sortable_filtered_model_sort_get_sort_column_id; iface->set_sort_column_id = - trg_sortable_filtered_model_sort_set_sort_column_id; + trg_sortable_filtered_model_sort_set_sort_column_id; iface->set_sort_func = trg_sortable_filtered_model_sort_set_sort_func; iface->set_default_sort_func = - trg_sortable_filtered_model_sort_set_default_sort_func; + trg_sortable_filtered_model_sort_set_default_sort_func; iface->has_default_sort_func = - trg_sortable_filtered_model_sort_has_default_sort_func; + trg_sortable_filtered_model_sort_has_default_sort_func; } -static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable *realSortable G_GNUC_UNUSED, - GtkTreeSortable *fakeSortable) +static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable + * + realSortable + G_GNUC_UNUSED, + GtkTreeSortable + * fakeSortable) { - g_signal_emit_by_name (fakeSortable, "sort-column-changed"); + g_signal_emit_by_name(fakeSortable, "sort-column-changed"); } -GtkTreeModel * -trg_sortable_filtered_model_new (GtkTreeSortable *child_model, - GtkTreePath *root) +GtkTreeModel *trg_sortable_filtered_model_new(GtkTreeSortable * + child_model, + GtkTreePath * root) { - g_return_val_if_fail (GTK_IS_TREE_MODEL (child_model), NULL); - g_return_val_if_fail (GTK_IS_TREE_SORTABLE (child_model), NULL); + g_return_val_if_fail(GTK_IS_TREE_MODEL(child_model), NULL); + g_return_val_if_fail(GTK_IS_TREE_SORTABLE(child_model), NULL); - GObject *obj = g_object_new (TRG_TYPE_SORTABLE_FILTERED_MODEL, - "child-model", GTK_TREE_MODEL(child_model), - "virtual-root", root, - NULL); + GObject *obj = g_object_new(TRG_TYPE_SORTABLE_FILTERED_MODEL, + "child-model", GTK_TREE_MODEL(child_model), + "virtual-root", root, + NULL); - g_signal_connect (child_model, "sort-column-changed", - G_CALLBACK (trg_sortable_filtered_model_sort_column_changed), - obj); + g_signal_connect(child_model, "sort-column-changed", + G_CALLBACK + (trg_sortable_filtered_model_sort_column_changed), + obj); - return GTK_TREE_MODEL(obj); + return GTK_TREE_MODEL(obj); } -static GtkTreeSortable *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable *sortable) +static GtkTreeSortable + *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * + sortable) { - return GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(sortable))); + return + GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER(sortable))); } -static gboolean trg_sortable_filtered_model_sort_get_sort_column_id( - GtkTreeSortable *sortable, gint *sort_column_id, GtkSortType *order) { - GtkTreeSortable *realSortable = trg_sortable_filtered_model_get_real_sortable(sortable); - return gtk_tree_sortable_get_sort_column_id(realSortable, sort_column_id, order); +static gboolean +trg_sortable_filtered_model_sort_get_sort_column_id(GtkTreeSortable * + sortable, + gint * sort_column_id, + GtkSortType * order) +{ + GtkTreeSortable *realSortable = + trg_sortable_filtered_model_get_real_sortable(sortable); + return gtk_tree_sortable_get_sort_column_id(realSortable, + sort_column_id, order); } -static void trg_sortable_filtered_model_sort_set_sort_column_id( - GtkTreeSortable *sortable, gint sort_column_id, GtkSortType order) +static void +trg_sortable_filtered_model_sort_set_sort_column_id(GtkTreeSortable * + sortable, + gint sort_column_id, + GtkSortType order) { - GtkTreeSortable *realSortable = trg_sortable_filtered_model_get_real_sortable(sortable); - gtk_tree_sortable_set_sort_column_id(realSortable, sort_column_id, order); + GtkTreeSortable *realSortable = + trg_sortable_filtered_model_get_real_sortable(sortable); + gtk_tree_sortable_set_sort_column_id(realSortable, sort_column_id, + order); } -static void trg_sortable_filtered_model_sort_set_sort_func( - GtkTreeSortable *sortable, gint sort_column_id, - GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy) +static void trg_sortable_filtered_model_sort_set_sort_func(GtkTreeSortable + * sortable, + gint + sort_column_id, + GtkTreeIterCompareFunc + func, + gpointer data, + GDestroyNotify + destroy) { - GtkTreeSortable *realSortable = trg_sortable_filtered_model_get_real_sortable(sortable); - gtk_tree_sortable_set_sort_func(realSortable, sort_column_id, func, data, destroy); + GtkTreeSortable *realSortable = + trg_sortable_filtered_model_get_real_sortable(sortable); + gtk_tree_sortable_set_sort_func(realSortable, sort_column_id, func, + data, destroy); } -static void trg_sortable_filtered_model_sort_set_default_sort_func( - GtkTreeSortable *sortable, GtkTreeIterCompareFunc func, gpointer data, - GDestroyNotify destroy) +static void +trg_sortable_filtered_model_sort_set_default_sort_func(GtkTreeSortable * + sortable, + GtkTreeIterCompareFunc + func, gpointer data, + GDestroyNotify + destroy) { - GtkTreeSortable *realSortable = trg_sortable_filtered_model_get_real_sortable(sortable); - gtk_tree_sortable_set_default_sort_func(realSortable, func, data, destroy); + GtkTreeSortable *realSortable = + trg_sortable_filtered_model_get_real_sortable(sortable); + gtk_tree_sortable_set_default_sort_func(realSortable, func, data, + destroy); } -static gboolean trg_sortable_filtered_model_sort_has_default_sort_func( - GtkTreeSortable *sortable) +static gboolean +trg_sortable_filtered_model_sort_has_default_sort_func(GtkTreeSortable * + sortable) { - GtkTreeSortable *realSortable = trg_sortable_filtered_model_get_real_sortable(sortable); + GtkTreeSortable *realSortable = + trg_sortable_filtered_model_get_real_sortable(sortable); return gtk_tree_sortable_has_default_sort_func(realSortable); } diff --git a/src/trg-sortable-filtered-model.h b/src/trg-sortable-filtered-model.h index 50782c8..9abc456 100644 --- a/src/trg-sortable-filtered-model.h +++ b/src/trg-sortable-filtered-model.h @@ -24,39 +24,31 @@ #include G_BEGIN_DECLS - #define TRG_TYPE_SORTABLE_FILTERED_MODEL trg_sortable_filtered_model_get_type() - #define TRG_SORTABLE_FILTERED_MODEL(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRG_TYPE_SORTABLE_FILTERED_MODEL, TrgSortableFilteredModel)) - #define TRG_SORTABLE_FILTERED_MODEL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), TRG_TYPE_SORTABLE_FILTERED_MODEL, TrgSortableFilteredModelClass)) - #define TRG_IS_SORTABLE_FILTERED_MODEL(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRG_TYPE_SORTABLE_FILTERED_MODEL)) - #define TRG_IS_SORTABLE_FILTERED_MODEL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_SORTABLE_FILTERED_MODEL)) - #define TRG_SORTABLE_FILTERED_MODEL_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_SORTABLE_FILTERED_MODEL, TrgSortableFilteredModelClass)) - -typedef struct { - GtkTreeModelFilter parent; + typedef struct { + GtkTreeModelFilter parent; } TrgSortableFilteredModel; typedef struct { - GtkTreeModelFilterClass parent_class; + GtkTreeModelFilterClass parent_class; } TrgSortableFilteredModelClass; -GType trg_sortable_filtered_model_get_type (void); +GType trg_sortable_filtered_model_get_type(void); -GtkTreeModel * -trg_sortable_filtered_model_new (GtkTreeSortable *child_model, - GtkTreePath *root); +GtkTreeModel *trg_sortable_filtered_model_new(GtkTreeSortable * + child_model, + GtkTreePath * root); G_END_DECLS - -#endif /* _TRG_SORTABLE_FILTERED_MODEL */ +#endif /* _TRG_SORTABLE_FILTERED_MODEL */ diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index 41a552f..eded9f4 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -60,17 +60,21 @@ struct _TrgStateSelectorPrivate { GtkTreeRowReference *error_rr; }; -GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s) { +GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); return priv->urlHostRegex; } -guint32 trg_state_selector_get_flag(TrgStateSelector * s) { +guint32 trg_state_selector_get_flag(TrgStateSelector * s) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); return priv->flag; } -static void state_selection_changed(GtkTreeSelection * selection, gpointer data) { +static void state_selection_changed(GtkTreeSelection * selection, + gpointer data) +{ TrgStateSelectorPrivate *priv; GtkTreeIter iter; GtkTreeModel *stateModel; @@ -79,20 +83,21 @@ static void state_selection_changed(GtkTreeSelection * selection, gpointer data) priv = TRG_STATE_SELECTOR_GET_PRIVATE(data); if (gtk_tree_selection_get_selected(selection, &stateModel, &iter)) - gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, &priv->flag, - STATE_SELECTOR_INDEX, &index, -1); + gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, + &priv->flag, STATE_SELECTOR_INDEX, &index, -1); else - priv->flag = 0; + priv->flag = 0; trg_prefs_set_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, index, - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); - g_signal_emit(TRG_STATE_SELECTOR(data), signals[SELECTOR_STATE_CHANGED], 0, - priv->flag); + g_signal_emit(TRG_STATE_SELECTOR(data), + signals[SELECTOR_STATE_CHANGED], 0, priv->flag); } static GtkTreeRowReference *quick_tree_ref_new(GtkTreeModel * model, - GtkTreeIter * iter) { + GtkTreeIter * iter) +{ GtkTreePath *path = gtk_tree_model_get_path(model, iter); GtkTreeRowReference *rr = gtk_tree_row_reference_new(model, path); gtk_tree_path_free(path); @@ -104,8 +109,10 @@ struct cruft_remove_args { gint64 serial; }; -static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value, - gpointer data) { +static gboolean trg_state_selector_remove_cruft(gpointer key, + gpointer value, + gpointer data) +{ struct cruft_remove_args *args = (struct cruft_remove_args *) data; GtkTreeRowReference *rr = (GtkTreeRowReference *) value; GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); @@ -116,7 +123,8 @@ static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value, gint64 currentSerial; gtk_tree_model_get_iter(model, &iter, path); - gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, ¤tSerial, -1); + gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, ¤tSerial, + -1); remove = (args->serial != currentSerial); @@ -125,34 +133,39 @@ static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value, return remove; } -gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) { +gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) +{ GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(s)); GtkTreeModel *model; GtkTreeIter iter; gchar *name = NULL; if (gtk_tree_selection_get_selected(sel, &model, &iter)) - gtk_tree_model_get(model, &iter, STATE_SELECTOR_NAME, &name, -1); + gtk_tree_model_get(model, &iter, STATE_SELECTOR_NAME, &name, -1); return name; } static void trg_state_selector_update_serial(GtkTreeModel * model, - GtkTreeRowReference * rr, gint64 serial) { + GtkTreeRowReference * rr, + gint64 serial) +{ GtkTreeIter iter; GtkTreePath *path = gtk_tree_row_reference_get_path(rr); gtk_tree_model_get_iter(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, STATE_SELECTOR_SERIAL, - serial, -1); + serial, -1); gtk_tree_path_free(path); } -static void refresh_statelist_cb(GtkWidget * w, gpointer data) { +static void refresh_statelist_cb(GtkWidget * w, gpointer data) +{ trg_state_selector_update(TRG_STATE_SELECTOR(data)); } static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) { + gpointer data G_GNUC_UNUSED) +{ GtkWidget *menu, *item; menu = gtk_menu_new(); @@ -160,28 +173,31 @@ static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, item = gtk_image_menu_item_new_with_label(GTK_STOCK_REFRESH); 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); g_signal_connect(item, "activate", G_CALLBACK(refresh_statelist_cb), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 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 gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) { +static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) +{ view_popup_menu(treeview, NULL, userdata); return TRUE; } static gboolean view_onButtonPressed(GtkWidget * treeview, - GdkEventButton * event, gpointer userdata) { + GdkEventButton * event, + gpointer userdata) +{ if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - view_popup_menu(treeview, event, userdata); - return TRUE; + view_popup_menu(treeview, event, userdata); + return TRUE; } return FALSE; @@ -194,17 +210,21 @@ struct state_find_pos { const gchar *name; }; -static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel *model, - GtkTreePath *path, GtkTreeIter *iter, gpointer data) { - struct state_find_pos *args = (struct state_find_pos*) data; +static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model, + GtkTreePath * path, + GtkTreeIter * iter, + gpointer data) +{ + struct state_find_pos *args = (struct state_find_pos *) data; gchar *name; gboolean res; if (args->pos < args->offset) { - args->pos++; - return FALSE; - } else if (args->range >= 0 && args->pos > args->offset + args->range - 1) { - return TRUE; + args->pos++; + return FALSE; + } else if (args->range >= 0 + && args->pos > args->offset + args->range - 1) { + return TRUE; } gtk_tree_model_get(model, iter, STATE_SELECTOR_NAME, &name, -1); @@ -212,13 +232,15 @@ static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel *model, g_free(name); if (!res) - args->pos++; + args->pos++; return res; } -static void trg_state_selector_insert(TrgStateSelector *s, int offset, - gint range, const gchar *name, GtkTreeIter *iter) { +static void trg_state_selector_insert(TrgStateSelector * s, int offset, + gint range, const gchar * name, + GtkTreeIter * iter) +{ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s)); struct state_find_pos args; @@ -227,11 +249,13 @@ static void trg_state_selector_insert(TrgStateSelector *s, int offset, args.range = range; args.name = name; - gtk_tree_model_foreach(model, trg_state_selector_find_pos_foreach, &args); + gtk_tree_model_foreach(model, trg_state_selector_find_pos_foreach, + &args); gtk_list_store_insert(GTK_LIST_STORE(model), iter, args.pos); } -void trg_state_selector_update(TrgStateSelector * s) { +void trg_state_selector_update(TrgStateSelector * s) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s)); TrgClient *client = priv->client; @@ -246,88 +270,102 @@ void trg_state_selector_update(TrgStateSelector * s) { struct cruft_remove_args cruft; if (!trg_client_is_connected(client)) - return; + return; - torrentItemRefs = g_hash_table_get_values(trg_client_get_torrent_table(client)); + torrentItemRefs = + g_hash_table_get_values(trg_client_get_torrent_table(client)); for (li = torrentItemRefs; li; li = g_list_next(li)) { - JsonObject *t = NULL; - rr = (GtkTreeRowReference *) li->data; - path = gtk_tree_row_reference_get_path(rr); - torrentModel = gtk_tree_row_reference_get_model(rr); - - if (path) { - if (gtk_tree_model_get_iter(torrentModel, &torrentIter, path)) { - gtk_tree_model_get(torrentModel, &torrentIter, TORRENT_COLUMN_JSON, - &t, -1); - } - gtk_tree_path_free(path); - } - - if (!t) - continue; - - if (priv->showTrackers) { - trackersList - = json_array_get_elements(torrent_get_tracker_stats(t)); - for (trackerItem = trackersList; trackerItem; trackerItem - = g_list_next(trackerItem)) { - JsonObject *tracker = json_node_get_object( - (JsonNode *) trackerItem->data); - const gchar *announceUrl = tracker_stats_get_announce(tracker); - gchar *announceHost = trg_gregex_get_first(priv->urlHostRegex, - announceUrl); - - if (!announceHost) - continue; - - result = g_hash_table_lookup(priv->trackers, announceHost); - - if (result) { - trg_state_selector_update_serial(model, - (GtkTreeRowReference *) result, updateSerial); - g_free(announceHost); - } else { - trg_state_selector_insert(s, priv->n_categories, - g_hash_table_size(priv->trackers), announceHost, - &iter); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, - STATE_SELECTOR_ICON, GTK_STOCK_NETWORK, - STATE_SELECTOR_NAME, announceHost, - STATE_SELECTOR_SERIAL, updateSerial, - STATE_SELECTOR_BIT, FILTER_FLAG_TRACKER, - STATE_SELECTOR_INDEX, 0, -1); - g_hash_table_insert(priv->trackers, announceHost, - quick_tree_ref_new(model, &iter)); - } - } - g_list_free(trackersList); - } - - if (priv->showDirs) { - gchar *dir; - gtk_tree_model_get(torrentModel, &torrentIter, TORRENT_COLUMN_DOWNLOADDIR_SHORT, - &dir, -1); - - result = g_hash_table_lookup(priv->directories, dir); - if (result) { - trg_state_selector_update_serial(model, - (GtkTreeRowReference *) result, updateSerial); - } else { - trg_state_selector_insert(s, - priv->n_categories + g_hash_table_size(priv->trackers), -1, - dir, &iter); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, - STATE_SELECTOR_ICON, GTK_STOCK_DIRECTORY, - STATE_SELECTOR_NAME, dir, STATE_SELECTOR_SERIAL, - updateSerial, STATE_SELECTOR_BIT, FILTER_FLAG_DIR, - STATE_SELECTOR_INDEX, 0, -1); - g_hash_table_insert(priv->directories, g_strdup(dir), - quick_tree_ref_new(model, &iter)); - } - - g_free(dir); - } + JsonObject *t = NULL; + rr = (GtkTreeRowReference *) li->data; + path = gtk_tree_row_reference_get_path(rr); + torrentModel = gtk_tree_row_reference_get_model(rr); + + if (path) { + if (gtk_tree_model_get_iter(torrentModel, &torrentIter, path)) { + gtk_tree_model_get(torrentModel, &torrentIter, + TORRENT_COLUMN_JSON, &t, -1); + } + gtk_tree_path_free(path); + } + + if (!t) + continue; + + if (priv->showTrackers) { + trackersList + = json_array_get_elements(torrent_get_tracker_stats(t)); + for (trackerItem = trackersList; trackerItem; trackerItem + = g_list_next(trackerItem)) { + JsonObject *tracker = json_node_get_object((JsonNode *) + trackerItem-> + data); + const gchar *announceUrl = + tracker_stats_get_announce(tracker); + gchar *announceHost = + trg_gregex_get_first(priv->urlHostRegex, + announceUrl); + + if (!announceHost) + continue; + + result = g_hash_table_lookup(priv->trackers, announceHost); + + if (result) { + trg_state_selector_update_serial(model, + (GtkTreeRowReference + *) result, + updateSerial); + g_free(announceHost); + } else { + trg_state_selector_insert(s, priv->n_categories, + g_hash_table_size(priv-> + trackers), + announceHost, &iter); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + STATE_SELECTOR_ICON, + GTK_STOCK_NETWORK, + STATE_SELECTOR_NAME, announceHost, + STATE_SELECTOR_SERIAL, updateSerial, + STATE_SELECTOR_BIT, + FILTER_FLAG_TRACKER, + STATE_SELECTOR_INDEX, 0, -1); + g_hash_table_insert(priv->trackers, announceHost, + quick_tree_ref_new(model, &iter)); + } + } + g_list_free(trackersList); + } + + if (priv->showDirs) { + gchar *dir; + gtk_tree_model_get(torrentModel, &torrentIter, + TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dir, -1); + + result = g_hash_table_lookup(priv->directories, dir); + if (result) { + trg_state_selector_update_serial(model, + (GtkTreeRowReference *) + result, updateSerial); + } else { + trg_state_selector_insert(s, + priv->n_categories + + g_hash_table_size(priv-> + trackers), -1, + dir, &iter); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + STATE_SELECTOR_ICON, + GTK_STOCK_DIRECTORY, + STATE_SELECTOR_NAME, dir, + STATE_SELECTOR_SERIAL, updateSerial, + STATE_SELECTOR_BIT, FILTER_FLAG_DIR, + STATE_SELECTOR_INDEX, 0, -1); + g_hash_table_insert(priv->directories, g_strdup(dir), + quick_tree_ref_new(model, &iter)); + } + + g_free(dir); + } } g_list_free(torrentItemRefs); @@ -335,55 +373,68 @@ void trg_state_selector_update(TrgStateSelector * s) { cruft.serial = trg_client_get_serial(client); if (priv->showTrackers) { - cruft.table = priv->trackers; - g_hash_table_foreach_remove(priv->trackers, - trg_state_selector_remove_cruft, &cruft); + cruft.table = priv->trackers; + g_hash_table_foreach_remove(priv->trackers, + trg_state_selector_remove_cruft, + &cruft); } if (priv->showDirs) { - cruft.table = priv->directories; - g_hash_table_foreach_remove(priv->directories, - trg_state_selector_remove_cruft, &cruft); + cruft.table = priv->directories; + g_hash_table_foreach_remove(priv->directories, + trg_state_selector_remove_cruft, + &cruft); } } -void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) { +void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); priv->showDirs = show; if (!show) - g_hash_table_remove_all(priv->directories); + g_hash_table_remove_all(priv->directories); else - trg_state_selector_update(s); + trg_state_selector_update(s); } -void trg_state_selector_set_show_trackers(TrgStateSelector * s, gboolean show) { +void trg_state_selector_set_show_trackers(TrgStateSelector * s, + gboolean show) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); priv->showTrackers = show; if (!show) - g_hash_table_remove_all(priv->trackers); + g_hash_table_remove_all(priv->trackers); else - trg_state_selector_update(s); + trg_state_selector_update(s); } -static void trg_state_selector_add_state(TrgStateSelector *selector, - GtkTreeIter * iter, gint pos, gchar * icon, gchar * name, guint32 flag) { - TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(selector); - GtkListStore *model = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(selector))); +static void trg_state_selector_add_state(TrgStateSelector * selector, + GtkTreeIter * iter, gint pos, + gchar * icon, gchar * name, + guint32 flag) +{ + TrgStateSelectorPrivate *priv = + TRG_STATE_SELECTOR_GET_PRIVATE(selector); + GtkListStore *model = + GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(selector))); if (pos < 0) - gtk_list_store_append(priv->store, iter); + gtk_list_store_append(priv->store, iter); else - gtk_list_store_insert(priv->store, iter, pos); + gtk_list_store_insert(priv->store, iter, pos); gtk_list_store_set(model, iter, STATE_SELECTOR_ICON, icon, - STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag, - STATE_SELECTOR_INDEX, - gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL) - 1, -1); + STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag, + STATE_SELECTOR_INDEX, + gtk_tree_model_iter_n_children(GTK_TREE_MODEL + (model), NULL) - 1, + -1); priv->n_categories++; } -static void remove_row_ref_and_free(GtkTreeRowReference * rr) { +static void remove_row_ref_and_free(GtkTreeRowReference * rr) +{ GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); GtkTreePath *path = gtk_tree_row_reference_get_path(rr); GtkTreeIter iter; @@ -394,43 +445,54 @@ static void remove_row_ref_and_free(GtkTreeRowReference * rr) { gtk_tree_row_reference_free(rr); } -void trg_state_selector_stats_update(TrgStateSelector * s, trg_torrent_model_update_stats *stats) +void trg_state_selector_stats_update(TrgStateSelector * s, + trg_torrent_model_update_stats * + stats) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeIter iter; if (stats->error > 0 && !priv->error_rr) { - trg_state_selector_add_state(s, &iter, priv->n_categories-1, GTK_STOCK_DIALOG_WARNING, - _("Error"), TORRENT_FLAG_ERROR); - priv->error_rr = quick_tree_ref_new(GTK_TREE_MODEL(priv->store), &iter); + trg_state_selector_add_state(s, &iter, priv->n_categories - 1, + GTK_STOCK_DIALOG_WARNING, _("Error"), + TORRENT_FLAG_ERROR); + priv->error_rr = + quick_tree_ref_new(GTK_TREE_MODEL(priv->store), &iter); } else if (stats->error < 1 && priv->error_rr) { - remove_row_ref_and_free(priv->error_rr); - priv->error_rr = NULL; - priv->n_categories--; + remove_row_ref_and_free(priv->error_rr); + priv->error_rr = NULL; + priv->n_categories--; } } -void trg_state_selector_disconnect(TrgStateSelector * s) { +void trg_state_selector_disconnect(TrgStateSelector * s) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); if (priv->error_rr) { - remove_row_ref_and_free(priv->error_rr); - priv->error_rr = NULL; - priv->n_categories--; + remove_row_ref_and_free(priv->error_rr); + priv->error_rr = NULL; + priv->n_categories--; } g_hash_table_remove_all(priv->trackers); g_hash_table_remove_all(priv->directories); } -static void trg_state_selector_init(TrgStateSelector * self) { +static void trg_state_selector_init(TrgStateSelector * self) +{ } -TrgStateSelector *trg_state_selector_new(TrgClient * client) { +TrgStateSelector *trg_state_selector_new(TrgClient * client) +{ return g_object_new(TRG_TYPE_STATE_SELECTOR, "client", client, NULL); } static GObject *trg_state_selector_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint + n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *object; TrgStateSelector *selector; TrgStateSelectorPrivate *priv; @@ -442,17 +504,20 @@ static GObject *trg_state_selector_constructor(GType type, GtkTreeSelection *selection; object = G_OBJECT_CLASS - (trg_state_selector_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_state_selector_parent_class)->constructor(type, + n_construct_properties, + construct_params); selector = TRG_STATE_SELECTOR(object); priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); priv->urlHostRegex = trg_uri_host_regex_new(); priv->trackers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, - (GDestroyNotify) remove_row_ref_and_free); - priv->directories = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, - (GDestroyNotify) remove_row_ref_and_free); + (GDestroyNotify) + remove_row_ref_and_free); + priv->directories = + g_hash_table_new_full(g_str_hash, g_str_equal, g_free, + (GDestroyNotify) remove_row_ref_and_free); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(object), FALSE); @@ -461,7 +526,8 @@ static GObject *trg_state_selector_constructor(GType type, renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); g_object_set(renderer, "stock-size", 4, NULL); - gtk_tree_view_column_set_attributes(column, renderer, "stock-id", 0, NULL); + gtk_tree_view_column_set_attributes(column, renderer, "stock-id", 0, + NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); @@ -469,29 +535,36 @@ static GObject *trg_state_selector_constructor(GType type, gtk_tree_view_append_column(GTK_TREE_VIEW(object), column); - store = priv->store = gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT64, G_TYPE_UINT); + store = priv->store = + gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT64, + G_TYPE_UINT); gtk_tree_view_set_model(GTK_TREE_VIEW(object), GTK_TREE_MODEL(store)); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_ABOUT, _("All"), 0); + trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_ABOUT, + _("All"), 0); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_DOWN, - _("Downloading"), TORRENT_FLAG_DOWNLOADING); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_MEDIA_REWIND, - _("Queue Down"), TORRENT_FLAG_DOWNLOADING_WAIT); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_UP, _("Seeding"), - TORRENT_FLAG_SEEDING); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_MEDIA_FORWARD, - _("Queue Up"), TORRENT_FLAG_SEEDING_WAIT); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_MEDIA_PAUSE, - _("Paused"), TORRENT_FLAG_PAUSED); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_APPLY, _("Complete"), - TORRENT_FLAG_COMPLETE); + _("Downloading"), + TORRENT_FLAG_DOWNLOADING); + trg_state_selector_add_state(selector, &iter, -1, + GTK_STOCK_MEDIA_REWIND, _("Queue Down"), + TORRENT_FLAG_DOWNLOADING_WAIT); + trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_UP, + _("Seeding"), TORRENT_FLAG_SEEDING); + trg_state_selector_add_state(selector, &iter, -1, + GTK_STOCK_MEDIA_FORWARD, _("Queue Up"), + TORRENT_FLAG_SEEDING_WAIT); + trg_state_selector_add_state(selector, &iter, -1, + GTK_STOCK_MEDIA_PAUSE, _("Paused"), + TORRENT_FLAG_PAUSED); + trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_APPLY, + _("Complete"), TORRENT_FLAG_COMPLETE); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_SELECT_ALL, - _("Incomplete"), TORRENT_FLAG_INCOMPLETE); - trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_NETWORK, _("Active"), - TORRENT_FLAG_ACTIVE); + _("Incomplete"), TORRENT_FLAG_INCOMPLETE); + trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_NETWORK, + _("Active"), TORRENT_FLAG_ACTIVE); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_REFRESH, - _("Checking"), TORRENT_FLAG_CHECKING_ANY); + _("Checking"), TORRENT_FLAG_CHECKING_ANY); trg_state_selector_add_state(selector, &iter, -1, NULL, NULL, 0); gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(object), TRUE); @@ -499,102 +572,125 @@ static GObject *trg_state_selector_constructor(GType type, selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(object)); g_signal_connect(G_OBJECT(selection), "changed", - G_CALLBACK(state_selection_changed), object); + G_CALLBACK(state_selection_changed), object); g_signal_connect(object, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(object, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); - gtk_tree_view_set_search_column(GTK_TREE_VIEW(object), STATE_SELECTOR_NAME); + gtk_tree_view_set_search_column(GTK_TREE_VIEW(object), + STATE_SELECTOR_NAME); index = trg_prefs_get_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); if (index > 0 && gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), - &iter, NULL, index)) { - GtkTreeSelection *selection = gtk_tree_view_get_selection( - GTK_TREE_VIEW(object)); - gtk_tree_selection_select_iter(selection, &iter); + &iter, NULL, index)) { + GtkTreeSelection *selection = + gtk_tree_view_get_selection(GTK_TREE_VIEW(object)); + gtk_tree_selection_select_iter(selection, &iter); } - priv->showDirs = trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, - TRG_PREFS_GLOBAL); - priv->showTrackers = trg_prefs_get_bool(priv->prefs, - TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL); + priv->showDirs = + trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, + TRG_PREFS_GLOBAL); + priv->showTrackers = + trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_TRACKERS, + TRG_PREFS_GLOBAL); return object; } -void trg_state_selector_set_queues_enabled(TrgStateSelector *s, gboolean enabled) +void trg_state_selector_set_queues_enabled(TrgStateSelector * s, + gboolean enabled) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s)); GtkTreeIter iter; if (enabled) { - trg_state_selector_add_state(s, &iter, 2, GTK_STOCK_MEDIA_REWIND, - _("Queue Down"), TORRENT_FLAG_DOWNLOADING_WAIT); - trg_state_selector_add_state(s, &iter, 4, GTK_STOCK_MEDIA_FORWARD, - _("Queue Up"), TORRENT_FLAG_SEEDING_WAIT); + trg_state_selector_add_state(s, &iter, 2, GTK_STOCK_MEDIA_REWIND, + _("Queue Down"), + TORRENT_FLAG_DOWNLOADING_WAIT); + trg_state_selector_add_state(s, &iter, 4, GTK_STOCK_MEDIA_FORWARD, + _("Queue Up"), + TORRENT_FLAG_SEEDING_WAIT); } else { - gtk_tree_model_iter_nth_child(model, &iter, NULL, 4); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_tree_model_iter_nth_child(model, &iter, NULL, 4); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - gtk_tree_model_iter_nth_child(model, &iter, NULL, 2); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_tree_model_iter_nth_child(model, &iter, NULL, 2); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - priv->n_categories -= 2; + priv->n_categories -= 2; } } static void trg_state_selector_get_property(GObject * object, - guint property_id, GValue * value, GParamSpec * pspec) { + guint property_id, + GValue * value, + GParamSpec * pspec) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_object(value, priv->client); - break; + g_value_set_object(value, priv->client); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } -static void trg_state_selector_set_property(GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) { +static void trg_state_selector_set_property(GObject * object, + guint prop_id, + const GValue * value, + GParamSpec * + pspec G_GNUC_UNUSED) +{ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); switch (prop_id) { case PROP_CLIENT: - priv->client = g_value_get_object(value); - priv->prefs = trg_client_get_prefs(priv->client); - break; + priv->client = g_value_get_object(value); + priv->prefs = trg_client_get_prefs(priv->client); + break; } } -static void trg_state_selector_class_init(TrgStateSelectorClass * klass) { +static void trg_state_selector_class_init(TrgStateSelectorClass * klass) +{ GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->constructor = trg_state_selector_constructor; object_class->set_property = trg_state_selector_set_property; object_class->get_property = trg_state_selector_get_property; signals[SELECTOR_STATE_CHANGED] = g_signal_new("torrent-state-changed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgStateSelectorClass, - torrent_state_changed), NULL, NULL, - g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT); - - g_object_class_install_property( - object_class, - PROP_CLIENT, - g_param_spec_object( - "client", - "Client", - "Client", - TRG_TYPE_CLIENT, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY - | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK - | G_PARAM_STATIC_BLURB)); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgStateSelectorClass, + torrent_state_changed), + NULL, NULL, + g_cclosure_marshal_VOID__UINT, + G_TYPE_NONE, 1, + G_TYPE_UINT); + + g_object_class_install_property(object_class, + PROP_CLIENT, + g_param_spec_object("client", + "Client", + "Client", + TRG_TYPE_CLIENT, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgStateSelectorPrivate)); } diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h index a2f6021..37d2f3a 100644 --- a/src/trg-state-selector.h +++ b/src/trg-state-selector.h @@ -55,7 +55,7 @@ typedef struct { GtkTreeViewClass parent_class; void (*torrent_state_changed) (TrgStateSelector * selector, - guint flag, gpointer data); + guint flag, gpointer data); } TrgStateSelectorClass; @@ -68,9 +68,12 @@ gchar *trg_state_selector_get_selected_text(TrgStateSelector * s); GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s); void trg_state_selector_disconnect(TrgStateSelector * s); void trg_state_selector_set_show_trackers(TrgStateSelector * s, - gboolean show); + gboolean show); void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show); -void trg_state_selector_set_queues_enabled(TrgStateSelector *s, gboolean enabled); -void trg_state_selector_stats_update(TrgStateSelector * s, trg_torrent_model_update_stats *stats); +void trg_state_selector_set_queues_enabled(TrgStateSelector * s, + gboolean enabled); +void trg_state_selector_stats_update(TrgStateSelector * s, + trg_torrent_model_update_stats * + stats); -#endif /* TRG_STATE_LIST_H_ */ +#endif /* TRG_STATE_LIST_H_ */ diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index 966b9d7..87aaf5d 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -57,7 +57,7 @@ struct _TrgStatsDialogPrivate { GtkWidget *tv; GtkListStore *model; GtkTreeRowReference *rr_up, *rr_down, *rr_files_added, - *rr_session_count, *rr_active, *rr_version; + *rr_session_count, *rr_active, *rr_version; }; static GObject *instance = NULL; @@ -66,39 +66,39 @@ static gboolean on_stats_reply(gpointer data); static void trg_stats_dialog_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } static void trg_stats_dialog_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { TrgStatsDialogPrivate *priv = TRG_STATS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_stats_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { gtk_widget_destroy(GTK_WIDGET(dlg)); instance = NULL; } static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * - model, gchar * name) + model, gchar * name) { GtkTreeIter iter; GtkTreePath *path; @@ -115,7 +115,7 @@ static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * } static void update_statistic(GtkTreeRowReference * rr, gchar * session, - gchar * cumulat) + gchar * cumulat) { GtkTreePath *path = gtk_tree_row_reference_get_path(rr); GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); @@ -124,7 +124,7 @@ static void update_statistic(GtkTreeRowReference * rr, gchar * session, gtk_tree_model_get_iter(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, STATCOL_SESSION, - session, STATCOL_CUMULAT, cumulat, -1); + session, STATCOL_CUMULAT, cumulat, -1); gtk_tree_path_free(path); } @@ -140,83 +140,86 @@ static JsonObject *get_cumulat_arg(JsonObject * args) } static void update_int_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; - g_snprintf(session_val, sizeof(session_val), "%"G_GINT64_FORMAT, - json_object_get_int_member(get_session_arg(args), jsonKey)); - g_snprintf(cumulat_val, sizeof(cumulat_val), "%"G_GINT64_FORMAT, - json_object_get_int_member(get_cumulat_arg(args), jsonKey)); + g_snprintf(session_val, sizeof(session_val), "%" G_GINT64_FORMAT, + json_object_get_int_member(get_session_arg(args), jsonKey)); + g_snprintf(cumulat_val, sizeof(cumulat_val), "%" G_GINT64_FORMAT, + json_object_get_int_member(get_cumulat_arg(args), jsonKey)); update_statistic(rr, session_val, cumulat_val); } static void update_size_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; trg_strlsize(cumulat_val, - json_object_get_int_member(get_cumulat_arg(args), - jsonKey)); + json_object_get_int_member(get_cumulat_arg(args), + jsonKey)); trg_strlsize(session_val, - json_object_get_int_member(get_session_arg(args), - jsonKey)); + json_object_get_int_member(get_session_arg(args), + jsonKey)); update_statistic(rr, session_val, cumulat_val); } static void update_time_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; tr_strltime_long(session_val, - json_object_get_int_member(get_session_arg(args), - jsonKey), - sizeof(session_val)); + json_object_get_int_member(get_session_arg(args), + jsonKey), + sizeof(session_val)); tr_strltime_long(cumulat_val, - json_object_get_int_member(get_cumulat_arg(args), - jsonKey), - sizeof(cumulat_val)); + json_object_get_int_member(get_cumulat_arg(args), + jsonKey), + sizeof(cumulat_val)); update_statistic(rr, session_val, cumulat_val); } static gboolean on_stats_reply(gpointer data) { - trg_response *response = (trg_response*)data; + trg_response *response = (trg_response *) data; TrgStatsDialogPrivate *priv; JsonObject *args; if (!TRG_IS_STATS_DIALOG(response->cb_data)) { - trg_response_free(response); - return FALSE; + trg_response_free(response); + return FALSE; } priv = TRG_STATS_DIALOG_GET_PRIVATE(response->cb_data); if (response->status == CURLE_OK) { - args = get_arguments(response->obj); - - char versionStr[32]; - g_snprintf(versionStr, sizeof(versionStr), "Transmission %s", trg_client_get_version_string(priv->client)); - update_statistic(priv->rr_version, versionStr, ""); - - update_size_stat(args, priv->rr_up, "uploadedBytes"); - update_size_stat(args, priv->rr_down, "downloadedBytes"); - update_int_stat(args, priv->rr_files_added, "filesAdded"); - update_int_stat(args, priv->rr_session_count, "sessionCount"); - update_time_stat(args, priv->rr_active, "secondsActive"); - - if (trg_client_is_connected(priv->client)) - g_timeout_add_seconds(STATS_UPDATE_INTERVAL, trg_update_stats_timerfunc, response->cb_data); + args = get_arguments(response->obj); + + char versionStr[32]; + g_snprintf(versionStr, sizeof(versionStr), "Transmission %s", + trg_client_get_version_string(priv->client)); + update_statistic(priv->rr_version, versionStr, ""); + + update_size_stat(args, priv->rr_up, "uploadedBytes"); + update_size_stat(args, priv->rr_down, "downloadedBytes"); + update_int_stat(args, priv->rr_files_added, "filesAdded"); + update_int_stat(args, priv->rr_session_count, "sessionCount"); + update_time_stat(args, priv->rr_active, "secondsActive"); + + if (trg_client_is_connected(priv->client)) + g_timeout_add_seconds(STATS_UPDATE_INTERVAL, + trg_update_stats_timerfunc, + response->cb_data); } else { - trg_error_dialog(GTK_WINDOW(data), response); + trg_error_dialog(GTK_WINDOW(data), response); } trg_response_free(response); @@ -228,21 +231,21 @@ static gboolean trg_update_stats_timerfunc(gpointer data) TrgStatsDialogPrivate *priv; if (TRG_IS_STATS_DIALOG(data)) { - priv = TRG_STATS_DIALOG_GET_PRIVATE(data); - dispatch_async(priv->client, session_stats(), on_stats_reply, - data); + priv = TRG_STATS_DIALOG_GET_PRIVATE(data); + dispatch_async(priv->client, session_stats(), on_stats_reply, + data); } return FALSE; } static void trg_stats_add_column(GtkTreeView * tv, gint index, - gchar * title, gint width) + gchar * title, gint width) { GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); GtkTreeViewColumn *column = - gtk_tree_view_column_new_with_attributes(title, renderer, - "text", index, NULL); + gtk_tree_view_column_new_with_attributes(title, renderer, + "text", index, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_fixed_width(column, width); @@ -250,65 +253,66 @@ static void trg_stats_add_column(GtkTreeView * tv, gint index, } static GObject *trg_stats_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GtkWidget *tv; GObject *obj = G_OBJECT_CLASS - (trg_stats_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_stats_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgStatsDialogPrivate *priv = TRG_STATS_DIALOG_GET_PRIVATE(obj); gtk_window_set_title(GTK_WINDOW(obj), _("Statistics")); gtk_window_set_transient_for(GTK_WINDOW(obj), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(obj), TRUE); gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_container_set_border_width(GTK_CONTAINER(obj), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(obj), GTK_RESPONSE_CLOSE); g_signal_connect(G_OBJECT(obj), - "response", G_CALLBACK(trg_stats_response_cb), NULL); + "response", G_CALLBACK(trg_stats_response_cb), NULL); priv->model = - gtk_list_store_new(STATCOL_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, - G_TYPE_STRING); + gtk_list_store_new(STATCOL_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING); priv->rr_version = - stats_dialog_add_statistic(priv->model, _("Version")); + stats_dialog_add_statistic(priv->model, _("Version")); priv->rr_down = - stats_dialog_add_statistic(priv->model, _("Download Total")); + stats_dialog_add_statistic(priv->model, _("Download Total")); priv->rr_up = - stats_dialog_add_statistic(priv->model, _("Upload Total")); + stats_dialog_add_statistic(priv->model, _("Upload Total")); priv->rr_files_added = - stats_dialog_add_statistic(priv->model, _("Files Added")); + stats_dialog_add_statistic(priv->model, _("Files Added")); priv->rr_session_count = - stats_dialog_add_statistic(priv->model, _("Session Count")); + stats_dialog_add_statistic(priv->model, _("Session Count")); priv->rr_active = - stats_dialog_add_statistic(priv->model, _("Time Active")); + stats_dialog_add_statistic(priv->model, _("Time Active")); tv = priv->tv = trg_tree_view_new(); gtk_widget_set_sensitive(tv, TRUE); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_STAT, _("Statistic"), - 200); + 200); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_SESSION, _("Session"), - 200); + 200); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_CUMULAT, - _("Cumulative"), 200); + _("Cumulative"), 200); gtk_tree_view_set_model(GTK_TREE_VIEW(tv), - GTK_TREE_MODEL(priv->model)); + GTK_TREE_MODEL(priv->model)); gtk_container_set_border_width(GTK_CONTAINER(tv), GUI_PAD); - gtk_box_pack_start(GTK_BOX(gtk_bin_get_child(GTK_BIN(obj))), tv, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(gtk_bin_get_child(GTK_BIN(obj))), tv, TRUE, + TRUE, 0); dispatch_async(priv->client, session_stats(), on_stats_reply, obj); @@ -326,27 +330,27 @@ static void trg_stats_dialog_class_init(TrgStatsDialogClass * klass) object_class->constructor = trg_stats_dialog_constructor; g_object_class_install_property(object_class, - PROP_PARENT, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", + TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void trg_stats_dialog_init(TrgStatsDialog * self) @@ -354,12 +358,12 @@ static void trg_stats_dialog_init(TrgStatsDialog * self) } TrgStatsDialog *trg_stats_dialog_get_instance(TrgMainWindow * parent, - TrgClient * client) + TrgClient * client) { if (instance == NULL) { - instance = g_object_new(TRG_TYPE_STATS_DIALOG, - "trg-client", client, - "parent-window", parent, NULL); + instance = g_object_new(TRG_TYPE_STATS_DIALOG, + "trg-client", client, + "parent-window", parent, NULL); } return TRG_STATS_DIALOG(instance); diff --git a/src/trg-stats-dialog.h b/src/trg-stats-dialog.h index ee0656e..06da1e7 100644 --- a/src/trg-stats-dialog.h +++ b/src/trg-stats-dialog.h @@ -50,7 +50,7 @@ typedef struct { GType trg_stats_dialog_get_type(void); TrgStatsDialog *trg_stats_dialog_get_instance(TrgMainWindow * parent, - TrgClient * client); + TrgClient * client); G_END_DECLS -#endif /* TRG_STATS_DIALOG_H_ */ +#endif /* TRG_STATS_DIALOG_H_ */ diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index 8e5725e..a6524ed 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -53,14 +53,14 @@ static void trg_status_bar_class_init(TrgStatusBarClass * klass) g_type_class_add_private(klass, sizeof(TrgStatusBarPrivate)); } -void trg_status_bar_clear_indicators(TrgStatusBar *sb) +void trg_status_bar_clear_indicators(TrgStatusBar * sb) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); gtk_label_set_text(GTK_LABEL(priv->free_lbl), ""); gtk_label_set_text(GTK_LABEL(priv->speed_lbl), ""); } -void trg_status_bar_reset(TrgStatusBar *sb) +void trg_status_bar_reset(TrgStatusBar * sb) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); trg_status_bar_clear_indicators(sb); @@ -70,7 +70,7 @@ void trg_status_bar_reset(TrgStatusBar *sb) static void trg_status_bar_init(TrgStatusBar * self) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(self); - gtk_container_set_border_width (GTK_CONTAINER(self), 2); + gtk_container_set_border_width(GTK_CONTAINER(self), 2); priv->info_lbl = gtk_label_new(_("Disconnected")); gtk_box_pack_start(GTK_BOX(self), priv->info_lbl, FALSE, TRUE, 0); @@ -83,7 +83,7 @@ static void trg_status_bar_init(TrgStatusBar * self) } void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg) + const gchar * msg) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); @@ -97,33 +97,33 @@ void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session) session_get_version(session, &version); statusMsg = - g_strdup_printf - (_("Connected to Transmission %g, getting torrents..."), version); + g_strdup_printf + (_("Connected to Transmission %g, getting torrents..."), version); g_message("%s", statusMsg); trg_status_bar_push_connection_msg(sb, statusMsg); g_free(statusMsg); } -void trg_status_bar_session_update(TrgStatusBar *sb, JsonObject *session) +void trg_status_bar_session_update(TrgStatusBar * sb, JsonObject * session) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); gint64 free = session_get_download_dir_free_space(session); gchar freeSpace[64]; if (free >= 0) { - gchar *freeSpaceString; - trg_strlsize(freeSpace, free); - freeSpaceString = g_strdup_printf(_("Free space: %s"), freeSpace); - gtk_label_set_text(GTK_LABEL(priv->free_lbl), freeSpaceString); - g_free(freeSpaceString); + gchar *freeSpaceString; + trg_strlsize(freeSpace, free); + freeSpaceString = g_strdup_printf(_("Free space: %s"), freeSpace); + gtk_label_set_text(GTK_LABEL(priv->free_lbl), freeSpaceString); + g_free(freeSpaceString); } else { - gtk_label_set_text(GTK_LABEL(priv->free_lbl), ""); + gtk_label_set_text(GTK_LABEL(priv->free_lbl), ""); } } void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats, - TrgClient * client) + trg_torrent_model_update_stats * stats, + TrgClient * client) { TrgStatusBarPrivate *priv; JsonObject *session; @@ -137,46 +137,45 @@ void trg_status_bar_update(TrgStatusBar * sb, // The session should always exist otherwise this function wouldn't be called downlimitraw = - json_object_get_boolean_member(session, - SGET_SPEED_LIMIT_DOWN_ENABLED) ? - json_object_get_int_member(session, - SGET_SPEED_LIMIT_DOWN) : -1; + json_object_get_boolean_member(session, + SGET_SPEED_LIMIT_DOWN_ENABLED) ? + json_object_get_int_member(session, SGET_SPEED_LIMIT_DOWN) : -1; uplimitraw = - json_object_get_boolean_member(session, - SGET_SPEED_LIMIT_UP_ENABLED) ? - json_object_get_int_member(session, - SGET_SPEED_LIMIT_UP) : -1; + json_object_get_boolean_member(session, + SGET_SPEED_LIMIT_UP_ENABLED) ? + json_object_get_int_member(session, SGET_SPEED_LIMIT_UP) : -1; trg_strlspeed(downRateTotalString, - stats->downRateTotal / KILOBYTE_FACTOR); + stats->downRateTotal / KILOBYTE_FACTOR); trg_strlspeed(upRateTotalString, stats->upRateTotal / KILOBYTE_FACTOR); if (uplimitraw >= 0) { - gchar uplimitstring[32]; - trg_strlspeed(uplimitstring, uplimitraw); - g_snprintf(uplimit, sizeof(uplimit), _(" (Limit: %s)"), - uplimitstring); + gchar uplimitstring[32]; + trg_strlspeed(uplimitstring, uplimitraw); + g_snprintf(uplimit, sizeof(uplimit), _(" (Limit: %s)"), + uplimitstring); } if (downlimitraw >= 0) { - gchar downlimitstring[32]; - trg_strlspeed(downlimitstring, downlimitraw); - g_snprintf(downlimit, sizeof(downlimit), _(" (Limit: %s)"), - downlimitstring); + gchar downlimitstring[32]; + trg_strlspeed(downlimitstring, downlimitraw); + g_snprintf(downlimit, sizeof(downlimit), _(" (Limit: %s)"), + downlimitstring); } - speedText = g_strdup_printf(_("Down: %s%s, Up: %s%s"), downRateTotalString, - downlimitraw >= 0 ? downlimit : "", upRateTotalString, - uplimitraw >= 0 ? uplimit : ""); + speedText = + g_strdup_printf(_("Down: %s%s, Up: %s%s"), downRateTotalString, + downlimitraw >= 0 ? downlimit : "", + upRateTotalString, uplimitraw >= 0 ? uplimit : ""); infoText = - g_strdup_printf - (ngettext - ("%d torrent: %d seeding, %d downloading, %d paused", - "%d torrents: %d seeding, %d downloading, %d paused", - stats->count), stats->count, stats->seeding, stats->down, - stats->paused); + g_strdup_printf + (ngettext + ("%d torrent: %d seeding, %d downloading, %d paused", + "%d torrents: %d seeding, %d downloading, %d paused", + stats->count), stats->count, stats->seeding, stats->down, + stats->paused); gtk_label_set_text(GTK_LABEL(priv->info_lbl), infoText); gtk_label_set_text(GTK_LABEL(priv->speed_lbl), speedText); @@ -185,7 +184,7 @@ void trg_status_bar_update(TrgStatusBar * sb, g_free(infoText); } -const gchar *trg_status_bar_get_speed_text(TrgStatusBar *s) +const gchar *trg_status_bar_get_speed_text(TrgStatusBar * s) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(s); return gtk_label_get_text(GTK_LABEL(priv->speed_lbl)); diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index d6f0557..fad907b 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -51,14 +51,15 @@ TrgStatusBar *trg_status_bar_new(); G_END_DECLS void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats, - TrgClient * client); -void trg_status_bar_session_update(TrgStatusBar *sb, JsonObject *session); + trg_torrent_model_update_stats * stats, + TrgClient * client); +void trg_status_bar_session_update(TrgStatusBar * sb, + JsonObject * session); void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session); void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg); -void trg_status_bar_reset(TrgStatusBar *sb); -void trg_status_bar_clear_indicators(TrgStatusBar *sb); -const gchar *trg_status_bar_get_speed_text(TrgStatusBar *s); + const gchar * msg); +void trg_status_bar_reset(TrgStatusBar * sb); +void trg_status_bar_clear_indicators(TrgStatusBar * sb); +const gchar *trg_status_bar_get_speed_text(TrgStatusBar * s); -#endif /* TRG_STATUS_BAR_H_ */ +#endif /* TRG_STATUS_BAR_H_ */ diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index 722037c..1c28c74 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -67,124 +67,127 @@ struct _TrgToolbarPrivate { static void trg_toolbar_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { - TrgToolbarPrivate *priv = - TRG_TOOLBAR_GET_PRIVATE(object); + TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(object); switch (prop_id) { case PROP_PREFS: - priv->prefs = g_value_get_pointer(value); - break; + priv->prefs = g_value_get_pointer(value); + break; case PROP_MAIN_WINDOW: - priv->main_window = g_value_get_object(value); - break; + priv->main_window = g_value_get_object(value); + break; } } static void trg_toolbar_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(object); switch (property_id) { case PROP_CONNECT_BUTTON: - g_value_set_object(value, priv->tb_connect); - break; + g_value_set_object(value, priv->tb_connect); + break; case PROP_DISCONNECT_BUTTON: - g_value_set_object(value, priv->tb_disconnect); - break; + g_value_set_object(value, priv->tb_disconnect); + break; case PROP_ADD_BUTTON: - g_value_set_object(value, priv->tb_add); - break; + g_value_set_object(value, priv->tb_add); + break; /* case PROP_ADD_URL_BUTTON: g_value_set_object(value, priv->tb_add_url); break;*/ case PROP_REMOVE_BUTTON: - g_value_set_object(value, priv->tb_remove); - break; + g_value_set_object(value, priv->tb_remove); + break; case PROP_DELETE_BUTTON: - g_value_set_object(value, priv->tb_delete); - break; + g_value_set_object(value, priv->tb_delete); + break; case PROP_RESUME_BUTTON: - g_value_set_object(value, priv->tb_resume); - break; + g_value_set_object(value, priv->tb_resume); + break; case PROP_PAUSE_BUTTON: - g_value_set_object(value, priv->tb_pause); - break; - /*case PROP_VERIFY_BUTTON: - g_value_set_object(value, priv->tb_verify); - break; */ + g_value_set_object(value, priv->tb_pause); + break; + /*case PROP_VERIFY_BUTTON: + g_value_set_object(value, priv->tb_verify); + break; */ case PROP_PROPS_BUTTON: - g_value_set_object(value, priv->tb_props); - break; + g_value_set_object(value, priv->tb_props); + break; case PROP_REMOTE_PREFS_BUTTON: - g_value_set_object(value, priv->tb_remote_prefs); - break; + g_value_set_object(value, priv->tb_remote_prefs); + break; case PROP_LOCAL_PREFS_BUTTON: - g_value_set_object(value, priv->tb_local_prefs); - break; + g_value_set_object(value, priv->tb_local_prefs); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_toolbar_install_widget_prop(GObjectClass * class, guint propId, - const gchar * name, const gchar * nick) + const gchar * name, const gchar * nick) { g_object_class_install_property(class, - propId, - g_param_spec_object(name, - nick, - nick, - GTK_TYPE_WIDGET, - G_PARAM_READABLE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + propId, + g_param_spec_object(name, + nick, + nick, + GTK_TYPE_WIDGET, + G_PARAM_READABLE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } GtkWidget *trg_toolbar_item_new(TrgToolbar * toolbar, - gchar * text, - int *index, gchar * icon, - gboolean sensitive) + gchar * text, + int *index, gchar * icon, + gboolean sensitive) { GtkToolItem *w = gtk_tool_button_new_from_stock(icon); gtk_widget_set_sensitive(GTK_WIDGET(w), sensitive); - gtk_tool_item_set_tooltip_text (w,text); + gtk_tool_item_set_tooltip_text(w, text); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), w, (*index)++); return GTK_WIDGET(w); } -static void trg_toolbar_refresh_menu(GtkWidget *w, gpointer data) +static void trg_toolbar_refresh_menu(GtkWidget * w, gpointer data) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(data); - GtkWidget *old = gtk_menu_tool_button_get_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect)); - GtkWidget *new = trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + GtkWidget *old = + gtk_menu_tool_button_get_menu(GTK_MENU_TOOL_BUTTON + (priv->tb_connect)); + GtkWidget *new = + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); gtk_widget_destroy(old); - gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect), new); + gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect), + new); gtk_widget_show_all(new); } static GObject *trg_toolbar_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *obj = G_OBJECT_CLASS - (trg_toolbar_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_toolbar_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(obj); GtkToolItem *separator; @@ -192,26 +195,31 @@ static GObject *trg_toolbar_constructor(GType type, int position = 0; gtk_toolbar_set_icon_size(GTK_TOOLBAR(obj), - GTK_ICON_SIZE_LARGE_TOOLBAR); + GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_toolbar_set_style(GTK_TOOLBAR(obj), GTK_TOOLBAR_ICONS); //priv->tb_connect = - /*trg_toolbar_item_new(self, _("Connect"), &position, - GTK_STOCK_CONNECT, TRUE);*/ - - priv->tb_connect = GTK_WIDGET(gtk_menu_tool_button_new_from_stock(GTK_STOCK_CONNECT)); - gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(priv->tb_connect), _("Connect")); - menu = trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); - gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect), menu); - gtk_toolbar_insert(GTK_TOOLBAR(obj), GTK_TOOL_ITEM(priv->tb_connect), position++); + /*trg_toolbar_item_new(self, _("Connect"), &position, + GTK_STOCK_CONNECT, TRUE); */ + + priv->tb_connect = + GTK_WIDGET(gtk_menu_tool_button_new_from_stock(GTK_STOCK_CONNECT)); + gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(priv->tb_connect), + _("Connect")); + menu = + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect), + menu); + gtk_toolbar_insert(GTK_TOOLBAR(obj), GTK_TOOL_ITEM(priv->tb_connect), + position++); gtk_widget_show_all(menu); priv->tb_disconnect = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Disconnect"), &position, - GTK_STOCK_DISCONNECT, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Disconnect"), &position, + GTK_STOCK_DISCONNECT, FALSE); priv->tb_add = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Add"), &position, GTK_STOCK_ADD, - FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Add"), &position, + GTK_STOCK_ADD, FALSE); /*priv->tb_add_url = trg_toolbar_item_new(self, "Add URL", 3, GTK_STOCK_ADD, FALSE); */ @@ -220,23 +228,23 @@ static GObject *trg_toolbar_constructor(GType type, gtk_toolbar_insert(GTK_TOOLBAR(obj), separator, position++); priv->tb_resume = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Resume"), &position, - GTK_STOCK_MEDIA_PLAY, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Resume"), &position, + GTK_STOCK_MEDIA_PLAY, FALSE); priv->tb_pause = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Pause"), &position, - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Pause"), &position, + GTK_STOCK_MEDIA_PAUSE, FALSE); priv->tb_props = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Properties"), &position, - GTK_STOCK_PROPERTIES, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Properties"), &position, + GTK_STOCK_PROPERTIES, FALSE); priv->tb_remove = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove"), &position, - GTK_STOCK_REMOVE, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove"), &position, + GTK_STOCK_REMOVE, FALSE); priv->tb_delete = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove with data"), - &position, GTK_STOCK_CLEAR, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove with data"), + &position, GTK_STOCK_CLEAR, FALSE); /*priv->tb_verify = trg_toolbar_item_new(self, "Verify", 11, @@ -246,16 +254,17 @@ static GObject *trg_toolbar_constructor(GType type, gtk_toolbar_insert(GTK_TOOLBAR(obj), separator, position++); priv->tb_local_prefs = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Local Preferences"), &position, - GTK_STOCK_PREFERENCES, TRUE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Local Preferences"), + &position, GTK_STOCK_PREFERENCES, TRUE); priv->tb_remote_prefs = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remote Preferences"), - &position, GTK_STOCK_NETWORK, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remote Preferences"), + &position, GTK_STOCK_NETWORK, FALSE); gtk_toolbar_set_tooltips(GTK_TOOLBAR(obj), TRUE); - g_signal_connect(G_OBJECT(priv->prefs), "pref-profile-changed", G_CALLBACK(trg_toolbar_refresh_menu), obj); + g_signal_connect(G_OBJECT(priv->prefs), "pref-profile-changed", + G_CALLBACK(trg_toolbar_refresh_menu), obj); return obj; } @@ -268,62 +277,65 @@ static void trg_toolbar_class_init(TrgToolbarClass * klass) object_class->constructor = trg_toolbar_constructor; g_object_class_install_property(object_class, - PROP_PREFS, - g_param_spec_pointer("prefs", - "Prefs", - "Prefs", - G_PARAM_READWRITE | G_PARAM_CONSTRUCT - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PREFS, + g_param_spec_pointer("prefs", + "Prefs", + "Prefs", + G_PARAM_READWRITE + | + G_PARAM_CONSTRUCT + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, - PROP_MAIN_WINDOW, - g_param_spec_object("mainwindow", - "mainwindow", - "mainwindow", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MAIN_WINDOW, + g_param_spec_object("mainwindow", + "mainwindow", + "mainwindow", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); trg_toolbar_install_widget_prop(object_class, PROP_CONNECT_BUTTON, - "connect-button", "Connect Button"); + "connect-button", "Connect Button"); trg_toolbar_install_widget_prop(object_class, - PROP_DISCONNECT_BUTTON, - "disconnect-button", - "Disconnect Button"); + PROP_DISCONNECT_BUTTON, + "disconnect-button", + "Disconnect Button"); trg_toolbar_install_widget_prop(object_class, PROP_ADD_BUTTON, - "add-button", "Add Button"); + "add-button", "Add Button"); trg_toolbar_install_widget_prop(object_class, PROP_ADD_URL_BUTTON, - "add-url-button", "Add URL Button"); + "add-url-button", "Add URL Button"); trg_toolbar_install_widget_prop(object_class, PROP_REMOVE_BUTTON, - "remove-button", "Remove Button"); + "remove-button", "Remove Button"); trg_toolbar_install_widget_prop(object_class, PROP_DELETE_BUTTON, - "delete-button", "Delete Button"); + "delete-button", "Delete Button"); trg_toolbar_install_widget_prop(object_class, PROP_RESUME_BUTTON, - "resume-button", "Resume Button"); + "resume-button", "Resume Button"); trg_toolbar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, - "pause-button", "Pause Button"); + "pause-button", "Pause Button"); /*trg_toolbar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, "verify-button", "Verify Button"); */ trg_toolbar_install_widget_prop(object_class, PROP_PROPS_BUTTON, - "props-button", "Props Button"); + "props-button", "Props Button"); trg_toolbar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, - "remote-prefs-button", - "Remote Prefs Button"); + PROP_REMOTE_PREFS_BUTTON, + "remote-prefs-button", + "Remote Prefs Button"); trg_toolbar_install_widget_prop(object_class, - PROP_LOCAL_PREFS_BUTTON, - "local-prefs-button", - "Local Prefs Button"); + PROP_LOCAL_PREFS_BUTTON, + "local-prefs-button", + "Local Prefs Button"); g_type_class_add_private(klass, sizeof(TrgToolbarPrivate)); } @@ -340,7 +352,7 @@ void trg_toolbar_connected_change(TrgToolbar * tb, gboolean connected) } void trg_toolbar_torrent_actions_sensitive(TrgToolbar * tb, - gboolean sensitive) + gboolean sensitive) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(tb); @@ -357,10 +369,8 @@ static void trg_toolbar_init(TrgToolbar * self) //TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(self); } -TrgToolbar *trg_toolbar_new(TrgMainWindow *win, TrgPrefs *prefs) +TrgToolbar *trg_toolbar_new(TrgMainWindow * win, TrgPrefs * prefs) { return g_object_new(TRG_TYPE_TOOLBAR, - "prefs", prefs, - "mainwindow", win, - NULL); + "prefs", prefs, "mainwindow", win, NULL); } diff --git a/src/trg-toolbar.h b/src/trg-toolbar.h index 5e36503..cdbc199 100644 --- a/src/trg-toolbar.h +++ b/src/trg-toolbar.h @@ -49,11 +49,11 @@ typedef struct { GType trg_toolbar_get_type(void); -TrgToolbar *trg_toolbar_new(TrgMainWindow *win, TrgPrefs *prefs); +TrgToolbar *trg_toolbar_new(TrgMainWindow * win, TrgPrefs * prefs); G_END_DECLS void trg_toolbar_torrent_actions_sensitive(TrgToolbar * mb, - gboolean sensitive); + gboolean sensitive); void trg_toolbar_connected_change(TrgToolbar * tb, gboolean connected); -#endif /* TRG_TOOLBAR_H_ */ +#endif /* TRG_TOOLBAR_H_ */ diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index f06600e..a405556 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -86,85 +86,85 @@ struct _TrgTorrentAddDialogPrivate { static void trg_torrent_add_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_FILENAME: - priv->filenames = g_value_get_pointer(value); - break; + priv->filenames = g_value_get_pointer(value); + break; case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; } } static void trg_torrent_add_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_FILENAME: - g_value_set_pointer(value, priv->filenames); - break; + g_value_set_pointer(value, priv->filenames); + break; case PROP_PARENT: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; } } static void add_set_common_args(JsonObject * args, gint priority, - gchar * dir) + gchar * dir) { json_object_set_string_member(args, FIELD_FILE_DOWNLOAD_DIR, dir); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, - (gint64) priority); + (gint64) priority); } static gpointer add_files_threadfunc(gpointer data) { struct add_torrent_threadfunc_args *files_thread_data = - (struct add_torrent_threadfunc_args *) data; + (struct add_torrent_threadfunc_args *) data; GSList *li; for (li = files_thread_data->list; li; li = g_slist_next(li)) { - gchar *fileName = (gchar *) li->data; - JsonNode *request = - torrent_add(fileName, files_thread_data->flags); - JsonObject *args; - trg_response *response; + gchar *fileName = (gchar *) li->data; + JsonNode *request = + torrent_add(fileName, files_thread_data->flags); + JsonObject *args; + trg_response *response; - if (!request) - continue; + if (!request) + continue; - args = node_get_arguments(request); + args = node_get_arguments(request); - if (files_thread_data->extraArgs) - add_set_common_args(args, files_thread_data->priority, - files_thread_data->dir); + if (files_thread_data->extraArgs) + add_set_common_args(args, files_thread_data->priority, + files_thread_data->dir); - response = dispatch(files_thread_data->client, request); - response->cb_data = files_thread_data->cb_data; - g_idle_add(on_generic_interactive_action, response); + response = dispatch(files_thread_data->client, request); + response->cb_data = files_thread_data->cb_data; + g_idle_add(on_generic_interactive_action, response); } g_str_slist_free(files_thread_data->list); if (files_thread_data->extraArgs) - g_free(files_thread_data->dir); + g_free(files_thread_data->dir); g_free(files_thread_data); @@ -177,39 +177,39 @@ void launch_add_thread(struct add_torrent_threadfunc_args *args) g_thread_create(add_files_threadfunc, args, FALSE, &error); if (error) { - g_error("thread creation error: %s", error->message); - g_error_free(error); - g_str_slist_free(args->list); - g_free(args); + g_error("thread creation error: %s", error->message); + g_error_free(error); + g_str_slist_free(args->list); + g_free(args); } } static gboolean add_file_indexes_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonObject *args = (JsonObject *) data; gint priority, index, wanted; gtk_tree_model_get(model, iter, FC_PRIORITY, &priority, - FC_ENABLED, &wanted, FC_INDEX, &index, -1); + FC_ENABLED, &wanted, FC_INDEX, &index, -1); if (gtk_tree_model_iter_has_child(model, iter)) - return FALSE; + return FALSE; if (wanted) - add_file_id_to_array(args, FIELD_FILES_WANTED, index); + add_file_id_to_array(args, FIELD_FILES_WANTED, index); else - add_file_id_to_array(args, FIELD_FILES_UNWANTED, index); + add_file_id_to_array(args, FIELD_FILES_UNWANTED, index); if (priority == TR_PRI_LOW) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, index); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, index); else if (priority == TR_PRI_HIGH) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, index); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, index); else - add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, index); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, index); return FALSE; } @@ -218,50 +218,54 @@ static void trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, gpointer data) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg); guint flags = 0x00; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv->paused_check))) - flags |= TORRENT_ADD_FLAG_PAUSED; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv->delete_check))) - flags |= TORRENT_ADD_FLAG_DELETE; + if (gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(priv->paused_check))) + flags |= TORRENT_ADD_FLAG_PAUSED; + if (gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(priv->delete_check))) + flags |= TORRENT_ADD_FLAG_DELETE; if (res_id == GTK_RESPONSE_ACCEPT) { - gint priority = - gtk_combo_box_get_active(GTK_COMBO_BOX(priv->priority_combo)) - - 1; - gchar *dir = - trg_destination_combo_get_dir(TRG_DESTINATION_COMBO(priv->dest_combo)); - - if (g_slist_length(priv->filenames) == 1) { - JsonNode *req = - torrent_add((gchar *) priv->filenames->data, flags); - if (req) { - JsonObject *args = node_get_arguments(req); - gtk_tree_model_foreach(GTK_TREE_MODEL(priv->store), - add_file_indexes_foreachfunc, args); - add_set_common_args(args, priority, dir); - dispatch_async(priv->client, req, - on_generic_interactive_action, priv->parent); - } - g_str_slist_free(priv->filenames); - } else { - struct add_torrent_threadfunc_args *args = - g_new(struct add_torrent_threadfunc_args, 1); - args->list = priv->filenames; - args->cb_data = priv->parent; - args->client = priv->client; - args->dir = g_strdup(dir); - args->priority = priority; - args->flags = flags; - args->extraArgs = TRUE; - - launch_add_thread(args); - } - - g_free(dir); + gint priority = + gtk_combo_box_get_active(GTK_COMBO_BOX(priv->priority_combo)) - + 1; + gchar *dir = + trg_destination_combo_get_dir(TRG_DESTINATION_COMBO + (priv->dest_combo)); + + if (g_slist_length(priv->filenames) == 1) { + JsonNode *req = + torrent_add((gchar *) priv->filenames->data, flags); + if (req) { + JsonObject *args = node_get_arguments(req); + gtk_tree_model_foreach(GTK_TREE_MODEL(priv->store), + add_file_indexes_foreachfunc, args); + add_set_common_args(args, priority, dir); + dispatch_async(priv->client, req, + on_generic_interactive_action, + priv->parent); + } + g_str_slist_free(priv->filenames); + } else { + struct add_torrent_threadfunc_args *args = + g_new(struct add_torrent_threadfunc_args, 1); + args->list = priv->filenames; + args->cb_data = priv->parent; + args->client = priv->client; + args->dir = g_strdup(dir); + args->priority = priority; + args->flags = flags; + args->extraArgs = TRUE; + + launch_add_thread(args); + } + + g_free(dir); } else { - g_str_slist_free(priv->filenames); + g_str_slist_free(priv->filenames); } gtk_widget_destroy(GTK_WIDGET(dlg)); @@ -269,40 +273,40 @@ trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, gpointer data) static void renderPriority(GtkTreeViewColumn * column G_GNUC_UNUSED, - GtkCellRenderer * renderer, - GtkTreeModel * model, - GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) + GtkCellRenderer * renderer, + GtkTreeModel * model, + GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) { int priority; const char *text; gtk_tree_model_get(model, iter, FC_PRIORITY, &priority, -1); switch (priority) { case TR_PRI_HIGH: - text = _("High"); - break; + text = _("High"); + break; case TR_PRI_NORMAL: - text = _("Normal"); - break; + text = _("Normal"); + break; case TR_PRI_LOW: - text = _("Low"); - break; + text = _("Low"); + break; default: - text = _("Mixed"); - break; + text = _("Mixed"); + break; } g_object_set(renderer, "text", text, NULL); } static void renderDownload(GtkTreeViewColumn * column G_GNUC_UNUSED, - GtkCellRenderer * renderer, - GtkTreeModel * model, - GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) + GtkCellRenderer * renderer, + GtkTreeModel * model, + GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) { gint enabled; gtk_tree_model_get(model, iter, FC_ENABLED, &enabled, -1); g_object_set(renderer, "inconsistent", (enabled == MIXED), - "active", (enabled == TRUE), NULL); + "active", (enabled == TRUE), NULL); } struct SubtreeForeachData { @@ -313,116 +317,116 @@ struct SubtreeForeachData { static gboolean setSubtreeForeach(GtkTreeModel * model, - GtkTreePath * path, GtkTreeIter * iter, gpointer gdata) + GtkTreePath * path, GtkTreeIter * iter, gpointer gdata) { struct SubtreeForeachData *data = gdata; if (!gtk_tree_path_compare(path, data->path) - || gtk_tree_path_is_descendant(path, data->path)) { - gtk_tree_store_set(GTK_TREE_STORE(model), iter, data->column, - data->new_value, -1); + || gtk_tree_path_is_descendant(path, data->path)) { + gtk_tree_store_set(GTK_TREE_STORE(model), iter, data->column, + data->new_value, -1); } - return FALSE; /* keep walking */ + return FALSE; /* keep walking */ } static void setSubtree(GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter, - gint column, gint new_value) + gint column, gint new_value) { gint result = new_value; GtkTreeIter back_iter = *iter; if (gtk_tree_model_iter_has_child(model, iter)) { - struct SubtreeForeachData tmp; - GtkTreeIter parent; + struct SubtreeForeachData tmp; + GtkTreeIter parent; - tmp.column = column; - tmp.new_value = new_value; - tmp.path = path; - gtk_tree_model_foreach(model, setSubtreeForeach, &tmp); + tmp.column = column; + tmp.new_value = new_value; + tmp.path = path; + gtk_tree_model_foreach(model, setSubtreeForeach, &tmp); - gtk_tree_model_iter_parent(model, &parent, iter); + gtk_tree_model_iter_parent(model, &parent, iter); } else { - gtk_tree_store_set(GTK_TREE_STORE(model), &back_iter, column, - new_value, -1); + gtk_tree_store_set(GTK_TREE_STORE(model), &back_iter, column, + new_value, -1); } while (1) { - GtkTreeIter tmp_iter; - gint n_children, i; + GtkTreeIter tmp_iter; + gint n_children, i; - if (!gtk_tree_model_iter_parent(model, &tmp_iter, &back_iter)) - break; + if (!gtk_tree_model_iter_parent(model, &tmp_iter, &back_iter)) + break; - n_children = gtk_tree_model_iter_n_children(model, &tmp_iter); + n_children = gtk_tree_model_iter_n_children(model, &tmp_iter); - for (i = 0; i < n_children; i++) { - GtkTreeIter child; - gint current_value; + for (i = 0; i < n_children; i++) { + GtkTreeIter child; + gint current_value; - if (!gtk_tree_model_iter_nth_child - (model, &child, &tmp_iter, i)) - continue; + if (!gtk_tree_model_iter_nth_child + (model, &child, &tmp_iter, i)) + continue; - gtk_tree_model_get(model, &child, column, ¤t_value, -1); - if (current_value != new_value) { - result = MIXED; - break; - } - } + gtk_tree_model_get(model, &child, column, ¤t_value, -1); + if (current_value != new_value) { + result = MIXED; + break; + } + } - gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, column, - result, -1); + gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, column, + result, -1); - back_iter = tmp_iter; + back_iter = tmp_iter; } } static gboolean onViewPathToggled(GtkTreeView * view, - GtkTreeViewColumn * col, - GtkTreePath * path, gpointer data) + GtkTreeViewColumn * col, + GtkTreePath * path, gpointer data) { int cid; gboolean handled = FALSE; if (!col || !path) - return FALSE; + return FALSE; cid = - GPOINTER_TO_INT(g_object_get_data - (G_OBJECT(col), TR_COLUMN_ID_KEY)); + GPOINTER_TO_INT(g_object_get_data + (G_OBJECT(col), TR_COLUMN_ID_KEY)); if ((cid == FC_PRIORITY) || (cid == FC_ENABLED)) { - GtkTreeIter iter; - GtkTreeModel *model = gtk_tree_view_get_model(view); - - gtk_tree_model_get_iter(model, &iter, path); - - if (cid == FC_PRIORITY) { - int priority; - gtk_tree_model_get(model, &iter, FC_PRIORITY, &priority, -1); - switch (priority) { - case TR_PRI_NORMAL: - priority = TR_PRI_HIGH; - break; - case TR_PRI_HIGH: - priority = TR_PRI_LOW; - break; - default: - priority = TR_PRI_NORMAL; - break; - } - setSubtree(model, path, &iter, FC_PRIORITY, priority); - } else { - int enabled; - gtk_tree_model_get(model, &iter, FC_ENABLED, &enabled, -1); - enabled = !enabled; - - setSubtree(model, path, &iter, FC_ENABLED, enabled); - } - - handled = TRUE; + GtkTreeIter iter; + GtkTreeModel *model = gtk_tree_view_get_model(view); + + gtk_tree_model_get_iter(model, &iter, path); + + if (cid == FC_PRIORITY) { + int priority; + gtk_tree_model_get(model, &iter, FC_PRIORITY, &priority, -1); + switch (priority) { + case TR_PRI_NORMAL: + priority = TR_PRI_HIGH; + break; + case TR_PRI_HIGH: + priority = TR_PRI_LOW; + break; + default: + priority = TR_PRI_NORMAL; + break; + } + setSubtree(model, path, &iter, FC_PRIORITY, priority); + } else { + int enabled; + gtk_tree_model_get(model, &iter, FC_ENABLED, &enabled, -1); + enabled = !enabled; + + setSubtree(model, path, &iter, FC_ENABLED, enabled); + } + + handled = TRUE; } return handled; @@ -430,20 +434,20 @@ onViewPathToggled(GtkTreeView * view, static gboolean getAndSelectEventPath(GtkTreeView * treeview, - GdkEventButton * event, - GtkTreeViewColumn ** col, GtkTreePath ** path) + GdkEventButton * event, + GtkTreeViewColumn ** col, GtkTreePath ** path) { GtkTreeSelection *sel; if (gtk_tree_view_get_path_at_pos(treeview, - event->x, event->y, - path, col, NULL, NULL)) { - sel = gtk_tree_view_get_selection(treeview); - if (!gtk_tree_selection_path_is_selected(sel, *path)) { - gtk_tree_selection_unselect_all(sel); - gtk_tree_selection_select_path(sel, *path); - } - return TRUE; + event->x, event->y, + path, col, NULL, NULL)) { + sel = gtk_tree_view_get_selection(treeview); + if (!gtk_tree_selection_path_is_selected(sel, *path)) { + gtk_tree_selection_unselect_all(sel); + gtk_tree_selection_select_path(sel, *path); + } + return TRUE; } return FALSE; @@ -458,9 +462,9 @@ onViewButtonPressed(GtkWidget * w, GdkEventButton * event, gpointer gdata) GtkTreeView *treeview = GTK_TREE_VIEW(w); if (event->type == GDK_BUTTON_PRESS && event->button == 1 - && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) - && getAndSelectEventPath(treeview, event, &col, &path)) { - handled = onViewPathToggled(treeview, col, path, NULL); + && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) + && getAndSelectEventPath(treeview, event, &col, &path)) { + handled = onViewPathToggled(treeview, col, path, NULL); } gtk_tree_path_free(path); @@ -488,12 +492,12 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) gtk_tree_view_set_rules_hint(tree_view, TRUE); gtk_container_set_border_width(GTK_CONTAINER(view), GUI_PAD_BIG); g_signal_connect(view, "button-press-event", - G_CALLBACK(onViewButtonPressed), view); + G_CALLBACK(onViewButtonPressed), view); pango_context = gtk_widget_create_pango_context(view); pango_font_description = - pango_font_description_copy(pango_context_get_font_description - (pango_context)); + pango_font_description_copy(pango_context_get_font_description + (pango_context)); size = pango_font_description_get_size(pango_font_description); pango_font_description_set_size(pango_font_description, size * 0.8); g_object_unref(G_OBJECT(pango_context)); @@ -506,8 +510,8 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* add file column */ col = GTK_TREE_VIEW_COLUMN(g_object_new(GTK_TYPE_TREE_VIEW_COLUMN, - "expand", TRUE, - "title", _("Name"), NULL)); + "expand", TRUE, + "title", _("Name"), NULL)); gtk_tree_view_column_set_resizable(col, TRUE); rend = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(col, rend, FALSE); @@ -516,7 +520,7 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* add text renderer */ rend = gtk_cell_renderer_text_new(); g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, "font-desc", - pango_font_description, NULL); + pango_font_description, NULL); gtk_tree_view_column_pack_start(col, rend, TRUE); gtk_tree_view_column_set_attributes(col, rend, "text", FC_LABEL, NULL); gtk_tree_view_column_set_sort_column_id(col, FC_LABEL); @@ -527,29 +531,29 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) title = _("Size"); rend = trg_cell_renderer_size_new(); g_object_set(rend, "alignment", PANGO_ALIGN_RIGHT, - "font-desc", pango_font_description, - "xpad", GUI_PAD, "xalign", 1.0f, "yalign", 0.5f, NULL); + "font-desc", pango_font_description, + "xpad", GUI_PAD, "xalign", 1.0f, "yalign", 0.5f, NULL); col = gtk_tree_view_column_new_with_attributes(title, rend, NULL); gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_column_set_sort_column_id(col, FC_SIZE); gtk_tree_view_column_set_attributes(col, rend, "size-value", FC_SIZE, - NULL); + NULL); gtk_tree_view_append_column(tree_view, col); /* add "enabled" column */ title = _("Download"); pango_layout = gtk_widget_create_pango_layout(view, title); pango_layout_get_pixel_size(pango_layout, &width, NULL); - width += 30; /* room for the sort indicator */ + width += 30; /* room for the sort indicator */ g_object_unref(G_OBJECT(pango_layout)); rend = gtk_cell_renderer_toggle_new(); col = gtk_tree_view_column_new_with_attributes(title, rend, NULL); g_object_set_data(G_OBJECT(col), TR_COLUMN_ID_KEY, - GINT_TO_POINTER(FC_ENABLED)); + GINT_TO_POINTER(FC_ENABLED)); gtk_tree_view_column_set_fixed_width(col, width); gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_cell_data_func(col, rend, renderDownload, - NULL, NULL); + NULL, NULL); gtk_tree_view_column_set_sort_column_id(col, FC_ENABLED); gtk_tree_view_append_column(tree_view, col); @@ -557,27 +561,27 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) title = _("Priority"); pango_layout = gtk_widget_create_pango_layout(view, title); pango_layout_get_pixel_size(pango_layout, &width, NULL); - width += 30; /* room for the sort indicator */ + width += 30; /* room for the sort indicator */ g_object_unref(G_OBJECT(pango_layout)); rend = gtk_cell_renderer_text_new(); g_object_set(rend, "xalign", (gfloat) 0.5, "yalign", (gfloat) 0.5, - NULL); + NULL); col = gtk_tree_view_column_new_with_attributes(title, rend, NULL); g_object_set_data(G_OBJECT(col), TR_COLUMN_ID_KEY, - GINT_TO_POINTER(FC_PRIORITY)); + GINT_TO_POINTER(FC_PRIORITY)); gtk_tree_view_column_set_fixed_width(col, width); gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_sort_column_id(col, FC_PRIORITY); gtk_tree_view_column_set_cell_data_func(col, rend, renderPriority, - NULL, NULL); + NULL, NULL); gtk_tree_view_append_column(tree_view, col); - *store = gtk_tree_store_new(N_FILE_COLS, G_TYPE_STRING, /* icon */ - G_TYPE_UINT, /* index */ - G_TYPE_STRING, /* label */ - G_TYPE_INT64, /* size */ - G_TYPE_INT, /* priority */ - G_TYPE_INT); /* dl enabled */ + *store = gtk_tree_store_new(N_FILE_COLS, G_TYPE_STRING, /* icon */ + G_TYPE_UINT, /* index */ + G_TYPE_STRING, /* label */ + G_TYPE_INT64, /* size */ + G_TYPE_INT, /* priority */ + G_TYPE_INT); /* dl enabled */ gtk_tree_view_set_model(tree_view, GTK_TREE_MODEL(*store)); g_object_unref(G_OBJECT(*store)); @@ -585,10 +589,10 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* create the scrolled window and stick the view in it */ scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll), - GTK_SHADOW_IN); + GTK_SHADOW_IN); gtk_container_add(GTK_CONTAINER(scroll), view); gtk_widget_set_size_request(scroll, -1, 200); @@ -615,8 +619,8 @@ static void gtr_dialog_set_content(GtkDialog * dialog, GtkWidget * content) GtkWidget *gtr_priority_combo_new(void) { return gtr_combo_box_new_enum(_("Low"), TR_PRI_LOW, - _("Normal"), TR_PRI_NORMAL, - _("High"), TR_PRI_HIGH, NULL); + _("Normal"), TR_PRI_NORMAL, + _("High"), TR_PRI_HIGH, NULL); } static void addTorrentFilters(GtkFileChooser * chooser) @@ -635,181 +639,184 @@ static void addTorrentFilters(GtkFileChooser * chooser) } static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent, - trg_torrent_file_node * node) + trg_torrent_file_node * node) { GtkTreeIter child; GList *li; if (node->name) { - gtk_tree_store_append(store, &child, parent); - gtk_tree_store_set(store, &child, FC_LABEL, node->name, -1); - gtk_tree_store_set(store, &child, FC_ICON, - node->children ? GTK_STOCK_DIRECTORY : - GTK_STOCK_FILE, -1); - gtk_tree_store_set(store, &child, FC_ENABLED, 1, -1); - if (!node->children) { - gtk_tree_store_set(store, &child, FC_INDEX, node->index, -1); - gtk_tree_store_set(store, &child, FC_SIZE, node->length, -1); - gtk_tree_store_set(store, &child, FC_PRIORITY, 0, -1); - } + gtk_tree_store_append(store, &child, parent); + gtk_tree_store_set(store, &child, FC_LABEL, node->name, -1); + gtk_tree_store_set(store, &child, FC_ICON, + node->children ? GTK_STOCK_DIRECTORY : + GTK_STOCK_FILE, -1); + gtk_tree_store_set(store, &child, FC_ENABLED, 1, -1); + if (!node->children) { + gtk_tree_store_set(store, &child, FC_INDEX, node->index, -1); + gtk_tree_store_set(store, &child, FC_SIZE, node->length, -1); + gtk_tree_store_set(store, &child, FC_PRIORITY, 0, -1); + } } for (li = node->children; li; li = g_list_next(li)) - store_add_node(store, node->name ? &child : NULL, - (trg_torrent_file_node *) li->data); + store_add_node(store, node->name ? &child : NULL, + (trg_torrent_file_node *) li->data); } static void torrent_not_parsed_warning(GtkWindow * parent) { GtkWidget *dialog = - gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, - _ - ("Unable to parse torrent file. File preferences unavailable, but you can still try uploading it.")); + gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, + _ + ("Unable to parse torrent file. File preferences unavailable, but you can still try uploading it.")); gtk_window_set_transient_for(GTK_WINDOW(dialog), parent); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } -static void torrent_not_found_error(GtkWindow * parent, gchar *file) +static void torrent_not_found_error(GtkWindow * parent, gchar * file) { GtkWidget *dialog = - gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - _ - ("Unable to open torrent file: %s"), file); + gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, + _("Unable to open torrent file: %s"), file); gtk_window_set_transient_for(GTK_WINDOW(dialog), parent); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, - GSList * filenames) + GSList * filenames) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d); GtkButton *chooser = GTK_BUTTON(priv->source_chooser); gint nfiles = filenames ? g_slist_length(filenames) : 0; gtk_tree_store_clear(priv->store); if (nfiles == 1) { - gchar *file_name = (gchar *) filenames->data; - if (is_url(file_name) || is_magnet(file_name)) { - gtk_button_set_label(chooser, file_name); - gtk_widget_set_sensitive(priv->file_list, FALSE); - gtk_widget_set_sensitive(priv->delete_check, FALSE); - } else { - gchar *file_name_base; - trg_torrent_file *tor_data = NULL; - - file_name_base = g_path_get_basename(file_name); - - if (file_name_base) { - gtk_button_set_label(chooser, file_name_base); - g_free(file_name_base); - } else { - gtk_button_set_label(chooser, file_name); - } - - if (g_file_test(file_name, G_FILE_TEST_IS_REGULAR)) - { - tor_data = trg_parse_torrent_file(file_name); - if (!tor_data) { - torrent_not_parsed_warning(GTK_WINDOW(priv->parent)); - } else { - store_add_node(priv->store, NULL, tor_data->top_node); - trg_torrent_file_free(tor_data); - } - } else { - torrent_not_found_error(GTK_WINDOW(priv->parent), file_name); - } - - gtk_widget_set_sensitive(priv->file_list, tor_data != NULL); - } + gchar *file_name = (gchar *) filenames->data; + if (is_url(file_name) || is_magnet(file_name)) { + gtk_button_set_label(chooser, file_name); + gtk_widget_set_sensitive(priv->file_list, FALSE); + gtk_widget_set_sensitive(priv->delete_check, FALSE); + } else { + gchar *file_name_base; + trg_torrent_file *tor_data = NULL; + + file_name_base = g_path_get_basename(file_name); + + if (file_name_base) { + gtk_button_set_label(chooser, file_name_base); + g_free(file_name_base); + } else { + gtk_button_set_label(chooser, file_name); + } + + if (g_file_test(file_name, G_FILE_TEST_IS_REGULAR)) { + tor_data = trg_parse_torrent_file(file_name); + if (!tor_data) { + torrent_not_parsed_warning(GTK_WINDOW(priv->parent)); + } else { + store_add_node(priv->store, NULL, tor_data->top_node); + trg_torrent_file_free(tor_data); + } + } else { + torrent_not_found_error(GTK_WINDOW(priv->parent), + file_name); + } + + gtk_widget_set_sensitive(priv->file_list, tor_data != NULL); + } } else { - gtk_widget_set_sensitive(priv->file_list, FALSE); - if (nfiles < 1) { - gtk_button_set_label(chooser, _("(None)")); - } else { - gtk_button_set_label(chooser, _("(Multiple)")); - } + gtk_widget_set_sensitive(priv->file_list, FALSE); + if (nfiles < 1) { + gtk_button_set_label(chooser, _("(None)")); + } else { + gtk_button_set_label(chooser, _("(Multiple)")); + } } priv->filenames = filenames; } static void trg_torrent_add_dialog_generic_save_dir(GtkFileChooser * c, - TrgPrefs *prefs) + TrgPrefs * prefs) { gchar *cwd = gtk_file_chooser_get_current_folder(c); if (cwd) { - trg_prefs_set_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, cwd, TRG_PREFS_GLOBAL); - g_free(cwd); + trg_prefs_set_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, cwd, + TRG_PREFS_GLOBAL); + g_free(cwd); } } static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent, - TrgPrefs * prefs) + TrgPrefs * prefs) { GtkWidget *w = gtk_file_chooser_dialog_new(_("Add a Torrent"), parent, - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_ADD, - GTK_RESPONSE_ACCEPT, - NULL); + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, + GTK_RESPONSE_CANCEL, + GTK_STOCK_ADD, + GTK_RESPONSE_ACCEPT, + NULL); gchar *dir = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, TRG_PREFS_GLOBAL); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, + TRG_PREFS_GLOBAL); if (dir) { - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir); - g_free(dir); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir); + g_free(dir); } addTorrentFilters(GTK_FILE_CHOOSER(w)); gtk_dialog_set_alternative_button_order(GTK_DIALOG(w), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(w), TRUE); return w; } static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w, - gpointer data) + gpointer data) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data); GtkWidget *d = trg_torrent_add_dialog_generic(GTK_WINDOW(data), - trg_client_get_prefs(priv->client)); + trg_client_get_prefs + (priv->client)); if (gtk_dialog_run(GTK_DIALOG(d)) == GTK_RESPONSE_ACCEPT) { - if (priv->filenames) - g_str_slist_free(priv->filenames); + if (priv->filenames) + g_str_slist_free(priv->filenames); - priv->filenames = - gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d)); + priv->filenames = + gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d)); - trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(d), - trg_client_get_prefs(priv->client)); - trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(data), - priv->filenames); + trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(d), + trg_client_get_prefs(priv-> + client)); + trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(data), + priv->filenames); } gtk_widget_destroy(GTK_WIDGET(d)); } static GObject *trg_torrent_add_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *obj = G_OBJECT_CLASS - (trg_torrent_add_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_add_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj); TrgPrefs *prefs = trg_client_get_prefs(priv->client); GtkWidget *t, *l; @@ -819,17 +826,17 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, /* window */ gtk_window_set_title(GTK_WINDOW(obj), _("Add Torrent")); gtk_window_set_transient_for(GTK_WINDOW(obj), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(obj), TRUE); /* buttons */ gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_OPEN, - GTK_RESPONSE_ACCEPT); + GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(obj), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response(GTK_DIALOG(obj), GTK_RESPONSE_ACCEPT); /* workspace */ @@ -842,13 +849,19 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, gtk_widget_set_sensitive(priv->file_list, FALSE); priv->paused_check = - gtk_check_button_new_with_mnemonic(_("Start _paused")); + gtk_check_button_new_with_mnemonic(_("Start _paused")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->paused_check), - trg_prefs_get_bool(prefs, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_START_PAUSED, + TRG_PREFS_GLOBAL)); - priv->delete_check = gtk_check_button_new_with_mnemonic(_("Delete local .torrent file after adding")); + priv->delete_check = + gtk_check_button_new_with_mnemonic(_ + ("Delete local .torrent file after adding")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->delete_check), - trg_prefs_get_bool(prefs, TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, + TRG_PREFS_GLOBAL)); priv->priority_combo = gtr_priority_combo_new(); gtk_combo_box_set_active(GTK_COMBO_BOX(priv->priority_combo), 1); @@ -856,68 +869,68 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, l = gtk_label_new_with_mnemonic(_("_Torrent file:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++col; priv->source_chooser = gtk_button_new(); gtk_button_set_alignment(GTK_BUTTON(priv->source_chooser), 0.0f, 0.5f); trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(obj), - priv->filenames); + priv->filenames); gtk_table_attach(GTK_TABLE(t), priv->source_chooser, col, col + 1, row, - row + 1, ~0, 0, 0, 0); + row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->source_chooser); g_signal_connect(priv->source_chooser, "clicked", - G_CALLBACK(trg_torrent_add_dialog_source_click_cb), - obj); + G_CALLBACK(trg_torrent_add_dialog_source_click_cb), + obj); ++row; col = 0; l = gtk_label_new_with_mnemonic(_("_Destination folder:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++col; priv->dest_combo = trg_destination_combo_new(priv->client, NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(priv->dest_combo), 0); gtk_table_attach(GTK_TABLE(t), priv->dest_combo, col, col + 1, row, - row + 1, ~0, 0, 0, 0); + row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->dest_combo); ++row; col = 0; gtk_widget_set_size_request(priv->file_list, 466u, 300u); gtk_table_attach_defaults(GTK_TABLE(t), priv->file_list, col, col + 2, - row, row + 1); + row, row + 1); ++row; col = 0; l = gtk_label_new_with_mnemonic(_("Torrent _priority:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, ~0, 0, 0, - 0); + 0); ++col; gtk_table_attach(GTK_TABLE(t), priv->priority_combo, col, col + 1, row, - row + 1, ~0, 0, 0, 0); + row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->priority_combo); ++row; col = 0; gtk_table_attach(GTK_TABLE(t), priv->paused_check, col, col + 2, row, - row + 1, GTK_FILL, 0, 0, 0); + row + 1, GTK_FILL, 0, 0, 0); ++row; col = 0; gtk_table_attach(GTK_TABLE(t), priv->delete_check, col, col + 2, row, - row + 1, GTK_FILL, 0, 0, 0); + row + 1, GTK_FILL, 0, 0, 0); gtr_dialog_set_content(GTK_DIALOG(obj), t); g_signal_connect(G_OBJECT(obj), - "response", - G_CALLBACK(trg_torrent_add_response_cb), - priv->parent); + "response", + G_CALLBACK(trg_torrent_add_response_cb), + priv->parent); return obj; } @@ -934,48 +947,48 @@ trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass * klass) object_class->constructor = trg_torrent_add_dialog_constructor; g_object_class_install_property(object_class, - PROP_FILENAME, - g_param_spec_pointer("filenames", - "filenames", - "filenames", - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_FILENAME, + g_param_spec_pointer("filenames", + "filenames", + "filenames", + 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_CLIENT, - g_param_spec_pointer("client", - "client", - "client", - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_CLIENT, + g_param_spec_pointer("client", + "client", + "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_PARENT, - g_param_spec_object("parent", "parent", - "parent", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object("parent", "parent", + "parent", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self) @@ -983,12 +996,12 @@ static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self) } TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * parent, - TrgClient * client, - GSList * filenames) + TrgClient * client, + GSList * filenames) { return g_object_new(TRG_TYPE_TORRENT_ADD_DIALOG, - "filenames", filenames, - "parent", parent, "client", client, NULL); + "filenames", filenames, + "parent", parent, "client", client, NULL); } void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client) @@ -1001,36 +1014,38 @@ void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client) c = gtk_check_button_new_with_mnemonic(_("Show _options dialog")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(c), - trg_prefs_get_bool(prefs, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, + TRG_PREFS_GLOBAL)); gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(w), c); if (gtk_dialog_run(GTK_DIALOG(w)) == GTK_RESPONSE_ACCEPT) { - GtkFileChooser *chooser = GTK_FILE_CHOOSER(w); - GtkToggleButton *tb = - GTK_TOGGLE_BUTTON(gtk_file_chooser_get_extra_widget(chooser)); - gboolean showOptions = gtk_toggle_button_get_active(tb); - GSList *l = gtk_file_chooser_get_filenames(chooser); - - trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w), - prefs); - - if (showOptions) { - TrgTorrentAddDialog *dialog = - trg_torrent_add_dialog_new(win, client, l); - - gtk_widget_show_all(GTK_WIDGET(dialog)); - } else { - struct add_torrent_threadfunc_args *args = - g_new0(struct add_torrent_threadfunc_args, 1); - - args->list = l; - args->cb_data = win; - args->client = client; - args->extraArgs = FALSE; - args->flags = trg_prefs_get_add_flags(prefs); - - launch_add_thread(args); - } + GtkFileChooser *chooser = GTK_FILE_CHOOSER(w); + GtkToggleButton *tb = + GTK_TOGGLE_BUTTON(gtk_file_chooser_get_extra_widget(chooser)); + gboolean showOptions = gtk_toggle_button_get_active(tb); + GSList *l = gtk_file_chooser_get_filenames(chooser); + + trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w), + prefs); + + if (showOptions) { + TrgTorrentAddDialog *dialog = + trg_torrent_add_dialog_new(win, client, l); + + gtk_widget_show_all(GTK_WIDGET(dialog)); + } else { + struct add_torrent_threadfunc_args *args = + g_new0(struct add_torrent_threadfunc_args, 1); + + args->list = l; + args->cb_data = win; + args->client = client; + args->extraArgs = FALSE; + args->flags = trg_prefs_get_add_flags(prefs); + + launch_add_thread(args); + } } gtk_widget_destroy(GTK_WIDGET(w)); diff --git a/src/trg-torrent-add-dialog.h b/src/trg-torrent-add-dialog.h index 0d95103..be355f6 100644 --- a/src/trg-torrent-add-dialog.h +++ b/src/trg-torrent-add-dialog.h @@ -64,10 +64,10 @@ struct add_torrent_threadfunc_args { GType trg_torrent_add_dialog_get_type(void); TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * win, - TrgClient * client, - GSList * filenames); + TrgClient * client, + GSList * filenames); void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client); void launch_add_thread(struct add_torrent_threadfunc_args *args); G_END_DECLS -#endif /* TRG_TORRENT_ADD_DIALOG_H_ */ +#endif /* TRG_TORRENT_ADD_DIALOG_H_ */ diff --git a/src/trg-torrent-add-url-dialog.c b/src/trg-torrent-add-url-dialog.c index 44a74db..67f87c0 100644 --- a/src/trg-torrent-add-url-dialog.c +++ b/src/trg-torrent-add-url-dialog.c @@ -28,7 +28,7 @@ #include "requests.h" G_DEFINE_TYPE(TrgTorrentAddUrlDialog, trg_torrent_add_url_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_ADD_URL_DIALOG, TrgTorrentAddUrlDialogPrivate)) typedef struct _TrgTorrentAddUrlDialogPrivate @@ -46,20 +46,24 @@ trg_torrent_add_url_dialog_class_init(TrgTorrentAddUrlDialogClass * klass) g_type_class_add_private(klass, sizeof(TrgTorrentAddUrlDialogPrivate)); } -static gboolean has_dht_support(TrgTorrentAddUrlDialog *dlg) +static gboolean has_dht_support(TrgTorrentAddUrlDialog * dlg) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); JsonObject *session = trg_client_get_session(priv->client); return session_get_dht_enabled(session); } -static void show_dht_not_enabled_warning(TrgTorrentAddUrlDialog *dlg) +static void show_dht_not_enabled_warning(TrgTorrentAddUrlDialog * dlg) { - gchar *msg = _("You are trying to add a magnet torrent, but DHT is disabled. Distributed Hash Table (DHT) should be enabled in remote settings."); + gchar *msg = + _ + ("You are trying to add a magnet torrent, but DHT is disabled. Distributed Hash Table (DHT) should be enabled in remote settings."); GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(dlg), - GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, - "%s", msg); + GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "%s", msg); gtk_window_set_title(GTK_WINDOW(dialog), _("Error")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); @@ -67,24 +71,26 @@ static void show_dht_not_enabled_warning(TrgTorrentAddUrlDialog *dlg) static void trg_torrent_add_url_response_cb(TrgTorrentAddUrlDialog * dlg, gint res_id, - gpointer data) + gpointer data) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_ACCEPT) { - JsonNode *request; - const gchar *entryText = gtk_entry_get_text(GTK_ENTRY(priv->urlEntry)); - - if (g_str_has_prefix(entryText, "magnet:") && !has_dht_support(dlg)) - show_dht_not_enabled_warning(dlg); - - request = - torrent_add_url(entryText, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(priv->startCheck))); - dispatch_async(priv->client, request, - on_generic_interactive_action, data); + JsonNode *request; + const gchar *entryText = + gtk_entry_get_text(GTK_ENTRY(priv->urlEntry)); + + if (g_str_has_prefix(entryText, "magnet:") + && !has_dht_support(dlg)) + show_dht_not_enabled_warning(dlg); + + request = + torrent_add_url(entryText, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(priv->startCheck))); + dispatch_async(priv->client, request, + on_generic_interactive_action, data); } gtk_widget_destroy(GTK_WIDGET(dlg)); @@ -93,19 +99,19 @@ trg_torrent_add_url_response_cb(TrgTorrentAddUrlDialog * dlg, gint res_id, static void url_entry_changed(GtkWidget * w, gpointer data) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(data); gtk_widget_set_sensitive(priv->addButton, - gtk_entry_get_text_length(GTK_ENTRY(w)) > 0); + gtk_entry_get_text_length(GTK_ENTRY(w)) > 0); } static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(self); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(self); GtkWidget *w, *t, *contentvbox; gint row = 0; - contentvbox = gtk_dialog_get_content_area (GTK_DIALOG(self)); + contentvbox = gtk_dialog_get_content_area(GTK_DIALOG(self)); t = hig_workarea_create(); @@ -114,17 +120,17 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) hig_workarea_add_row(t, &row, _("URL:"), w, NULL); priv->startCheck = - hig_workarea_add_wide_checkbutton(t, &row, _("Start Paused"), - FALSE); + hig_workarea_add_wide_checkbutton(t, &row, _("Start Paused"), + FALSE); gtk_window_set_title(GTK_WINDOW(self), _("Add torrent from URL")); gtk_window_set_destroy_with_parent(GTK_WINDOW(self), TRUE); gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_CLOSE, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); priv->addButton = - gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_ADD, - GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_ADD, + GTK_RESPONSE_ACCEPT); gtk_widget_set_sensitive(priv->addButton, FALSE); gtk_container_set_border_width(GTK_CONTAINER(self), GUI_PAD); @@ -132,8 +138,8 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) gtk_dialog_set_default_response(GTK_DIALOG(self), GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(self), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD); @@ -141,19 +147,19 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) } TrgTorrentAddUrlDialog *trg_torrent_add_url_dialog_new(TrgMainWindow * win, - TrgClient * client) + TrgClient * client) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_ADD_URL_DIALOG, NULL); TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(obj); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(obj); priv->client = client; priv->win = win; gtk_window_set_transient_for(GTK_WINDOW(obj), GTK_WINDOW(win)); g_signal_connect(G_OBJECT(obj), - "response", - G_CALLBACK(trg_torrent_add_url_response_cb), win); + "response", + G_CALLBACK(trg_torrent_add_url_response_cb), win); return TRG_TORRENT_ADD_URL_DIALOG(obj); } diff --git a/src/trg-torrent-add-url-dialog.h b/src/trg-torrent-add-url-dialog.h index a9a801d..4742837 100644 --- a/src/trg-torrent-add-url-dialog.h +++ b/src/trg-torrent-add-url-dialog.h @@ -49,8 +49,7 @@ typedef struct { GType trg_torrent_add_url_dialog_get_type(void); TrgTorrentAddUrlDialog *trg_torrent_add_url_dialog_new(TrgMainWindow * win, - TrgClient * - client); + TrgClient * client); G_END_DECLS -#endif /* TRG_TORRENT_ADD_URL_DIALOG_H_ */ +#endif /* TRG_TORRENT_ADD_URL_DIALOG_H_ */ diff --git a/src/trg-torrent-graph.c b/src/trg-torrent-graph.c index 99c5dad..26e5fd4 100644 --- a/src/trg-torrent-graph.c +++ b/src/trg-torrent-graph.c @@ -90,23 +90,23 @@ static int trg_torrent_graph_update(gpointer user_data); static void trg_torrent_graph_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_torrent_graph_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -127,18 +127,18 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); num_bars = trg_torrent_graph_get_num_bars(g); - priv->graph_dely = (priv->draw_height - 15) / num_bars; /* round to int to avoid AA blur */ + priv->graph_dely = (priv->draw_height - 15) / num_bars; /* round to int to avoid AA blur */ priv->real_draw_height = priv->graph_dely * num_bars; priv->graph_delx = - (priv->draw_width - 2.0 - priv->rmargin - - priv->indent) / (GRAPH_NUM_POINTS - 3); + (priv->draw_width - 2.0 - priv->rmargin - + priv->indent) / (GRAPH_NUM_POINTS - 3); priv->graph_buffer_offset = - (int) (1.5 * priv->graph_delx) + GRAPH_FRAME_WIDTH; + (int) (1.5 * priv->graph_delx) + GRAPH_FRAME_WIDTH; gtk_widget_get_allocation(priv->disp, &allocation); priv->background = - gdk_pixmap_new(GDK_DRAWABLE(gtk_widget_get_window(priv->disp)), - allocation.width, allocation.height, -1); + gdk_pixmap_new(GDK_DRAWABLE(gtk_widget_get_window(priv->disp)), + allocation.width, allocation.height, -1); cr = gdk_cairo_create(priv->background); gdk_cairo_set_source_color(cr, &priv->style->bg[GTK_STATE_NORMAL]); @@ -146,8 +146,8 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) cairo_translate(cr, GRAPH_FRAME_WIDTH, GRAPH_FRAME_WIDTH); cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); cairo_rectangle(cr, priv->rmargin + priv->indent, 0, - priv->draw_width - priv->rmargin - priv->indent, - priv->real_draw_height); + priv->draw_width - priv->rmargin - priv->indent, + priv->real_draw_height); cairo_fill(cr); @@ -156,22 +156,22 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) cairo_set_font_size(cr, priv->fontsize); for (i = 0; i <= num_bars; ++i) { - double y; - gchar caption[32]; - - if (i == 0) - y = 0.5 + priv->fontsize / 2.0; - else if (i == num_bars) - y = i * priv->graph_dely + 0.5; - else - y = i * priv->graph_dely + priv->fontsize / 2.0; - - gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); - rate = priv->max - (i * priv->max / num_bars); - trg_strlspeed(caption, (gint64) (rate / 1024)); - cairo_text_extents(cr, caption, &extents); - cairo_move_to(cr, priv->indent - extents.width + 20, y); - cairo_show_text(cr, caption); + double y; + gchar caption[32]; + + if (i == 0) + y = 0.5 + priv->fontsize / 2.0; + else if (i == num_bars) + y = i * priv->graph_dely + 0.5; + else + y = i * priv->graph_dely + priv->fontsize / 2.0; + + gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); + rate = priv->max - (i * priv->max / num_bars); + trg_strlspeed(caption, (gint64) (rate / 1024)); + cairo_text_extents(cr, caption, &extents); + cairo_move_to(cr, priv->indent - extents.width + 20, y); + cairo_show_text(cr, caption); } cairo_stroke(cr); @@ -181,29 +181,29 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) total_seconds = priv->speed * (GRAPH_NUM_POINTS - 2) / 1000; for (i = 0; i < 7; i++) { - unsigned seconds; - const char *format; - double x = - (i) * (priv->draw_width - priv->rmargin - priv->indent) / 6; - cairo_set_source_rgba(cr, 0, 0, 0, 0.75); - cairo_move_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, - 0.5); - cairo_line_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, - priv->real_draw_height + 4.5); - cairo_stroke(cr); - seconds = total_seconds - i * total_seconds / 6; - if (i == 0) - format = "%u seconds"; - else - format = "%u"; - caption = g_strdup_printf(format, seconds); - cairo_text_extents(cr, caption, &extents); - cairo_move_to(cr, - ((ceil(x) + 0.5) + priv->rmargin + priv->indent) - - (extents.width / 2), priv->draw_height); - gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); - cairo_show_text(cr, caption); - g_free(caption); + unsigned seconds; + const char *format; + double x = + (i) * (priv->draw_width - priv->rmargin - priv->indent) / 6; + cairo_set_source_rgba(cr, 0, 0, 0, 0.75); + cairo_move_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, + 0.5); + cairo_line_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, + priv->real_draw_height + 4.5); + cairo_stroke(cr); + seconds = total_seconds - i * total_seconds / 6; + if (i == 0) + format = "%u seconds"; + else + format = "%u"; + caption = g_strdup_printf(format, seconds); + cairo_text_extents(cr, caption, &extents); + cairo_move_to(cr, + ((ceil(x) + 0.5) + priv->rmargin + priv->indent) - + (extents.width / 2), priv->draw_height); + gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); + cairo_show_text(cr, caption); + g_free(caption); } cairo_stroke(cr); @@ -218,7 +218,7 @@ void trg_torrent_graph_set_nothing(TrgTorrentGraph * g) } void trg_torrent_graph_set_speed(TrgTorrentGraph * g, - trg_torrent_model_update_stats * stats) + trg_torrent_model_update_stats * stats) { TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); @@ -228,7 +228,7 @@ void trg_torrent_graph_set_speed(TrgTorrentGraph * g, static gboolean trg_torrent_graph_configure(GtkWidget * widget, - GdkEventConfigure * event, gpointer data_ptr) + GdkEventConfigure * event, gpointer data_ptr) { GtkAllocation allocation; TrgTorrentGraph *g = TRG_TORRENT_GRAPH(data_ptr); @@ -241,7 +241,7 @@ trg_torrent_graph_configure(GtkWidget * widget, trg_torrent_graph_clear_background(g); if (priv->gc == NULL) - priv->gc = gdk_gc_new(GDK_DRAWABLE(gtk_widget_get_window(widget))); + priv->gc = gdk_gc_new(GDK_DRAWABLE(gtk_widget_get_window(widget))); trg_torrent_graph_draw(g); @@ -250,7 +250,7 @@ trg_torrent_graph_configure(GtkWidget * widget, static gboolean trg_torrent_graph_expose(GtkWidget * widget, - GdkEventExpose * event, gpointer data_ptr) + GdkEventExpose * event, gpointer data_ptr) { TrgTorrentGraph *g = TRG_TORRENT_GRAPH(data_ptr); TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(data_ptr); @@ -264,22 +264,22 @@ trg_torrent_graph_expose(GtkWidget * widget, gdouble sample_width, x_offset; if (priv->background == NULL) - trg_torrent_graph_draw_background(g); + trg_torrent_graph_draw_background(g); window = gtk_widget_get_window(priv->disp); gtk_widget_get_allocation(priv->disp, &allocation); gdk_draw_drawable(window, - priv->gc, - priv->background, - 0, 0, 0, 0, allocation.width, allocation.height); + priv->gc, + priv->background, + 0, 0, 0, 0, allocation.width, allocation.height); sample_width = - (float) (priv->draw_width - priv->rmargin - - priv->indent) / (float) GRAPH_NUM_POINTS; + (float) (priv->draw_width - priv->rmargin - + priv->indent) / (float) GRAPH_NUM_POINTS; x_offset = priv->draw_width - priv->rmargin + (sample_width * 2); x_offset += - priv->rmargin - - ((sample_width / priv->frames_per_unit) * priv->render_counter); + priv->rmargin - + ((sample_width / priv->frames_per_unit) * priv->render_counter); cr = gdk_cairo_create(window); @@ -287,39 +287,39 @@ trg_torrent_graph_expose(GtkWidget * widget, cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND); cairo_rectangle(cr, - priv->rmargin + priv->indent + GRAPH_FRAME_WIDTH + 1, - GRAPH_FRAME_WIDTH - 1, - priv->draw_width - priv->rmargin - priv->indent - 1, - priv->real_draw_height + GRAPH_FRAME_WIDTH - 1); + priv->rmargin + priv->indent + GRAPH_FRAME_WIDTH + 1, + GRAPH_FRAME_WIDTH - 1, + priv->draw_width - priv->rmargin - priv->indent - 1, + priv->real_draw_height + GRAPH_FRAME_WIDTH - 1); cairo_clip(cr); for (j = 0; j < GRAPH_NUM_LINES; ++j) { - GList *li = priv->points; - fp = (float *) li->data; - cairo_move_to(cr, x_offset, - (1.0f - fp[j]) * priv->real_draw_height); - gdk_cairo_set_source_color(cr, &(priv->colors[j])); - - i = 0; - for (li = g_list_next(li); li != NULL; li = g_list_next(li)) { - GList *lli = g_list_previous(li); - float *lfp = (float *) lli->data; - fp = (float *) li->data; - - i++; - - if (fp[j] == -1.0f) - continue; - - cairo_curve_to(cr, - x_offset - ((i - 0.5f) * priv->graph_delx), - (1.0f - lfp[j]) * priv->real_draw_height + 3.5f, - x_offset - ((i - 0.5f) * priv->graph_delx), - (1.0f - fp[j]) * priv->real_draw_height + 3.5f, - x_offset - (i * priv->graph_delx), - (1.0f - fp[j]) * priv->real_draw_height + 3.5f); - } - cairo_stroke(cr); + GList *li = priv->points; + fp = (float *) li->data; + cairo_move_to(cr, x_offset, + (1.0f - fp[j]) * priv->real_draw_height); + gdk_cairo_set_source_color(cr, &(priv->colors[j])); + + i = 0; + for (li = g_list_next(li); li != NULL; li = g_list_next(li)) { + GList *lli = g_list_previous(li); + float *lfp = (float *) lli->data; + fp = (float *) li->data; + + i++; + + if (fp[j] == -1.0f) + continue; + + cairo_curve_to(cr, + x_offset - ((i - 0.5f) * priv->graph_delx), + (1.0f - lfp[j]) * priv->real_draw_height + 3.5f, + x_offset - ((i - 0.5f) * priv->graph_delx), + (1.0f - fp[j]) * priv->real_draw_height + 3.5f, + x_offset - (i * priv->graph_delx), + (1.0f - fp[j]) * priv->real_draw_height + 3.5f); + } + cairo_stroke(cr); } cairo_destroy(cr); @@ -342,7 +342,7 @@ static void trg_torrent_graph_dispose(GObject * object) trg_torrent_graph_stop(g); if (priv->timer_index) - g_source_remove(priv->timer_index); + g_source_remove(priv->timer_index); trg_torrent_graph_clear_background(g); @@ -354,11 +354,11 @@ void trg_torrent_graph_start(TrgTorrentGraph * g) TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); if (!priv->timer_index) { - trg_torrent_graph_update(g); + trg_torrent_graph_update(g); - priv->timer_index = - g_timeout_add(priv->speed / priv->frames_per_unit, - trg_torrent_graph_update, g); + priv->timer_index = + g_timeout_add(priv->speed / priv->frames_per_unit, + trg_torrent_graph_update, g); } priv->draw = TRUE; @@ -371,8 +371,8 @@ static unsigned get_max_value_element(TrgTorrentGraph * g) int i; for (i = 0; i < GRAPH_NUM_POINTS; i++) - if (priv->values[i] > r) - r = priv->values[i]; + if (priv->values[i] > r) + r = priv->values[i]; return r; } @@ -382,7 +382,7 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); unsigned max, new_max, bak_max, pow2, base10, coef10, factor10, - num_bars; + num_bars; float scale; char speed[32]; @@ -402,17 +402,17 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) trg_strlspeed(speed, (gint64) (priv->out / KILOBYTE_FACTOR)); labelMarkup = - g_markup_printf_escaped("%s: %s", - _("Total Uploading"), speed); + g_markup_printf_escaped("%s: %s", + _("Total Uploading"), speed); gtk_label_set_markup(GTK_LABEL(priv->label_out), labelMarkup); g_free(labelMarkup); trg_strlspeed(speed, (gint64) (priv->in / 1024)); labelMarkup = - g_markup_printf_escaped("%s: %s", - _("Total Downloading"), speed); + g_markup_printf_escaped("%s: %s", + _("Total Downloading"), speed); gtk_label_set_markup(GTK_LABEL(priv->label_in), labelMarkup); g_free(labelMarkup); @@ -421,9 +421,9 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) priv->cur = (priv->cur + 1) % GRAPH_NUM_POINTS; if (max >= priv->max) - new_max = max; + new_max = max; else - new_max = get_max_value_element(g); + new_max = get_max_value_element(g); bak_max = new_max; new_max = 1.1 * new_max; @@ -437,25 +437,25 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) num_bars = trg_torrent_graph_get_num_bars(g); if (coef10 % num_bars != 0) - coef10 = coef10 + (num_bars - coef10 % num_bars); + coef10 = coef10 + (num_bars - coef10 % num_bars); new_max = coef10 * (1UL << (base10 * 10)); if (bak_max > new_max) { - new_max = bak_max; + new_max = bak_max; } if ((0.8 * priv->max) < new_max && new_max <= priv->max) - return; + return; scale = 1.0f * priv->max / new_max; for (li = priv->points; li != NULL; li = g_list_next(li)) { - float *fp = (float *) li->data; - if (fp[0] >= 0.0f) { - fp[0] *= scale; - fp[1] *= scale; - } + float *fp = (float *) li->data; + if (fp[0] >= 0.0f) { + fp[0] *= scale; + fp[1] *= scale; + } } priv->max = new_max; @@ -464,10 +464,10 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) } static GObject *trg_torrent_graph_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgTorrentGraphPrivate *priv; @@ -475,10 +475,10 @@ static GObject *trg_torrent_graph_constructor(GType type, int i; object = - G_OBJECT_CLASS - (trg_torrent_graph_parent_class)->constructor(type, - n_construct_properties, - construct_params); + G_OBJECT_CLASS + (trg_torrent_graph_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_TORRENT_GRAPH_GET_PRIVATE(object); priv->draw_width = 0; @@ -526,9 +526,9 @@ static GObject *trg_torrent_graph_constructor(GType type, priv->disp = gtk_drawing_area_new(); g_signal_connect(G_OBJECT(priv->disp), "expose_event", - G_CALLBACK(trg_torrent_graph_expose), object); + G_CALLBACK(trg_torrent_graph_expose), object); g_signal_connect(G_OBJECT(priv->disp), "configure_event", - G_CALLBACK(trg_torrent_graph_configure), object); + G_CALLBACK(trg_torrent_graph_configure), object); gtk_widget_set_events(priv->disp, GDK_EXPOSURE_MASK); @@ -536,10 +536,10 @@ static GObject *trg_torrent_graph_constructor(GType type, priv->points = NULL; for (i = 0; i < GRAPH_NUM_DATA_BLOCK_ELEMENTS; i++) { - priv->data_block[i] = -1.0f; - if (i % GRAPH_NUM_LINES == 0) - priv->points = - g_list_append(priv->points, &priv->data_block[i]); + priv->data_block[i] = -1.0f; + if (i % GRAPH_NUM_LINES == 0) + priv->points = + g_list_append(priv->points, &priv->data_block[i]); } return object; @@ -583,8 +583,8 @@ void trg_torrent_graph_clear_background(TrgTorrentGraph * g) TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); if (priv->background) { - g_object_unref(priv->background); - priv->background = NULL; + g_object_unref(priv->background); + priv->background = NULL; } } @@ -593,18 +593,18 @@ static gboolean trg_torrent_graph_update(gpointer user_data) { TrgTorrentGraph *g = TRG_TORRENT_GRAPH(user_data); TrgTorrentGraphPrivate *priv = - TRG_TORRENT_GRAPH_GET_PRIVATE(user_data); + TRG_TORRENT_GRAPH_GET_PRIVATE(user_data); if (priv->render_counter == priv->frames_per_unit - 1) - trg_torrent_graph_update_net(g); + trg_torrent_graph_update_net(g); if (priv->draw) - trg_torrent_graph_draw(g); + trg_torrent_graph_draw(g); priv->render_counter++; if (priv->render_counter >= priv->frames_per_unit) - priv->render_counter = 0; + priv->render_counter = 0; return TRUE; } @@ -617,18 +617,18 @@ unsigned trg_torrent_graph_get_num_bars(TrgTorrentGraph * g) switch ((int) (priv->draw_height / (priv->fontsize + 14))) { case 0: case 1: - n = 1; - break; + n = 1; + break; case 2: case 3: - n = 2; - break; + n = 2; + break; case 4: - n = 4; - break; + n = 4; + break; default: - n = 5; - break; + n = 5; + break; } return n; diff --git a/src/trg-torrent-graph.h b/src/trg-torrent-graph.h index c71f3b6..7a9e7c9 100644 --- a/src/trg-torrent-graph.h +++ b/src/trg-torrent-graph.h @@ -45,8 +45,8 @@ void trg_torrent_graph_stop(TrgTorrentGraph * g); void trg_torrent_graph_change_speed(TrgTorrentGraph * g, guint new_speed); void trg_torrent_graph_set_speed(TrgTorrentGraph * g, - trg_torrent_model_update_stats * stats); + trg_torrent_model_update_stats * stats); void trg_torrent_graph_set_nothing(TrgTorrentGraph * g); G_END_DECLS -#endif /* _TRG_TORRENT_GRAPH */ +#endif /* _TRG_TORRENT_GRAPH */ diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index 4c86682..678f39a 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -73,98 +73,125 @@ struct _TrgTorrentModelPrivate { trg_torrent_model_update_stats stats; }; -static void trg_torrent_model_dispose(GObject * object) { +static void trg_torrent_model_dispose(GObject * object) +{ TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(object); g_hash_table_destroy(priv->ht); G_OBJECT_CLASS(trg_torrent_model_parent_class)->dispose(object); } static void -update_torrent_iter(TrgTorrentModel * model, TrgClient *tc, gint64 rpcv, - gint64 serial, GtkTreeIter * iter, JsonObject * t, - trg_torrent_model_update_stats * stats, gboolean *updateFilters); +update_torrent_iter(TrgTorrentModel * model, TrgClient * tc, gint64 rpcv, + gint64 serial, GtkTreeIter * iter, JsonObject * t, + trg_torrent_model_update_stats * stats, + gboolean * updateFilters); -static void trg_torrent_model_class_init(TrgTorrentModelClass * klass) { +static void trg_torrent_model_class_init(TrgTorrentModelClass * klass) +{ GObjectClass *object_class = G_OBJECT_CLASS(klass); g_type_class_add_private(klass, sizeof(TrgTorrentModelPrivate)); object_class->dispose = trg_torrent_model_dispose; signals[TMODEL_TORRENT_COMPLETED] = g_signal_new("torrent-completed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgTorrentModelClass, - torrent_completed), NULL, NULL, - g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgTorrentModelClass, + torrent_completed), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); signals[TMODEL_TORRENT_ADDED] = g_signal_new("torrent-added", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgTorrentModelClass, - torrent_added), NULL, NULL, - g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgTorrentModelClass, + torrent_added), NULL, + NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); signals[TMODEL_UPDATE_FILTERS] = g_signal_new("update-filters", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgTorrentModelClass, - torrent_removed), NULL, NULL, g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgTorrentModelClass, + torrent_removed), NULL, + NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); } -trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel * model) +trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel + * model) { TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); return &(priv->stats); } static void trg_torrent_model_count_peers(TrgTorrentModel * model, - GtkTreeIter * iter, JsonObject * t) { - GList *trackersList = json_array_get_elements(torrent_get_tracker_stats(t)); + GtkTreeIter * iter, + JsonObject * t) +{ + GList *trackersList = + json_array_get_elements(torrent_get_tracker_stats(t)); gint seeders = 0; gint leechers = 0; gint downloads = 0; GList *li; for (li = trackersList; li; li = g_list_next(li)) { - JsonObject *tracker = json_node_get_object((JsonNode *) li->data); + JsonObject *tracker = json_node_get_object((JsonNode *) li->data); - seeders += tracker_stats_get_seeder_count(tracker); - leechers += tracker_stats_get_leecher_count(tracker); - downloads += tracker_stats_get_download_count(tracker); + seeders += tracker_stats_get_seeder_count(tracker); + leechers += tracker_stats_get_leecher_count(tracker); + downloads += tracker_stats_get_download_count(tracker); } g_list_free(trackersList); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_SEEDS, - seeders, TORRENT_COLUMN_LEECHERS, leechers, - TORRENT_COLUMN_DOWNLOADS, downloads, -1); + seeders, TORRENT_COLUMN_LEECHERS, leechers, + TORRENT_COLUMN_DOWNLOADS, downloads, -1); } -static void trg_torrent_model_ref_free(gpointer data) { +static void trg_torrent_model_ref_free(gpointer data) +{ GtkTreeRowReference *rr = (GtkTreeRowReference *) data; GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); GtkTreePath *path = gtk_tree_row_reference_get_path(rr); if (path) { - GtkTreeIter iter; - JsonObject *json; - if (gtk_tree_model_get_iter(model, &iter, path)) { - gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json, -1); - json_object_unref(json); - g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, - GINT_TO_POINTER(TRUE)); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, - GINT_TO_POINTER(FALSE)); - } - - gtk_tree_path_free(path); + GtkTreeIter iter; + JsonObject *json; + if (gtk_tree_model_get_iter(model, &iter, path)) { + gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json, + -1); + json_object_unref(json); + g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, + GINT_TO_POINTER(TRUE)); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, + GINT_TO_POINTER(FALSE)); + } + + gtk_tree_path_free(path); } gtk_tree_row_reference_free(rr); } -static void trg_torrent_model_init(TrgTorrentModel * self) { +static void trg_torrent_model_init(TrgTorrentModel * self) +{ TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(self); GType column_types[TORRENT_COLUMN_COLUMNS]; @@ -207,34 +234,43 @@ static void trg_torrent_model_init(TrgTorrentModel * self) { column_types[TORRENT_COLUMN_LASTACTIVE] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - TORRENT_COLUMN_COLUMNS, column_types); + TORRENT_COLUMN_COLUMNS, column_types); priv->ht = g_hash_table_new_full(g_int64_hash, g_int64_equal, - (GDestroyNotify) g_free, trg_torrent_model_ref_free); + (GDestroyNotify) g_free, + trg_torrent_model_ref_free); g_object_set_data(G_OBJECT(self), PROP_REMOVE_IN_PROGRESS, - GINT_TO_POINTER(FALSE)); + GINT_TO_POINTER(FALSE)); priv->urlHostRegex = trg_uri_host_regex_new(); } -gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model) { +gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model) +{ return (gboolean) GPOINTER_TO_INT(g_object_get_data - (G_OBJECT(model), PROP_REMOVE_IN_PROGRESS)); + (G_OBJECT(model), + PROP_REMOVE_IN_PROGRESS)); } -static gboolean trg_torrent_model_reload_dir_aliases_foreachfunc( - GtkTreeModel * model, GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer gdata) { +static gboolean +trg_torrent_model_reload_dir_aliases_foreachfunc(GtkTreeModel * model, + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer gdata) +{ gchar *downloadDir, *shortDownloadDir; - gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR, &downloadDir, - -1); + gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR, + &downloadDir, -1); - shortDownloadDir = shorten_download_dir((TrgClient*) gdata, downloadDir); + shortDownloadDir = + shorten_download_dir((TrgClient *) gdata, downloadDir); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_DOWNLOADDIR_SHORT, shortDownloadDir, -1); + TORRENT_COLUMN_DOWNLOADDIR_SHORT, shortDownloadDir, + -1); g_free(downloadDir); g_free(shortDownloadDir); @@ -242,95 +278,109 @@ static gboolean trg_torrent_model_reload_dir_aliases_foreachfunc( return FALSE; } -void trg_torrent_model_reload_dir_aliases(TrgClient *tc, GtkTreeModel *model) +void trg_torrent_model_reload_dir_aliases(TrgClient * tc, + GtkTreeModel * model) { gtk_tree_model_foreach(model, - trg_torrent_model_reload_dir_aliases_foreachfunc, tc); + trg_torrent_model_reload_dir_aliases_foreachfunc, + tc); } -static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer gdata) { +static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * + model, + GtkTreePath * + path + G_GNUC_UNUSED, + GtkTreeIter * + iter, + gpointer gdata) +{ trg_torrent_model_update_stats *stats = - (trg_torrent_model_update_stats *) gdata; + (trg_torrent_model_update_stats *) gdata; guint flags; gtk_tree_model_get(model, iter, TORRENT_COLUMN_FLAGS, &flags, -1); - if (flags & TORRENT_FLAG_SEEDING - ) - stats->seeding++; - else if (flags & TORRENT_FLAG_DOWNLOADING - ) - stats->down++; - else if (flags & TORRENT_FLAG_PAUSED - ) - stats->paused++; + if (flags & TORRENT_FLAG_SEEDING) + stats->seeding++; + else if (flags & TORRENT_FLAG_DOWNLOADING) + stats->down++; + else if (flags & TORRENT_FLAG_PAUSED) + stats->paused++; - if (flags & TORRENT_FLAG_ERROR - ) - stats->error++; + if (flags & TORRENT_FLAG_ERROR) + stats->error++; stats->count++; return FALSE; } -void trg_torrent_model_remove_all(TrgTorrentModel *model) { +void trg_torrent_model_remove_all(TrgTorrentModel * model) +{ TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); g_hash_table_remove_all(priv->ht); gtk_list_store_clear(GTK_LIST_STORE(model)); } -gchar *shorten_download_dir(TrgClient *tc, const gchar *downloadDir) { +gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir) +{ TrgPrefs *prefs = trg_client_get_prefs(tc); - JsonArray *labels = trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, - TRG_PREFS_CONNECTION); + JsonArray *labels = + trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, + TRG_PREFS_CONNECTION); JsonObject *session = trg_client_get_session(tc); const gchar *defaultDownloadDir = session_get_download_dir(session); gchar *shortDownloadDir = NULL; if (labels) { - GList *labelsList = json_array_get_elements(labels); - if (labelsList) { - GList *li; - for (li = labelsList; li; li = g_list_next(li)) { - JsonObject *labelObj = json_node_get_object( - (JsonNode*) li->data); - const gchar *labelDir = json_object_get_string_member(labelObj, - TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR); - if (!g_strcmp0(downloadDir, labelDir)) { - const gchar *labelLabel = json_object_get_string_member( - labelObj, TRG_PREFS_SUBKEY_LABEL); - shortDownloadDir = g_strdup(labelLabel); - break; - } - } - g_list_free(labelsList); - } + GList *labelsList = json_array_get_elements(labels); + if (labelsList) { + GList *li; + for (li = labelsList; li; li = g_list_next(li)) { + JsonObject *labelObj = json_node_get_object((JsonNode *) + li->data); + const gchar *labelDir = + json_object_get_string_member(labelObj, + TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR); + if (!g_strcmp0(downloadDir, labelDir)) { + const gchar *labelLabel = + json_object_get_string_member(labelObj, + TRG_PREFS_SUBKEY_LABEL); + shortDownloadDir = g_strdup(labelLabel); + break; + } + } + g_list_free(labelsList); + } } if (shortDownloadDir) { - return shortDownloadDir; + return shortDownloadDir; } else { - if (!g_strcmp0(defaultDownloadDir, downloadDir)) - return g_strdup(_("Default")); + if (!g_strcmp0(defaultDownloadDir, downloadDir)) + return g_strdup(_("Default")); - if (g_str_has_prefix(downloadDir, defaultDownloadDir)) { - int offset = strlen(defaultDownloadDir); - if (*(downloadDir + offset) == '/') - offset++; + if (g_str_has_prefix(downloadDir, defaultDownloadDir)) { + int offset = strlen(defaultDownloadDir); + if (*(downloadDir + offset) == '/') + offset++; - if (offset < strlen(downloadDir)) - return g_strdup(downloadDir + offset); - } + if (offset < strlen(downloadDir)) + return g_strdup(downloadDir + offset); + } } return g_strdup(downloadDir); } -static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient *tc, - gint64 rpcv, gint64 serial, GtkTreeIter * iter, JsonObject * t, - trg_torrent_model_update_stats * stats, gboolean *updateFilters) { +static inline void update_torrent_iter(TrgTorrentModel * model, + TrgClient * tc, gint64 rpcv, + gint64 serial, GtkTreeIter * iter, + JsonObject * t, + trg_torrent_model_update_stats * + stats, gboolean * updateFilters) +{ TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); GtkListStore *ls = GTK_LIST_STORE(model); guint lastFlags, newFlags; @@ -351,7 +401,7 @@ static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient *tc, uploaded = torrent_get_uploaded(t); downloaded = torrent_get_downloaded(t); - downloadDir = (gchar*) torrent_get_download_dir(t); + downloadDir = (gchar *) torrent_get_download_dir(t); rm_trailing_slashes(downloadDir); id = torrent_get_id(t); @@ -363,168 +413,180 @@ static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient *tc, trackerStats = torrent_get_tracker_stats(t); gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_FLAGS, - &lastFlags, TORRENT_COLUMN_JSON, &lastJson, - TORRENT_COLUMN_DOWNLOADDIR, &lastDownloadDir, -1); + &lastFlags, TORRENT_COLUMN_JSON, &lastJson, + TORRENT_COLUMN_DOWNLOADDIR, &lastDownloadDir, -1); json_object_ref(t); if (json_array_get_length(trackerStats) > 0) { - JsonObject *firstTracker = json_array_get_object_element(trackerStats, - 0); - firstTrackerHost = trg_gregex_get_first(priv->urlHostRegex, - tracker_stats_get_host(firstTracker)); + JsonObject *firstTracker = + json_array_get_object_element(trackerStats, + 0); + firstTrackerHost = trg_gregex_get_first(priv->urlHostRegex, + tracker_stats_get_host + (firstTracker)); } lpd = peerfrom_get_lpd(pf); if (newFlags & TORRENT_FLAG_ACTIVE) { - if (lpd >= 0) { - peerSources = g_strdup_printf( - "%ld / %ld / %ld / %ld / %ld / %ld / %ld", - peerfrom_get_trackers(pf), peerfrom_get_incoming(pf), - peerfrom_get_ltep(pf), peerfrom_get_dht(pf), - peerfrom_get_pex(pf), lpd, peerfrom_get_resume(pf)); - } else { - peerSources = g_strdup_printf( - "%ld / %ld / %ld / %ld / %ld / N/A / %ld", - peerfrom_get_trackers(pf), peerfrom_get_incoming(pf), - peerfrom_get_ltep(pf), peerfrom_get_dht(pf), - peerfrom_get_pex(pf), peerfrom_get_resume(pf)); - } + if (lpd >= 0) { + peerSources = + g_strdup_printf("%ld / %ld / %ld / %ld / %ld / %ld / %ld", + peerfrom_get_trackers(pf), + peerfrom_get_incoming(pf), + peerfrom_get_ltep(pf), + peerfrom_get_dht(pf), peerfrom_get_pex(pf), + lpd, peerfrom_get_resume(pf)); + } else { + peerSources = + g_strdup_printf("%ld / %ld / %ld / %ld / %ld / N/A / %ld", + peerfrom_get_trackers(pf), + peerfrom_get_incoming(pf), + peerfrom_get_ltep(pf), + peerfrom_get_dht(pf), peerfrom_get_pex(pf), + peerfrom_get_resume(pf)); + } } - #ifdef DEBUG gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon, -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_NAME, torrent_get_name(t), -1); + TORRENT_COLUMN_NAME, torrent_get_name(t), -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_SIZE, torrent_get_size(t), -1); + TORRENT_COLUMN_SIZE, torrent_get_size(t), -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_DONE, (newFlags & TORRENT_FLAG_CHECKING) ? - torrent_get_recheck_progress(t) - : torrent_get_percent_done(t), - -1); + TORRENT_COLUMN_DONE, + (newFlags & TORRENT_FLAG_CHECKING) ? + torrent_get_recheck_progress(t) + : torrent_get_percent_done(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_STATUS, statusString, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNSPEED, downRate, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FLAGS, newFlags, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPSPEED, upRate, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_ETA, - torrent_get_eta(t), -1); + torrent_get_eta(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPLOADED, uploaded, -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_DOWNLOADED, downloaded, -1); + TORRENT_COLUMN_DOWNLOADED, downloaded, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_RATIO, - uploaded > 0 - && downloaded > - 0 ? (double) uploaded / (double) downloaded : 0, - -1); + uploaded > 0 + && downloaded > + 0 ? (double) uploaded / (double) downloaded : 0, + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_ID, id, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_JSON, t, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPDATESERIAL, serial, -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_ADDED, torrent_get_added_date(t), - -1); + TORRENT_COLUMN_ADDED, torrent_get_added_date(t), + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR, - downloadDir, -1); + downloadDir, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_BANDWIDTH_PRIORITY, - torrent_get_bandwidth_priority(t), -1); + torrent_get_bandwidth_priority(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DONE_DATE, - torrent_get_done_date(t), -1); + torrent_get_done_date(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMPEX, - peerfrom_get_pex(pf), -1); + peerfrom_get_pex(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMDHT, - peerfrom_get_dht(pf), -1); + peerfrom_get_dht(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMTRACKERS, - peerfrom_get_trackers(pf), -1); + peerfrom_get_trackers(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMLTEP, - peerfrom_get_ltep(pf), -1); + peerfrom_get_ltep(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMRESUME, - peerfrom_get_resume(pf), -1); + peerfrom_get_resume(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMINCOMING, - peerfrom_get_incoming(pf), -1); + peerfrom_get_incoming(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEER_SOURCES, - peerSources, -1); + peerSources, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_CONNECTED, - torrent_get_peers_connected(t), -1); + torrent_get_peers_connected(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_TO_US, - torrent_get_peers_sending_to_us(t), -1); + torrent_get_peers_sending_to_us(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_FROM_US, - torrent_get_peers_getting_from_us(t), -1); + torrent_get_peers_getting_from_us(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_TRACKERHOST, - firstTrackerHost ? firstTrackerHost : "", -1); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_QUEUE_POSITION, torrent_get_queue_position(t), -1); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_LASTACTIVE, torrent_get_activity_date(t), -1); + firstTrackerHost ? firstTrackerHost : "", -1); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_QUEUE_POSITION, + torrent_get_queue_position(t), -1); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_LASTACTIVE, + torrent_get_activity_date(t), -1); #else gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon, - TORRENT_COLUMN_ADDED, torrent_get_added_date(t), - TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t), - TORRENT_COLUMN_NAME, torrent_get_name(t), TORRENT_COLUMN_SIZE, - torrent_get_size(t), TORRENT_COLUMN_DONE, - (newFlags & TORRENT_FLAG_CHECKING) ? - torrent_get_recheck_progress(t) - : torrent_get_percent_done(t), - TORRENT_COLUMN_STATUS, statusString, - TORRENT_COLUMN_DOWNSPEED, downRate, - TORRENT_COLUMN_FLAGS, newFlags, - TORRENT_COLUMN_UPSPEED, upRate, - TORRENT_COLUMN_ETA, torrent_get_eta(t), - TORRENT_COLUMN_UPLOADED, uploaded, - TORRENT_COLUMN_DOWNLOADED, downloaded, - TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf), - TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf), - TORRENT_COLUMN_FROMTRACKERS, peerfrom_get_trackers(pf), - TORRENT_COLUMN_FROMLTEP, peerfrom_get_ltep(pf), - TORRENT_COLUMN_FROMRESUME, peerfrom_get_resume(pf), - TORRENT_COLUMN_FROMINCOMING, peerfrom_get_incoming(pf), - TORRENT_COLUMN_PEER_SOURCES, peerSources, - TORRENT_COLUMN_PEERS_CONNECTED, torrent_get_peers_connected(t), - TORRENT_COLUMN_PEERS_TO_US, torrent_get_peers_sending_to_us(t), - TORRENT_COLUMN_PEERS_FROM_US, torrent_get_peers_getting_from_us(t), - TORRENT_COLUMN_QUEUE_POSITION, torrent_get_queue_position(t), - TORRENT_COLUMN_LASTACTIVE, torrent_get_activity_date(t), - TORRENT_COLUMN_RATIO, - uploaded > - 0 - && downloaded > - 0 ? (double) uploaded / (double) downloaded : 0, - TORRENT_COLUMN_DOWNLOADDIR, - downloadDir, - TORRENT_COLUMN_BANDWIDTH_PRIORITY, - torrent_get_bandwidth_priority(t), - TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t, - TORRENT_COLUMN_TRACKERHOST, - firstTrackerHost ? firstTrackerHost : "", - TORRENT_COLUMN_UPDATESERIAL, serial, -1); + TORRENT_COLUMN_ADDED, torrent_get_added_date(t), + TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t), + TORRENT_COLUMN_NAME, torrent_get_name(t), + TORRENT_COLUMN_SIZE, torrent_get_size(t), + TORRENT_COLUMN_DONE, + (newFlags & TORRENT_FLAG_CHECKING) ? + torrent_get_recheck_progress(t) + : torrent_get_percent_done(t), + TORRENT_COLUMN_STATUS, statusString, + TORRENT_COLUMN_DOWNSPEED, downRate, + TORRENT_COLUMN_FLAGS, newFlags, + TORRENT_COLUMN_UPSPEED, upRate, TORRENT_COLUMN_ETA, + torrent_get_eta(t), TORRENT_COLUMN_UPLOADED, + uploaded, TORRENT_COLUMN_DOWNLOADED, downloaded, + TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf), + TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf), + TORRENT_COLUMN_FROMTRACKERS, + peerfrom_get_trackers(pf), TORRENT_COLUMN_FROMLTEP, + peerfrom_get_ltep(pf), TORRENT_COLUMN_FROMRESUME, + peerfrom_get_resume(pf), + TORRENT_COLUMN_FROMINCOMING, + peerfrom_get_incoming(pf), + TORRENT_COLUMN_PEER_SOURCES, peerSources, + TORRENT_COLUMN_PEERS_CONNECTED, + torrent_get_peers_connected(t), + TORRENT_COLUMN_PEERS_TO_US, + torrent_get_peers_sending_to_us(t), + TORRENT_COLUMN_PEERS_FROM_US, + torrent_get_peers_getting_from_us(t), + TORRENT_COLUMN_QUEUE_POSITION, + torrent_get_queue_position(t), + TORRENT_COLUMN_LASTACTIVE, + torrent_get_activity_date(t), TORRENT_COLUMN_RATIO, + uploaded > 0 + && downloaded > + 0 ? (double) uploaded / (double) downloaded : 0, + TORRENT_COLUMN_DOWNLOADDIR, downloadDir, + TORRENT_COLUMN_BANDWIDTH_PRIORITY, + torrent_get_bandwidth_priority(t), + TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t, + TORRENT_COLUMN_TRACKERHOST, + firstTrackerHost ? firstTrackerHost : "", + TORRENT_COLUMN_UPDATESERIAL, serial, -1); #endif if (!lastDownloadDir || g_strcmp0(downloadDir, lastDownloadDir)) { - gchar *shortDownloadDir = shorten_download_dir(tc, downloadDir); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT, - shortDownloadDir, -1); - g_free(shortDownloadDir); - *updateFilters = TRUE; + gchar *shortDownloadDir = shorten_download_dir(tc, downloadDir); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT, + shortDownloadDir, -1); + g_free(shortDownloadDir); + *updateFilters = TRUE; } if (lastJson) - json_object_unref(lastJson); + json_object_unref(lastJson); if ((lastFlags & TORRENT_FLAG_DOWNLOADING) - && (newFlags & TORRENT_FLAG_COMPLETE)) - g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter); + && (newFlags & TORRENT_FLAG_COMPLETE)) + g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter); trg_torrent_model_count_peers(model, iter, t); if (firstTrackerHost) - g_free(firstTrackerHost); + g_free(firstTrackerHost); if (peerSources) - g_free(peerSources); + g_free(peerSources); g_free(lastDownloadDir); g_free(statusString); g_free(statusIcon); } -TrgTorrentModel *trg_torrent_model_new(void) { +TrgTorrentModel *trg_torrent_model_new(void) +{ return g_object_new(TRG_TYPE_TORRENT_MODEL, NULL); } @@ -533,67 +595,79 @@ struct TrgModelRemoveData { gint64 currentSerial; }; -GHashTable *get_torrent_table(TrgTorrentModel * model) { +GHashTable *get_torrent_table(TrgTorrentModel * model) +{ TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); return priv->ht; } gboolean trg_model_find_removed_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer gdata) { + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer gdata) +{ struct TrgModelRemoveData *args = (struct TrgModelRemoveData *) gdata; gint64 rowSerial; - gtk_tree_model_get(model, iter, TORRENT_COLUMN_UPDATESERIAL, &rowSerial, - -1); + gtk_tree_model_get(model, iter, TORRENT_COLUMN_UPDATESERIAL, + &rowSerial, -1); if (rowSerial != args->currentSerial) { - gint64 *id = g_new(gint64, 1); - gtk_tree_model_get(model, iter, TORRENT_COLUMN_ID, id, -1); - args->toRemove = g_list_append(args->toRemove, id); + gint64 *id = g_new(gint64, 1); + gtk_tree_model_get(model, iter, TORRENT_COLUMN_ID, id, -1); + args->toRemove = g_list_append(args->toRemove, id); } return FALSE; } GList *trg_torrent_model_find_removed(GtkTreeModel * model, - gint64 currentSerial) { + gint64 currentSerial) +{ struct TrgModelRemoveData args; args.toRemove = NULL; args.currentSerial = currentSerial; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_model_find_removed_foreachfunc, &args); + trg_model_find_removed_foreachfunc, &args); return args.toRemove; } gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t, - GtkTreeIter * out_iter) { + GtkTreeIter * out_iter) +{ gpointer result = g_hash_table_lookup(table, &id); gboolean found = FALSE; if (result) { - GtkTreeRowReference *rr = (GtkTreeRowReference *) result; - GtkTreePath *path = gtk_tree_row_reference_get_path(rr); - GtkTreeIter iter; - if (path) { - GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); - gtk_tree_model_get_iter(model, &iter, path); - if (out_iter) - *out_iter = iter; - if (t) - gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, t, -1); - found = TRUE; - gtk_tree_path_free(path); - } + GtkTreeRowReference *rr = (GtkTreeRowReference *) result; + GtkTreePath *path = gtk_tree_row_reference_get_path(rr); + GtkTreeIter iter; + if (path) { + GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); + gtk_tree_model_get_iter(model, &iter, path); + if (out_iter) + *out_iter = iter; + if (t) + gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, t, + -1); + found = TRUE; + gtk_tree_path_free(path); + } } return found; } -trg_torrent_model_update_stats* trg_torrent_model_update(TrgTorrentModel * model, TrgClient * tc, - JsonObject * response, - gint mode) { +trg_torrent_model_update_stats *trg_torrent_model_update(TrgTorrentModel * + model, + TrgClient * tc, + JsonObject * + response, + gint mode) +{ TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); GList *torrentList; @@ -616,73 +690,76 @@ trg_torrent_model_update_stats* trg_torrent_model_update(TrgTorrentModel * model memset(&(priv->stats), 0, sizeof(trg_torrent_model_update_stats)); for (li = torrentList; li; li = g_list_next(li)) { - t = json_node_get_object((JsonNode *) li->data); - id = torrent_get_id(t); - - result = - mode == TORRENT_GET_MODE_FIRST ? NULL : - g_hash_table_lookup(priv->ht, &id); - - if (!result) { - gtk_list_store_append(GTK_LIST_STORE(model), &iter); - - update_torrent_iter(model, tc, rpcv, trg_client_get_serial(tc), - &iter, t, &(priv->stats), &updateFilters); - - path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &iter); - rr = gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); - idCopy = g_new(gint64, 1); - *idCopy = id; - g_hash_table_insert(priv->ht, idCopy, rr); - gtk_tree_path_free(path); - if (mode != TORRENT_GET_MODE_FIRST) - g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, &iter); - } else { - path = gtk_tree_row_reference_get_path( - (GtkTreeRowReference *) result); - if (path) { - if (gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, - path)) { - update_torrent_iter(model, tc, rpcv, - trg_client_get_serial(tc), &iter, t, &(priv->stats), &updateFilters); - } - gtk_tree_path_free(path); - } - } + t = json_node_get_object((JsonNode *) li->data); + id = torrent_get_id(t); + + result = + mode == TORRENT_GET_MODE_FIRST ? NULL : + g_hash_table_lookup(priv->ht, &id); + + if (!result) { + gtk_list_store_append(GTK_LIST_STORE(model), &iter); + + update_torrent_iter(model, tc, rpcv, trg_client_get_serial(tc), + &iter, t, &(priv->stats), &updateFilters); + + path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &iter); + rr = gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); + idCopy = g_new(gint64, 1); + *idCopy = id; + g_hash_table_insert(priv->ht, idCopy, rr); + gtk_tree_path_free(path); + if (mode != TORRENT_GET_MODE_FIRST) + g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, + &iter); + } else { + path = gtk_tree_row_reference_get_path((GtkTreeRowReference *) + result); + if (path) { + if (gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, + path)) { + update_torrent_iter(model, tc, rpcv, + trg_client_get_serial(tc), &iter, + t, &(priv->stats), &updateFilters); + } + gtk_tree_path_free(path); + } + } } g_list_free(torrentList); if (mode == TORRENT_GET_MODE_UPDATE) { - GList *hitlist = trg_torrent_model_find_removed(GTK_TREE_MODEL(model), - trg_client_get_serial(tc)); - if (hitlist) { - for (li = hitlist; li; li = g_list_next(li)) { - g_hash_table_remove(priv->ht, li->data); - g_free(li->data); - } - updateFilters = TRUE; - g_list_free(hitlist); - } + GList *hitlist = + trg_torrent_model_find_removed(GTK_TREE_MODEL(model), + trg_client_get_serial(tc)); + if (hitlist) { + for (li = hitlist; li; li = g_list_next(li)) { + g_hash_table_remove(priv->ht, li->data); + g_free(li->data); + } + updateFilters = TRUE; + g_list_free(hitlist); + } } else if (mode > TORRENT_GET_MODE_FIRST) { - removedTorrents = get_torrents_removed(args); - if (removedTorrents) { - GList *hitlist = json_array_get_elements(removedTorrents); - for (li = hitlist; li; li = g_list_next(li)) { - id = json_node_get_int((JsonNode *) li->data); - g_hash_table_remove(priv->ht, &id); - updateFilters = TRUE; - } - g_list_free(hitlist); - } + removedTorrents = get_torrents_removed(args); + if (removedTorrents) { + GList *hitlist = json_array_get_elements(removedTorrents); + for (li = hitlist; li; li = g_list_next(li)) { + id = json_node_get_int((JsonNode *) li->data); + g_hash_table_remove(priv->ht, &id); + updateFilters = TRUE; + } + g_list_free(hitlist); + } } if (updateFilters) - g_signal_emit(model, signals[TMODEL_UPDATE_FILTERS], 0); + g_signal_emit(model, signals[TMODEL_UPDATE_FILTERS], 0); gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_torrent_model_stats_scan_foreachfunc, &(priv->stats)); + trg_torrent_model_stats_scan_foreachfunc, + &(priv->stats)); return &(priv->stats); } - diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index e036d5d..a29c279 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -44,9 +44,9 @@ G_BEGIN_DECLS typedef struct { GtkListStoreClass parent_class; void (*torrent_completed) (TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data); + GtkTreeIter * iter, gpointer data); void (*torrent_added) (TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data); + GtkTreeIter * iter, gpointer data); void (*torrent_removed) (TrgTorrentModel * model, gpointer data); } TrgTorrentModelClass; @@ -66,26 +66,30 @@ GType trg_torrent_model_get_type(void); TrgTorrentModel *trg_torrent_model_new(); G_END_DECLS - gboolean find_existing_peer_item(GtkListStore * model, JsonObject * p, - GtkTreeIter * iter); + GtkTreeIter * iter); -trg_torrent_model_update_stats* trg_torrent_model_update(TrgTorrentModel * model, TrgClient * tc, - JsonObject * response, - gint mode); -trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel * model); +trg_torrent_model_update_stats *trg_torrent_model_update(TrgTorrentModel * + model, + TrgClient * tc, + JsonObject * + response, + gint mode); +trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel + * model); GHashTable *get_torrent_table(TrgTorrentModel * model); -void trg_torrent_model_remove_all(TrgTorrentModel *model); +void trg_torrent_model_remove_all(TrgTorrentModel * model); gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model); gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t, - GtkTreeIter * out_iter); + GtkTreeIter * out_iter); -gchar *shorten_download_dir(TrgClient *tc, const gchar *downloadDir); -void trg_torrent_model_reload_dir_aliases(TrgClient *tc, GtkTreeModel *model); +gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir); +void trg_torrent_model_reload_dir_aliases(TrgClient * tc, + GtkTreeModel * model); enum { TORRENT_COLUMN_ICON, @@ -127,4 +131,4 @@ enum { TORRENT_COLUMN_COLUMNS }; -#endif /* TRG_TORRENT_MODEL_H_ */ +#endif /* TRG_TORRENT_MODEL_H_ */ diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c index 4343373..bfd18f2 100644 --- a/src/trg-torrent-move-dialog.c +++ b/src/trg-torrent-move-dialog.c @@ -31,7 +31,7 @@ #include "requests.h" G_DEFINE_TYPE(TrgTorrentMoveDialog, trg_torrent_move_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_MOVE_DIALOG, TrgTorrentMoveDialogPrivate)) typedef struct _TrgTorrentMoveDialogPrivate @@ -56,23 +56,24 @@ static void trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_ACCEPT) { - gchar *location = - trg_destination_combo_get_dir(TRG_DESTINATION_COMBO - (priv->location_combo)); - JsonNode *request = torrent_set_location(priv->ids, location, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON - (priv->move_check))); - g_free(location); - request_set_tag_from_ids(request, priv->ids); - trg_destination_combo_save_selection(TRG_DESTINATION_COMBO(priv->location_combo)); - dispatch_async(priv->client, request, - on_generic_interactive_action, data); + gchar *location = + trg_destination_combo_get_dir(TRG_DESTINATION_COMBO + (priv->location_combo)); + JsonNode *request = torrent_set_location(priv->ids, location, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON + (priv->move_check))); + g_free(location); + request_set_tag_from_ids(request, priv->ids); + trg_destination_combo_save_selection(TRG_DESTINATION_COMBO + (priv->location_combo)); + dispatch_async(priv->client, request, + on_generic_interactive_action, data); } else { - json_array_unref(priv->ids); + json_array_unref(priv->ids); } gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -80,22 +81,25 @@ trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data) static void location_changed(GtkWidget * w, gpointer data) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(data); - gtk_widget_set_sensitive(priv->move_button, trg_destination_combo_has_text(TRG_DESTINATION_COMBO(priv->location_combo))); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(data); + gtk_widget_set_sensitive(priv->move_button, + trg_destination_combo_has_text + (TRG_DESTINATION_COMBO + (priv->location_combo))); } static GObject *trg_torrent_move_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object = G_OBJECT_CLASS - (trg_torrent_move_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_move_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); gint count; gchar *msg; @@ -105,109 +109,117 @@ static GObject *trg_torrent_move_dialog_constructor(GType type, t = hig_workarea_create(); - w = priv->location_combo = trg_destination_combo_new(priv->client, TRG_PREFS_KEY_LAST_MOVE_DESTINATION); - g_signal_connect(trg_destination_combo_get_entry(TRG_DESTINATION_COMBO(w)), "changed", G_CALLBACK(location_changed), object); + w = priv->location_combo = + trg_destination_combo_new(priv->client, + TRG_PREFS_KEY_LAST_MOVE_DESTINATION); + g_signal_connect(trg_destination_combo_get_entry + (TRG_DESTINATION_COMBO(w)), "changed", + G_CALLBACK(location_changed), object); hig_workarea_add_row(t, &row, _("Location:"), w, NULL); priv->move_check = - hig_workarea_add_wide_checkbutton(t, &row, _("Move"), TRUE); + hig_workarea_add_wide_checkbutton(t, &row, _("Move"), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); priv->move_button = - gtk_dialog_add_button(GTK_DIALOG(object), _("Move"), - GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button(GTK_DIALOG(object), _("Move"), + GTK_RESPONSE_ACCEPT); - gtk_widget_set_sensitive(priv->move_button, trg_destination_combo_has_text(TRG_DESTINATION_COMBO(priv->location_combo))); + gtk_widget_set_sensitive(priv->move_button, + trg_destination_combo_has_text + (TRG_DESTINATION_COMBO + (priv->location_combo))); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), - GTK_RESPONSE_ACCEPT); + GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(object), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD); - gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area (GTK_DIALOG(object))), t, TRUE, TRUE, - 0); + gtk_box_pack_start(GTK_BOX + (gtk_dialog_get_content_area(GTK_DIALOG(object))), + t, TRUE, TRUE, 0); count = - gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection - (GTK_TREE_VIEW - (priv->treeview))); + gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection + (GTK_TREE_VIEW + (priv->treeview))); priv->ids = build_json_id_array(priv->treeview); if (count == 1) { - JsonObject *json; - const gchar *name; - - get_torrent_data(trg_client_get_torrent_table(priv->client), - trg_mw_get_selected_torrent_id(priv->win), &json, - NULL); - name = torrent_get_name(json); - msg = g_strdup_printf(_("Move %s"), name); + JsonObject *json; + const gchar *name; + + get_torrent_data(trg_client_get_torrent_table(priv->client), + trg_mw_get_selected_torrent_id(priv->win), &json, + NULL); + name = torrent_get_name(json); + msg = g_strdup_printf(_("Move %s"), name); } else { - msg = g_strdup_printf(_("Move %d torrents"), count); + msg = g_strdup_printf(_("Move %d torrents"), count); } gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->win)); + GTK_WINDOW(priv->win)); gtk_window_set_title(GTK_WINDOW(object), msg); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_torrent_move_response_cb), priv->win); + "response", + G_CALLBACK(trg_torrent_move_response_cb), priv->win); return object; } static void trg_torrent_move_dialog_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; case PROP_PARENT_WINDOW: - g_value_set_object(value, priv->win); - break; + g_value_set_object(value, priv->win); + break; case PROP_TREEVIEW: - g_value_set_object(value, priv->treeview); - break; + g_value_set_object(value, priv->treeview); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_torrent_move_dialog_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_PARENT_WINDOW: - priv->win = g_value_get_object(value); - break; + priv->win = g_value_get_object(value); + break; case PROP_TREEVIEW: - priv->treeview = g_value_get_object(value); - break; + priv->treeview = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -223,39 +235,39 @@ trg_torrent_move_dialog_class_init(TrgTorrentMoveDialogClass * klass) object_class->constructor = trg_torrent_move_dialog_constructor; g_object_class_install_property(object_class, - PROP_TREEVIEW, - g_param_spec_object - ("torrent-tree-view", - "TrgTorrentTreeView", - "TrgTorrentTreeView", - TRG_TYPE_TORRENT_TREE_VIEW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_TREEVIEW, + g_param_spec_object + ("torrent-tree-view", + "TrgTorrentTreeView", + "TrgTorrentTreeView", + TRG_TYPE_TORRENT_TREE_VIEW, + 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_PARENT_WINDOW, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT_WINDOW, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) @@ -263,11 +275,11 @@ static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) } TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, - TrgClient * client, - TrgTorrentTreeView * ttv) + TrgClient * client, + TrgTorrentTreeView * ttv) { return g_object_new(TRG_TYPE_TORRENT_MOVE_DIALOG, - "trg-client", client, - "torrent-tree-view", ttv, - "parent-window", win, NULL); + "trg-client", client, + "torrent-tree-view", ttv, + "parent-window", win, NULL); } diff --git a/src/trg-torrent-move-dialog.h b/src/trg-torrent-move-dialog.h index c99f78f..40c38ca 100644 --- a/src/trg-torrent-move-dialog.h +++ b/src/trg-torrent-move-dialog.h @@ -49,9 +49,9 @@ typedef struct { GType trg_torrent_move_dialog_get_type(void); TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, - TrgClient * client, - TrgTorrentTreeView * - ttv); + TrgClient * client, + TrgTorrentTreeView * + ttv); G_END_DECLS -#endif /* TRG_TORRENT_MOVE_DIALOG_H_ */ +#endif /* TRG_TORRENT_MOVE_DIALOG_H_ */ diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 8f650bf..9486c41 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -47,7 +47,7 @@ */ G_DEFINE_TYPE(TrgTorrentPropsDialog, trg_torrent_props_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) enum { PROP_0, @@ -73,51 +73,51 @@ struct _TrgTorrentPropsDialogPrivate { static void trg_torrent_props_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_PARENT_WINDOW: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_TREEVIEW: - priv->tv = g_value_get_object(value); - break; + priv->tv = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; } } static void trg_torrent_props_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_TREEVIEW: - g_value_set_object(value, priv->tv); - break; + g_value_set_object(value, priv->tv); + break; case PROP_PARENT_WINDOW: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; } } static void trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv; JsonNode *request; @@ -126,9 +126,9 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, priv = TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(dlg); if (res_id != GTK_RESPONSE_OK) { - gtk_widget_destroy(GTK_WIDGET(dlg)); - json_array_unref(priv->targetIds); - return; + gtk_widget_destroy(GTK_WIDGET(dlg)); + json_array_unref(priv->targetIds); + return; } request = torrent_set(priv->targetIds); @@ -136,19 +136,18 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, args = node_get_arguments(request); json_object_set_int_member(args, FIELD_SEED_RATIO_MODE, - gtk_combo_box_get_active(GTK_COMBO_BOX - (priv-> - seedRatioMode))); + gtk_combo_box_get_active(GTK_COMBO_BOX + (priv->seedRatioMode))); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, - gtk_combo_box_get_active(GTK_COMBO_BOX - (priv-> - bandwidthPriorityCombo)) - 1); + gtk_combo_box_get_active(GTK_COMBO_BOX + (priv->bandwidthPriorityCombo)) + - 1); trg_json_widgets_save(priv->widgets, args); trg_json_widget_desc_list_free(priv->widgets); dispatch_async(priv->client, request, - on_generic_interactive_action, priv->parent); + on_generic_interactive_action, priv->parent); gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -156,15 +155,15 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, static void seed_ratio_mode_changed_cb(GtkWidget * w, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_combo_box_get_active(GTK_COMBO_BOX(w)) - == 1 ? TRUE : FALSE); + gtk_combo_box_get_active(GTK_COMBO_BOX(w)) + == 1 ? TRUE : FALSE); } static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, - JsonObject * json) + JsonObject * json) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(win); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -172,54 +171,75 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, hig_workarea_add_section_title(t, &row, _("Bandwidth")); - w = trg_json_widget_check_new(&priv->widgets, json, FIELD_HONORS_SESSION_LIMITS, _("Honor global limits"), NULL); + w = trg_json_widget_check_new(&priv->widgets, json, + FIELD_HONORS_SESSION_LIMITS, + _("Honor global limits"), NULL); hig_workarea_add_wide_control(t, &row, w); - w = priv->bandwidthPriorityCombo = gtr_combo_box_new_enum(_("Low"), 0, _("Normal"), 1, _("High"), 2, NULL); + w = priv->bandwidthPriorityCombo = + gtr_combo_box_new_enum(_("Low"), 0, _("Normal"), 1, _("High"), 2, + NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(w), - torrent_get_bandwidth_priority(json) + 1); + torrent_get_bandwidth_priority(json) + 1); hig_workarea_add_row(t, &row, _("Torrent priority:"), w, NULL); if (json_object_has_member(json, FIELD_QUEUE_POSITION)) { - w = trg_json_widget_spin_new_int(&priv->widgets, json, FIELD_QUEUE_POSITION, NULL, 0, INT_MAX, 1); - hig_workarea_add_row(t, &row, _("Queue Position:"), w, w); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + FIELD_QUEUE_POSITION, NULL, 0, + INT_MAX, 1); + hig_workarea_add_row(t, &row, _("Queue Position:"), w, w); } - tb = trg_json_widget_check_new(&priv->widgets, json, FIELD_DOWNLOAD_LIMITED, _("Limit download speed (Kbps)"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, FIELD_DOWNLOAD_LIMIT, tb, 0, INT_MAX, 1); + tb = trg_json_widget_check_new(&priv->widgets, json, + FIELD_DOWNLOAD_LIMITED, + _("Limit download speed (Kbps)"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + FIELD_DOWNLOAD_LIMIT, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); - tb = trg_json_widget_check_new(&priv->widgets, json, FIELD_UPLOAD_LIMITED, _("Limit upload speed (Kbps)"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, FIELD_UPLOAD_LIMIT, tb, 0, INT_MAX, 1); + tb = trg_json_widget_check_new(&priv->widgets, json, + FIELD_UPLOAD_LIMITED, + _("Limit upload speed (Kbps)"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + FIELD_UPLOAD_LIMIT, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, _("Seeding")); - w = priv->seedRatioMode = gtr_combo_box_new_enum(_("Use global settings"), 0, _("Stop seeding at ratio"), 1, _("Seed regardless of ratio"), 2, NULL); + w = priv->seedRatioMode = + gtr_combo_box_new_enum(_("Use global settings"), 0, + _("Stop seeding at ratio"), 1, + _("Seed regardless of ratio"), 2, NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(w), - torrent_get_seed_ratio_mode(json)); + torrent_get_seed_ratio_mode(json)); hig_workarea_add_row(t, &row, _("Seed ratio mode:"), w, NULL); - w = trg_json_widget_spin_new_double(&priv->widgets, json, FIELD_SEED_RATIO_LIMIT, NULL, 0, INT_MAX, 0.2); + w = trg_json_widget_spin_new_double(&priv->widgets, json, + FIELD_SEED_RATIO_LIMIT, NULL, 0, + INT_MAX, 0.2); seed_ratio_mode_changed_cb(priv->seedRatioMode, w); g_signal_connect(G_OBJECT(priv->seedRatioMode), "changed", - G_CALLBACK(seed_ratio_mode_changed_cb), w); + G_CALLBACK(seed_ratio_mode_changed_cb), w); hig_workarea_add_row(t, &row, _("Seed ratio limit:"), w, w); hig_workarea_add_section_title(t, &row, _("Peers")); - w = trg_json_widget_spin_new_int(&priv->widgets, json, FIELD_PEER_LIMIT, NULL, 0, INT_MAX, 5); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + FIELD_PEER_LIMIT, NULL, 0, INT_MAX, + 5); hig_workarea_add_row(t, &row, _("Peer limit:"), w, w); return t; } static GObject *trg_torrent_props_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object; TrgTorrentPropsDialogPrivate *priv; @@ -229,59 +249,57 @@ static GObject *trg_torrent_props_dialog_constructor(GType type, GtkWidget *notebook, *contentvbox; object = G_OBJECT_CLASS - (trg_torrent_props_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_props_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->tv)); rowCount = gtk_tree_selection_count_selected_rows(selection); get_torrent_data(trg_client_get_torrent_table(priv->client), - trg_mw_get_selected_torrent_id(priv->parent), &json, - NULL); + trg_mw_get_selected_torrent_id(priv->parent), &json, + NULL); priv->targetIds = build_json_id_array(priv->tv); if (rowCount > 1) { - gchar *windowTitle = - g_strdup_printf(_("Multiple (%d) torrent properties"), - rowCount); - gtk_window_set_title(GTK_WINDOW(object), windowTitle); - g_free(windowTitle); + gchar *windowTitle = + g_strdup_printf(_("Multiple (%d) torrent properties"), + rowCount); + gtk_window_set_title(GTK_WINDOW(object), windowTitle); + g_free(windowTitle); } else if (rowCount == 1) { - gtk_window_set_title(GTK_WINDOW(object), torrent_get_name(json)); + gtk_window_set_title(GTK_WINDOW(object), torrent_get_name(json)); } gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, - GTK_RESPONSE_OK); + GTK_RESPONSE_OK); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); - gtk_dialog_set_default_response(GTK_DIALOG(object), - GTK_RESPONSE_OK); + gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_torrent_props_response_cb), NULL); + "response", + G_CALLBACK(trg_torrent_props_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_props_limitsPage - (TRG_TORRENT_PROPS_DIALOG(object), json), - gtk_label_new(_("Limits"))); + trg_props_limitsPage + (TRG_TORRENT_PROPS_DIALOG(object), json), + gtk_label_new(_("Limits"))); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); contentvbox = gtk_dialog_get_content_area(GTK_DIALOG(object)); - gtk_box_pack_start(GTK_BOX(contentvbox), notebook, - TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(contentvbox), notebook, TRUE, TRUE, 0); return object; } @@ -298,39 +316,39 @@ trg_torrent_props_dialog_class_init(TrgTorrentPropsDialogClass * klass) g_type_class_add_private(klass, sizeof(TrgTorrentPropsDialogPrivate)); g_object_class_install_property(object_class, - PROP_TREEVIEW, - g_param_spec_object - ("torrent-tree-view", - "TrgTorrentTreeView", - "TrgTorrentTreeView", - TRG_TYPE_TORRENT_TREE_VIEW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_TREEVIEW, + g_param_spec_object + ("torrent-tree-view", + "TrgTorrentTreeView", + "TrgTorrentTreeView", + TRG_TYPE_TORRENT_TREE_VIEW, + 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_PARENT_WINDOW, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT_WINDOW, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void @@ -340,12 +358,12 @@ trg_torrent_props_dialog_init(TrgTorrentPropsDialog * self G_GNUC_UNUSED) } TrgTorrentPropsDialog *trg_torrent_props_dialog_new(GtkWindow * window, - TrgTorrentTreeView * - treeview, - TrgClient * client) + TrgTorrentTreeView * + treeview, + TrgClient * client) { return g_object_new(TRG_TYPE_TORRENT_PROPS_DIALOG, - "parent-window", window, - "torrent-tree-view", treeview, - "trg-client", client, NULL); + "parent-window", window, + "torrent-tree-view", treeview, + "trg-client", client, NULL); } diff --git a/src/trg-torrent-props-dialog.h b/src/trg-torrent-props-dialog.h index 78d72de..9c935db 100644 --- a/src/trg-torrent-props-dialog.h +++ b/src/trg-torrent-props-dialog.h @@ -48,9 +48,9 @@ typedef struct { GType trg_torrent_props_dialog_get_type(void); TrgTorrentPropsDialog *trg_torrent_props_dialog_new(GtkWindow * window, - TrgTorrentTreeView * - treeview, - TrgClient * client); + TrgTorrentTreeView * + treeview, + TrgClient * client); G_END_DECLS -#endif /* TRG_TORRENT_PROPS_DIALOG_H_ */ +#endif /* TRG_TORRENT_PROPS_DIALOG_H_ */ diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index cbf20a0..de1d986 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -26,11 +26,11 @@ #include "trg-torrent-tree-view.h" G_DEFINE_TYPE(TrgTorrentTreeView, trg_torrent_tree_view, - TRG_TYPE_TREE_VIEW) + TRG_TYPE_TREE_VIEW) static void trg_torrent_tree_view_class_init(TrgTorrentTreeViewClass * - klass G_GNUC_UNUSED) + klass G_GNUC_UNUSED) { } @@ -40,104 +40,110 @@ static void trg_torrent_tree_view_init(TrgTorrentTreeView * tttv) trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, - TORRENT_COLUMN_NAME, _("Name"), "name", - 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, + TORRENT_COLUMN_NAME, _("Name"), "name", + 0); desc->model_column_icon = TORRENT_COLUMN_ICON; trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, TORRENT_COLUMN_SIZE, - _("Size"), "size", 0); + _("Size"), "size", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, TORRENT_COLUMN_DONE, - _("Done"), "done", 0); + _("Done"), "done", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_STATUS, - _("Status"), "status", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_SEEDS, - _("Seeds"), "seeds", 0); + _("Status"), "status", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_PEERS_TO_US, _("Sending"), - "sending", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_SEEDS, _("Seeds"), "seeds", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_LEECHERS, _("Leechers"), - "leechers", 0); + TORRENT_COLUMN_PEERS_TO_US, _("Sending"), + "sending", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_DOWNLOADS, _("Downloads"), - "downloads", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_LEECHERS, _("Leechers"), + "leechers", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_PEERS_FROM_US, _("Receiving"), - "connected-leechers", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_DOWNLOADS, _("Downloads"), + "downloads", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_PEERS_CONNECTED, _("Connected"), - "connected-peers", 0); + TORRENT_COLUMN_PEERS_FROM_US, _("Receiving"), + "connected-leechers", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMPEX, _("PEX Peers"), - "from-pex", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_PEERS_CONNECTED, + _("Connected"), "connected-peers", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMDHT, _("DHT Peers"), - "from-dht", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMPEX, _("PEX Peers"), + "from-pex", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMTRACKERS, _("Tracker Peers"), - "from-trackers", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMDHT, _("DHT Peers"), + "from-dht", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMLTEP, _("LTEP Peers"), - "from-ltep", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMTRACKERS, + _("Tracker Peers"), "from-trackers", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMRESUME, _("Resumed Peers"), - "from-resume", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMLTEP, _("LTEP Peers"), + "from-ltep", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMINCOMING, _("Incoming Peers"), - "from-incoming", TRG_COLUMN_EXTRA); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_PEER_SOURCES, - _("Peers T/I/E/H/X/L/R"), "peer-sources", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMRESUME, _("Resumed Peers"), + "from-resume", TRG_COLUMN_EXTRA); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, + TORRENT_COLUMN_FROMINCOMING, + _("Incoming Peers"), "from-incoming", + TRG_COLUMN_EXTRA); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, + TORRENT_COLUMN_PEER_SOURCES, + _("Peers T/I/E/H/X/L/R"), "peer-sources", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, - TORRENT_COLUMN_DOWNSPEED, _("Down Speed"), - "down-speed", 0); + TORRENT_COLUMN_DOWNSPEED, _("Down Speed"), + "down-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, - TORRENT_COLUMN_UPSPEED, _("Up Speed"), - "up-speed", 0); + TORRENT_COLUMN_UPSPEED, _("Up Speed"), + "up-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_ETA, TORRENT_COLUMN_ETA, - _("ETA"), "eta", 0); + _("ETA"), "eta", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, - TORRENT_COLUMN_UPLOADED, _("Uploaded"), - "uploaded", 0); + TORRENT_COLUMN_UPLOADED, _("Uploaded"), + "uploaded", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, - TORRENT_COLUMN_DOWNLOADED, _("Downloaded"), - "downloaded", 0); + TORRENT_COLUMN_DOWNLOADED, _("Downloaded"), + "downloaded", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_RATIO, TORRENT_COLUMN_RATIO, - _("Ratio"), "ratio", 0); + _("Ratio"), "ratio", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, TORRENT_COLUMN_ADDED, - _("Added"), "added", 0); + _("Added"), "added", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TORRENT_COLUMN_TRACKERHOST, _("First Tracker"), - "first-tracker", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_TRACKERHOST, + _("First Tracker"), "first-tracker", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TORRENT_COLUMN_DOWNLOADDIR, _("Location"), - "download-dir", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_DOWNLOADDIR, _("Location"), + "download-dir", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_ID, - _("ID"), "id", TRG_COLUMN_EXTRA); + _("ID"), "id", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PRIO, - TORRENT_COLUMN_BANDWIDTH_PRIORITY, - _("Priority"), "priority", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_BANDWIDTH_PRIORITY, + _("Priority"), "priority", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTEQZERO, - TORRENT_COLUMN_QUEUE_POSITION, - _("Queue Position"), "queue-position", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_QUEUE_POSITION, + _("Queue Position"), "queue-position", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, - TORRENT_COLUMN_DONE_DATE, _("Completed"), - "done-date", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_DONE_DATE, _("Completed"), + "done-date", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, - TORRENT_COLUMN_LASTACTIVE, _("Last Active"), - "last-active", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_LASTACTIVE, _("Last Active"), + "last-active", TRG_COLUMN_EXTRA); gtk_tree_view_set_search_column(GTK_TREE_VIEW(tttv), - TORRENT_COLUMN_NAME); + TORRENT_COLUMN_NAME); } static void trg_torrent_model_get_json_id_array_foreach(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonArray *output = (JsonArray *) data; gint64 id; @@ -148,18 +154,19 @@ trg_torrent_model_get_json_id_array_foreach(GtkTreeModel * model, JsonArray *build_json_id_array(TrgTorrentTreeView * tv) { GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); JsonArray *ids = json_array_new(); gtk_tree_selection_selected_foreach(selection, - (GtkTreeSelectionForeachFunc) - trg_torrent_model_get_json_id_array_foreach, - ids); + (GtkTreeSelectionForeachFunc) + trg_torrent_model_get_json_id_array_foreach, + ids); return ids; } -TrgTorrentTreeView *trg_torrent_tree_view_new(TrgPrefs *prefs, GtkTreeModel * model) +TrgTorrentTreeView *trg_torrent_tree_view_new(TrgPrefs * prefs, + GtkTreeModel * model) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_TREE_VIEW, NULL); diff --git a/src/trg-torrent-tree-view.h b/src/trg-torrent-tree-view.h index 318afd0..42887ef 100644 --- a/src/trg-torrent-tree-view.h +++ b/src/trg-torrent-tree-view.h @@ -50,8 +50,9 @@ typedef struct { GType trg_torrent_tree_view_get_type(void); -TrgTorrentTreeView *trg_torrent_tree_view_new(TrgPrefs *prefs, GtkTreeModel * model); +TrgTorrentTreeView *trg_torrent_tree_view_new(TrgPrefs * prefs, + GtkTreeModel * model); JsonArray *build_json_id_array(TrgTorrentTreeView * tv); G_END_DECLS -#endif /* _TRG_TORRENT_TREE_VIEW_H_ */ +#endif /* _TRG_TORRENT_TREE_VIEW_H_ */ diff --git a/src/trg-trackers-model.c b/src/trg-trackers-model.c index bfe8490..d86ed7a 100644 --- a/src/trg-trackers-model.c +++ b/src/trg-trackers-model.c @@ -49,8 +49,8 @@ gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model) } void trg_trackers_model_update(TrgTrackersModel * model, - gint64 updateSerial, JsonObject * t, - gint mode) + gint64 updateSerial, JsonObject * t, + gint mode) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); @@ -62,76 +62,93 @@ void trg_trackers_model_update(TrgTrackersModel * model, const gchar *scrape; if (mode == TORRENT_GET_MODE_FIRST) { - gtk_list_store_clear(GTK_LIST_STORE(model)); - priv->torrentId = torrent_get_id(t); - priv->accept = TRUE; + gtk_list_store_clear(GTK_LIST_STORE(model)); + priv->torrentId = torrent_get_id(t); + priv->accept = TRUE; } else if (!priv->accept) { - return; + return; } trackers = json_array_get_elements(torrent_get_tracker_stats(t)); for (li = trackers; li; li = g_list_next(li)) { - tracker = json_node_get_object((JsonNode *) li->data); - trackerId = tracker_stats_get_id(tracker); - announce = tracker_stats_get_announce(tracker); - scrape = tracker_stats_get_scrape(tracker); + tracker = json_node_get_object((JsonNode *) li->data); + trackerId = tracker_stats_get_id(tracker); + announce = tracker_stats_get_announce(tracker); + scrape = tracker_stats_get_scrape(tracker); - if (mode == TORRENT_GET_MODE_FIRST - || find_existing_model_item(GTK_TREE_MODEL(model), - TRACKERCOL_ID, trackerId, - &trackIter) == FALSE) - gtk_list_store_append(GTK_LIST_STORE(model), &trackIter); + if (mode == TORRENT_GET_MODE_FIRST + || find_existing_model_item(GTK_TREE_MODEL(model), + TRACKERCOL_ID, trackerId, + &trackIter) == FALSE) + gtk_list_store_append(GTK_LIST_STORE(model), &trackIter); #ifdef DEBUG - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ICON, GTK_STOCK_NETWORK, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_TIER, tracker_stats_get_tier(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ANNOUNCE, announce, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_SCRAPE, scrape, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ID, trackerId, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_UPDATESERIAL, updateSerial, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_ANNOUNCE_RESULT, tracker_stats_get_announce_result(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_ANNOUNCE_TIME, tracker_stats_get_last_announce_time(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_SCRAPE_TIME, tracker_stats_get_last_scrape_time(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_HOST, tracker_stats_get_host(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, tracker_stats_get_last_announce_peer_count(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LEECHERCOUNT, tracker_stats_get_leecher_count(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_SEEDERCOUNT, tracker_stats_get_seeder_count(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ICON, GTK_STOCK_NETWORK, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_TIER, + tracker_stats_get_tier(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ANNOUNCE, announce, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_SCRAPE, scrape, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ID, trackerId, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_UPDATESERIAL, updateSerial, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_ANNOUNCE_RESULT, + tracker_stats_get_announce_result(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_ANNOUNCE_TIME, + tracker_stats_get_last_announce_time(tracker), + -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_SCRAPE_TIME, + tracker_stats_get_last_scrape_time(tracker), + -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_HOST, + tracker_stats_get_host(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, + tracker_stats_get_last_announce_peer_count + (tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LEECHERCOUNT, + tracker_stats_get_leecher_count(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_SEEDERCOUNT, + tracker_stats_get_seeder_count(tracker), -1); #else - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ICON, GTK_STOCK_NETWORK, - TRACKERCOL_ID, trackerId, - TRACKERCOL_UPDATESERIAL, updateSerial, - TRACKERCOL_TIER, tracker_stats_get_tier(tracker), - TRACKERCOL_ANNOUNCE, announce, - TRACKERCOL_SCRAPE, scrape, - TRACKERCOL_HOST, tracker_stats_get_host(tracker), - TRACKERCOL_LAST_ANNOUNCE_RESULT, tracker_stats_get_announce_result(tracker), - TRACKERCOL_LAST_ANNOUNCE_TIME, tracker_stats_get_last_announce_time(tracker), - TRACKERCOL_LAST_SCRAPE_TIME, tracker_stats_get_last_scrape_time(tracker), - TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, tracker_stats_get_last_announce_peer_count(tracker), - TRACKERCOL_LEECHERCOUNT, tracker_stats_get_leecher_count(tracker), - TRACKERCOL_SEEDERCOUNT, tracker_stats_get_seeder_count(tracker), - -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ICON, GTK_STOCK_NETWORK, + TRACKERCOL_ID, trackerId, + TRACKERCOL_UPDATESERIAL, updateSerial, + TRACKERCOL_TIER, + tracker_stats_get_tier(tracker), + TRACKERCOL_ANNOUNCE, announce, + TRACKERCOL_SCRAPE, scrape, TRACKERCOL_HOST, + tracker_stats_get_host(tracker), + TRACKERCOL_LAST_ANNOUNCE_RESULT, + tracker_stats_get_announce_result(tracker), + TRACKERCOL_LAST_ANNOUNCE_TIME, + tracker_stats_get_last_announce_time(tracker), + TRACKERCOL_LAST_SCRAPE_TIME, + tracker_stats_get_last_scrape_time(tracker), + TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, + tracker_stats_get_last_announce_peer_count + (tracker), TRACKERCOL_LEECHERCOUNT, + tracker_stats_get_leecher_count(tracker), + TRACKERCOL_SEEDERCOUNT, + tracker_stats_get_seeder_count(tracker), -1); #endif } g_list_free(trackers); trg_model_remove_removed(GTK_LIST_STORE(model), - TRACKERCOL_UPDATESERIAL, updateSerial); + TRACKERCOL_UPDATESERIAL, updateSerial); } static void trg_trackers_model_class_init(TrgTrackersModelClass * klass) @@ -140,7 +157,7 @@ static void trg_trackers_model_class_init(TrgTrackersModelClass * klass) } void trg_trackers_model_set_accept(TrgTrackersModel * model, - gboolean accept) + gboolean accept) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); priv->accept = accept; @@ -170,7 +187,7 @@ static void trg_trackers_model_init(TrgTrackersModel * self) priv->torrentId = -1; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - TRACKERCOL_COLUMNS, column_types); + TRACKERCOL_COLUMNS, column_types); } TrgTrackersModel *trg_trackers_model_new(void) diff --git a/src/trg-trackers-model.h b/src/trg-trackers-model.h index 391b137..20189ce 100644 --- a/src/trg-trackers-model.h +++ b/src/trg-trackers-model.h @@ -49,15 +49,14 @@ TrgTrackersModel *trg_trackers_model_new(void); G_END_DECLS void trg_trackers_model_update(TrgTrackersModel * model, - gint64 updateSerial, JsonObject * t, - gint mode); + gint64 updateSerial, JsonObject * t, + gint mode); void trg_trackers_model_set_accept(TrgTrackersModel * model, - gboolean accept); + gboolean accept); gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model); void trg_trackers_model_set_no_selection(TrgTrackersModel * model); -typedef enum -{ +typedef enum { /* we won't (announce,scrape) this torrent to this tracker because * the torrent is stopped, or because of an error, or whatever */ TR_TRACKER_INACTIVE = 0, @@ -72,8 +71,7 @@ typedef enum /* we're (announcing,scraping) this torrent right now */ TR_TRACKER_ACTIVE = 3 -} -tr_tracker_state; +} tr_tracker_state; enum { /* trackers */ @@ -95,4 +93,4 @@ enum { TRACKERCOL_COLUMNS }; -#endif /* TRG_TRACKERS_MODEL_H_ */ +#endif /* TRG_TRACKERS_MODEL_H_ */ diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index 3a902e3..2edf858 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -32,7 +32,7 @@ #include "trg-main-window.h" G_DEFINE_TYPE(TrgTrackersTreeView, trg_trackers_tree_view, - TRG_TYPE_TREE_VIEW) + TRG_TYPE_TREE_VIEW) #define TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TRACKERS_TREE_VIEW, TrgTrackersTreeViewPrivate)) typedef struct _TrgTrackersTreeViewPrivate TrgTrackersTreeViewPrivate; @@ -50,18 +50,18 @@ trg_trackers_tree_view_class_init(TrgTrackersTreeViewClass * klass) g_type_class_add_private(klass, sizeof(TrgTrackersTreeViewPrivate)); } -static gboolean is_tracker_edit_supported(TrgClient *tc) +static gboolean is_tracker_edit_supported(TrgClient * tc) { return trg_client_get_rpc_version(tc) >= 10; } -static gboolean -on_trackers_update(gpointer data) +static gboolean on_trackers_update(gpointer data) { - trg_response *response = (trg_response*)data; + trg_response *response = (trg_response *) data; TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(response->cb_data); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(response->cb_data); + GtkTreeModel *model = + gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); trg_trackers_model_set_accept(TRG_TRACKERS_MODEL(model), TRUE); @@ -70,30 +70,30 @@ on_trackers_update(gpointer data) } void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, - TrgClient * tc) + TrgClient * tc) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); gboolean editable = is_tracker_edit_supported(tc); g_object_set(priv->announceRenderer, "editable", editable, NULL); g_object_set(priv->announceRenderer, "mode", - editable ? GTK_CELL_RENDERER_MODE_EDITABLE : - GTK_CELL_RENDERER_MODE_INERT, NULL); + editable ? GTK_CELL_RENDERER_MODE_EDITABLE : + GTK_CELL_RENDERER_MODE_INERT, NULL); } static void trg_tracker_announce_edited(GtkCellRendererText * renderer, - gchar * path, - gchar * new_text, - gpointer user_data) + gchar * path, + gchar * new_text, + gpointer user_data) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); GtkTreeModel *model = - gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); + gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); gint64 torrentId = - trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); + trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); JsonArray *torrentIds = json_array_new(); JsonArray *trackerModifiers = json_array_new(); @@ -105,9 +105,9 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, gtk_tree_model_get_iter_from_string(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ANNOUNCE, - new_text, -1); + new_text, -1); gtk_tree_model_get(model, &iter, TRACKERCOL_ID, &trackerId, - TRACKERCOL_ICON, &icon, -1); + TRACKERCOL_ICON, &icon, -1); json_array_add_int_element(torrentIds, torrentId); @@ -116,13 +116,13 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, args = node_get_arguments(req); if (!g_strcmp0(icon, GTK_STOCK_ADD)) { - json_array_add_string_element(trackerModifiers, new_text); - json_object_set_array_member(args, "trackerAdd", trackerModifiers); + json_array_add_string_element(trackerModifiers, new_text); + json_object_set_array_member(args, "trackerAdd", trackerModifiers); } else { - json_array_add_int_element(trackerModifiers, trackerId); - json_array_add_string_element(trackerModifiers, new_text); - json_object_set_array_member(args, "trackerReplace", - trackerModifiers); + json_array_add_int_element(trackerModifiers, trackerId); + json_array_add_string_element(trackerModifiers, new_text); + json_object_set_array_member(args, "trackerReplace", + trackerModifiers); } g_free(icon); @@ -131,26 +131,26 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, } static void trg_tracker_announce_editing_started(GtkCellRenderer * - renderer G_GNUC_UNUSED, - GtkCellEditable * - editable G_GNUC_UNUSED, - gchar * - path G_GNUC_UNUSED, - gpointer user_data) + renderer G_GNUC_UNUSED, + GtkCellEditable * + editable G_GNUC_UNUSED, + gchar * + path G_GNUC_UNUSED, + gpointer user_data) { TrgTrackersModel *model = - TRG_TRACKERS_MODEL(gtk_tree_view_get_model - (GTK_TREE_VIEW(user_data))); + TRG_TRACKERS_MODEL(gtk_tree_view_get_model + (GTK_TREE_VIEW(user_data))); trg_trackers_model_set_accept(model, FALSE); } static void trg_tracker_announce_editing_canceled(GtkWidget * - w G_GNUC_UNUSED, - gpointer data) + w G_GNUC_UNUSED, + gpointer data) { TrgTrackersModel *model = - TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); + TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); trg_trackers_model_set_accept(model, TRUE); } @@ -158,62 +158,68 @@ static void trg_tracker_announce_editing_canceled(GtkWidget * static void trg_trackers_tree_view_init(TrgTrackersTreeView * self) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(self); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(self); TrgTreeView *ttv = TRG_TREE_VIEW(self); trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, - TRACKERCOL_TIER, _("Tier"), "tier", - TRG_COLUMN_UNREMOVABLE); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, + TRACKERCOL_TIER, _("Tier"), "tier", + TRG_COLUMN_UNREMOVABLE); desc->model_column_icon = TRACKERCOL_ICON; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TRACKERCOL_ANNOUNCE, _("Announce URL"), - "announce-url", TRG_COLUMN_UNREMOVABLE); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, + TRACKERCOL_ANNOUNCE, _("Announce URL"), + "announce-url", TRG_COLUMN_UNREMOVABLE); priv->announceRenderer = desc->customRenderer = - gtk_cell_renderer_text_new(); + gtk_cell_renderer_text_new(); g_signal_connect(priv->announceRenderer, "edited", - G_CALLBACK(trg_tracker_announce_edited), self); + G_CALLBACK(trg_tracker_announce_edited), self); g_signal_connect(priv->announceRenderer, "editing-canceled", - G_CALLBACK(trg_tracker_announce_editing_canceled), - self); + G_CALLBACK(trg_tracker_announce_editing_canceled), + self); g_signal_connect(priv->announceRenderer, "editing-started", - G_CALLBACK(trg_tracker_announce_editing_started), - self); + G_CALLBACK(trg_tracker_announce_editing_started), + self); desc->out = &priv->announceColumn; - trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, - _("Peers"), "last-announce-peer-count", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TRACKERCOL_SEEDERCOUNT, - _("Seeder Count"), "seeder-count", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TRACKERCOL_LEECHERCOUNT, - _("Leecher Count"), "leecher-count", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, TRACKERCOL_LAST_ANNOUNCE_TIME, - _("Last Announce"), "last-announce-time", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TRACKERCOL_LAST_ANNOUNCE_RESULT, - _("Last Result"), "last-result", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, + TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, + _("Peers"), "last-announce-peer-count", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, + TRACKERCOL_SEEDERCOUNT, _("Seeder Count"), + "seeder-count", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, + TRACKERCOL_LEECHERCOUNT, _("Leecher Count"), + "leecher-count", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, + TRACKERCOL_LAST_ANNOUNCE_TIME, + _("Last Announce"), "last-announce-time", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, + TRACKERCOL_LAST_ANNOUNCE_RESULT, + _("Last Result"), "last-result", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TRACKERCOL_SCRAPE, - _("Scrape URL"), "scrape-url", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, TRACKERCOL_LAST_SCRAPE_TIME, - _("Last Scrape"), "last-scrape-time", TRG_COLUMN_EXTRA); + _("Scrape URL"), "scrape-url", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, + TRACKERCOL_LAST_SCRAPE_TIME, _("Last Scrape"), + "last-scrape-time", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TRACKERCOL_HOST, - _("Host"), "host", TRG_COLUMN_EXTRA); + _("Host"), "host", TRG_COLUMN_EXTRA); } static void add_tracker(GtkWidget * w, gpointer data) { GtkTreeView *tv = GTK_TREE_VIEW(data); TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); GtkTreeModel *model = gtk_tree_view_get_model(tv); GtkTreeIter iter; GtkTreePath *path; gtk_list_store_append(GTK_LIST_STORE(model), &iter); gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ICON, - GTK_STOCK_ADD, -1); + GTK_STOCK_ADD, -1); path = gtk_tree_model_get_path(model, &iter); gtk_tree_view_set_cursor(tv, path, priv->announceColumn, TRUE); @@ -223,13 +229,13 @@ static void add_tracker(GtkWidget * w, gpointer data) static void delete_tracker(GtkWidget * w, gpointer data) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); GtkTreeView *tv = GTK_TREE_VIEW(data); GList *selectionRefs = trg_tree_view_get_selected_refs_list(tv); GtkTreeModel *model = gtk_tree_view_get_model(tv); JsonArray *trackerIds = json_array_new(); gint64 torrentId = - trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); + trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); JsonArray *torrentIds = json_array_new(); JsonNode *req; @@ -237,19 +243,19 @@ static void delete_tracker(GtkWidget * w, gpointer data) GList *li; for (li = selectionRefs; li; li = g_list_next(li)) { - GtkTreeRowReference *rr = (GtkTreeRowReference *) li->data; - GtkTreePath *path = gtk_tree_row_reference_get_path(rr); - if (path) { - gint64 trackerId; - GtkTreeIter trackerIter; - gtk_tree_model_get_iter(model, &trackerIter, path); - gtk_tree_model_get(model, &trackerIter, TRACKERCOL_ID, - &trackerId, -1); - json_array_add_int_element(trackerIds, trackerId); - gtk_list_store_remove(GTK_LIST_STORE(model), &trackerIter); - gtk_tree_path_free(path); - } - gtk_tree_row_reference_free(rr); + GtkTreeRowReference *rr = (GtkTreeRowReference *) li->data; + GtkTreePath *path = gtk_tree_row_reference_get_path(rr); + if (path) { + gint64 trackerId; + GtkTreeIter trackerIter; + gtk_tree_model_get_iter(model, &trackerIter, path); + gtk_tree_model_get(model, &trackerIter, TRACKERCOL_ID, + &trackerId, -1); + json_array_add_int_element(trackerIds, trackerId); + gtk_list_store_remove(GTK_LIST_STORE(model), &trackerIter); + gtk_tree_path_free(path); + } + gtk_tree_row_reference_free(rr); } g_list_free(selectionRefs); @@ -268,85 +274,85 @@ static void delete_tracker(GtkWidget * w, gpointer data) static void view_popup_menu_add_only(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); menuitem = - trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), - GTK_STOCK_ADD, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), + GTK_STOCK_ADD, TRUE); g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), - treeview); + treeview); 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 void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); menuitem = - trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Delete"), - GTK_STOCK_DELETE, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Delete"), + GTK_STOCK_DELETE, TRUE); g_signal_connect(menuitem, "activate", G_CALLBACK(delete_tracker), - treeview); + treeview); menuitem = - trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), - GTK_STOCK_ADD, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), + GTK_STOCK_ADD, TRUE); g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), - treeview); + treeview); 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 gboolean view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(treeview); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(treeview); TrgTrackersModel *model = - TRG_TRACKERS_MODEL(gtk_tree_view_get_model - (GTK_TREE_VIEW(treeview))); + TRG_TRACKERS_MODEL(gtk_tree_view_get_model + (GTK_TREE_VIEW(treeview))); GtkTreeSelection *selection; GtkTreePath *path; if (!is_tracker_edit_supported(priv->client)) - return FALSE; + return FALSE; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - gtk_tree_path_free(path); - - view_popup_menu(treeview, event, userdata); - } else if (trg_trackers_model_get_torrent_id(model) >= 0) { - view_popup_menu_add_only(treeview, event, userdata); - } - return TRUE; + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + gtk_tree_path_free(path); + + view_popup_menu(treeview, event, userdata); + } else if (trg_trackers_model_get_torrent_id(model) >= 0) { + view_popup_menu_add_only(treeview, event, userdata); + } + return TRUE; } return FALSE; @@ -359,19 +365,20 @@ static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) } TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, - TrgClient * client, - TrgMainWindow * win) + TrgClient * client, + TrgMainWindow * win) { GObject *obj = g_object_new(TRG_TYPE_TRACKERS_TREE_VIEW, NULL); TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(obj); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(obj); - trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), trg_client_get_prefs(client)); + trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), + trg_client_get_prefs(client)); g_signal_connect(obj, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(obj, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); priv->client = client; diff --git a/src/trg-trackers-tree-view.h b/src/trg-trackers-tree-view.h index c98a472..d6a4942 100644 --- a/src/trg-trackers-tree-view.h +++ b/src/trg-trackers-tree-view.h @@ -51,10 +51,10 @@ typedef struct { GType trg_trackers_tree_view_get_type(void); TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, - TrgClient * client, - TrgMainWindow * win); + TrgClient * client, + TrgMainWindow * win); void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, - TrgClient * tc); + TrgClient * tc); G_END_DECLS -#endif /* TRG_TRACKERS_TREE_VIEW_H_ */ +#endif /* TRG_TRACKERS_TREE_VIEW_H_ */ diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index f4dae36..26c90cd 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -57,52 +57,60 @@ struct _TrgTreeViewPrivate { TrgPrefs *prefs; }; -gboolean trg_tree_view_is_column_showing(TrgTreeView *tv, gint index) { +gboolean trg_tree_view_is_column_showing(TrgTreeView * tv, gint index) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); GList *li; for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *cd = (trg_column_description*) li->data; - if (cd->model_column == index) { - if (cd->flags & TRG_COLUMN_SHOWING - ) - return TRUE; - else - break; - } + trg_column_description *cd = (trg_column_description *) li->data; + if (cd->model_column == index) { + if (cd->flags & TRG_COLUMN_SHOWING) + return TRUE; + else + break; + } } return FALSE; } static void trg_tree_view_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) { + GValue * value, GParamSpec * pspec) +{ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } static void trg_tree_view_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) { + const GValue * value, + GParamSpec * pspec) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(object); switch (property_id) { case PROP_PREFS: - priv->prefs = g_value_get_object(value); - break; + priv->prefs = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static GObject *trg_tree_view_constructor(GType type, - guint n_construct_properties, GObjectConstructParam * construct_params) { + guint n_construct_properties, + GObjectConstructParam * + construct_params) +{ GObject *obj = G_OBJECT_CLASS - (trg_tree_view_parent_class)->constructor(type, - n_construct_properties, construct_params); + (trg_tree_view_parent_class)->constructor(type, + n_construct_properties, + construct_params); return obj; } -static JsonObject* trg_prefs_get_tree_view_props(TrgTreeView *tv) { +static JsonObject *trg_prefs_get_tree_view_props(TrgTreeView * tv) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); JsonObject *root = trg_prefs_get_root(priv->prefs); const gchar *className = G_OBJECT_TYPE_NAME(tv); @@ -110,28 +118,34 @@ static JsonObject* trg_prefs_get_tree_view_props(TrgTreeView *tv) { JsonObject *tvProps = NULL; if (!json_object_has_member(root, TRG_PREFS_KEY_TREE_VIEWS)) { - obj = json_object_new(); - json_object_set_object_member(root, TRG_PREFS_KEY_TREE_VIEWS, obj); + obj = json_object_new(); + json_object_set_object_member(root, TRG_PREFS_KEY_TREE_VIEWS, obj); } else { - obj = json_object_get_object_member(root, TRG_PREFS_KEY_TREE_VIEWS); + obj = + json_object_get_object_member(root, TRG_PREFS_KEY_TREE_VIEWS); } if (!json_object_has_member(obj, className)) { - tvProps = json_object_new(); - json_object_set_object_member(obj, className, tvProps); + tvProps = json_object_new(); + json_object_set_object_member(obj, className, tvProps); } else { - tvProps = json_object_get_object_member(obj, className); + tvProps = json_object_get_object_member(obj, className); } return tvProps; } static void trg_tree_view_add_column_after(TrgTreeView * tv, - trg_column_description * desc, gint64 width, - GtkTreeViewColumn * after_col); - -trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, gint type, - gint model_column, gchar * header, gchar * id, gint flags) { + trg_column_description * desc, + gint64 width, + GtkTreeViewColumn * after_col); + +trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, + gint type, + gint model_column, + gchar * header, + gchar * id, gint flags) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); trg_column_description *desc = g_new0(trg_column_description, 1); @@ -147,43 +161,51 @@ trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, gint type, } static trg_column_description *trg_tree_view_find_column(TrgTreeView * tv, - const gchar * id) { + const gchar * id) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); GList *li; trg_column_description *desc; for (li = priv->columns; li; li = g_list_next(li)) { - desc = (trg_column_description *) li->data; - if (!g_strcmp0(desc->id, id)) - return desc; + desc = (trg_column_description *) li->data; + if (!g_strcmp0(desc->id, id)) + return desc; } return NULL; } -static void trg_tree_view_hide_column(GtkWidget * w, GtkTreeViewColumn * col) { +static void trg_tree_view_hide_column(GtkWidget * w, + GtkTreeViewColumn * col) +{ trg_column_description *desc = g_object_get_data(G_OBJECT(col), - "column-desc"); + "column-desc"); GtkWidget *tv = gtk_tree_view_column_get_tree_view(col); desc->flags &= ~TRG_COLUMN_SHOWING; gtk_tree_view_remove_column(GTK_TREE_VIEW(tv), col); } static void trg_tree_view_add_column(TrgTreeView * tv, - trg_column_description * desc, gint64 width) { + trg_column_description * desc, + gint64 width) +{ trg_tree_view_add_column_after(tv, desc, width, NULL); } static void trg_tree_view_user_add_column_cb(GtkWidget * w, - trg_column_description * desc) { + trg_column_description * desc) +{ GtkTreeViewColumn *col = g_object_get_data(G_OBJECT(w), "parent-col"); - TrgTreeView *tv = TRG_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)); + TrgTreeView *tv = + TRG_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)); trg_tree_view_add_column_after(tv, desc, -1, col); } static void view_popup_menu(GtkButton * button, GdkEventButton * event, - GtkTreeViewColumn * column) { + GtkTreeViewColumn * column) +{ GtkWidget *tv = gtk_tree_view_column_get_tree_view(column); TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); GtkWidget *menu, *menuitem; @@ -196,130 +218,179 @@ static void view_popup_menu(GtkButton * button, GdkEventButton * event, menuitem = gtk_check_menu_item_new_with_label(desc->header); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); g_signal_connect(menuitem, "activate", - G_CALLBACK(trg_tree_view_hide_column), column); - gtk_widget_set_sensitive(menuitem, !(desc->flags & TRG_COLUMN_UNREMOVABLE)); + G_CALLBACK(trg_tree_view_hide_column), column); + gtk_widget_set_sensitive(menuitem, + !(desc->flags & TRG_COLUMN_UNREMOVABLE)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *desc = (trg_column_description *) li->data; - if (!(desc->flags & TRG_COLUMN_SHOWING)) { - menuitem = gtk_check_menu_item_new_with_label(desc->header); - g_object_set_data(G_OBJECT(menuitem), "parent-col", column); - g_signal_connect(menuitem, "activate", - G_CALLBACK(trg_tree_view_user_add_column_cb), desc); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - } + trg_column_description *desc = (trg_column_description *) li->data; + if (!(desc->flags & TRG_COLUMN_SHOWING)) { + menuitem = gtk_check_menu_item_new_with_label(desc->header); + g_object_set_data(G_OBJECT(menuitem), "parent-col", column); + g_signal_connect(menuitem, "activate", + G_CALLBACK(trg_tree_view_user_add_column_cb), + desc); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + } } 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 gboolean col_onButtonPressed(GtkButton * button, GdkEventButton * event, - GtkTreeViewColumn * col) { +static gboolean col_onButtonPressed(GtkButton * button, + GdkEventButton * event, + GtkTreeViewColumn * col) +{ if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - view_popup_menu(button, event, col); - return TRUE; + view_popup_menu(button, event, col); + return TRUE; } return FALSE; } -static GtkTreeViewColumn *trg_tree_view_icontext_column_new( - trg_column_description *desc, gchar *renderer_property) { +static GtkTreeViewColumn + *trg_tree_view_icontext_column_new(trg_column_description * desc, + gchar * renderer_property) +{ GtkTreeViewColumn *column = gtk_tree_view_column_new(); GtkCellRenderer *renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_set_title(column, desc->header); gtk_tree_view_column_pack_start(column, renderer, FALSE); - gtk_tree_view_column_set_attributes(column, renderer, renderer_property, - desc->model_column_icon, NULL); + gtk_tree_view_column_set_attributes(column, renderer, + renderer_property, + desc->model_column_icon, NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_attributes(column, renderer, "text", - desc->model_column, NULL); + desc->model_column, NULL); return column; } static void trg_tree_view_add_column_after(TrgTreeView * tv, - trg_column_description * desc, gint64 width, - GtkTreeViewColumn * after_col) { + trg_column_description * desc, + gint64 width, + GtkTreeViewColumn * after_col) +{ GtkCellRenderer *renderer; GtkTreeViewColumn *column = NULL; switch (desc->type) { case TRG_COLTYPE_TEXT: - renderer = - desc->customRenderer ? desc->customRenderer : - gtk_cell_renderer_text_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "text", desc->model_column, NULL); - - break; + renderer = + desc->customRenderer ? desc->customRenderer : + gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, "text", + desc-> + model_column, + NULL); + + break; case TRG_COLTYPE_SPEED: - renderer = trg_cell_renderer_speed_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "speed-value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_speed_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "speed-value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_EPOCH: - renderer = trg_cell_renderer_epoch_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "epoch-value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_epoch_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "epoch-value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_ETA: - renderer = trg_cell_renderer_eta_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "eta-value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_eta_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "eta-value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_SIZE: - renderer = trg_cell_renderer_size_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "size-value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_size_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "size-value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_PROG: - renderer = gtk_cell_renderer_progress_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "value", desc->model_column, NULL); - break; + renderer = gtk_cell_renderer_progress_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_RATIO: - renderer = trg_cell_renderer_ratio_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "ratio-value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_ratio_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "ratio-value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_ICON: - column = gtk_tree_view_column_new(); - renderer = gtk_cell_renderer_pixbuf_new(); - gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 0.5f, 0.0); - gtk_tree_view_column_set_title(column, desc->header); - gtk_tree_view_column_pack_start(column, renderer, TRUE); - gtk_tree_view_column_set_attributes(column, renderer, "stock-id", - desc->model_column, NULL); - break; + column = gtk_tree_view_column_new(); + renderer = gtk_cell_renderer_pixbuf_new(); + gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 0.5f, + 0.0); + gtk_tree_view_column_set_title(column, desc->header); + gtk_tree_view_column_pack_start(column, renderer, TRUE); + gtk_tree_view_column_set_attributes(column, renderer, "stock-id", + desc->model_column, NULL); + break; case TRG_COLTYPE_STOCKICONTEXT: - column = trg_tree_view_icontext_column_new(desc, "stock-id"); - break; + column = trg_tree_view_icontext_column_new(desc, "stock-id"); + break; case TRG_COLTYPE_GICONTEXT: - column = trg_tree_view_icontext_column_new(desc, "gicon"); - break; + column = trg_tree_view_icontext_column_new(desc, "gicon"); + break; case TRG_COLTYPE_PRIO: - renderer = trg_cell_renderer_priority_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "priority-value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_priority_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "priority-value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_NUMGTZERO: - renderer = trg_cell_renderer_numgteqthan_new(1); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_numgteqthan_new(1); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "value", + desc-> + model_column, + NULL); + break; case TRG_COLTYPE_NUMGTEQZERO: - renderer = trg_cell_renderer_numgteqthan_new(0); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "value", desc->model_column, NULL); - break; + renderer = trg_cell_renderer_numgteqthan_new(0); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "value", + desc-> + model_column, + NULL); + break; } gtk_tree_view_column_set_min_width(column, 0); @@ -328,8 +399,9 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv, gtk_tree_view_column_set_sort_column_id(column, desc->model_column); if (width >= 0) { - gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_fixed_width(column, width); + gtk_tree_view_column_set_sizing(column, + GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_fixed_width(column, width); } g_object_set_data(G_OBJECT(column), "column-desc", desc); @@ -337,23 +409,26 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv, gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); if (after_col) - gtk_tree_view_move_column_after(GTK_TREE_VIEW(tv), column, after_col); + gtk_tree_view_move_column_after(GTK_TREE_VIEW(tv), column, + after_col); #if GTK_CHECK_VERSION( 3,0,0 ) - g_signal_connect(gtk_tree_view_column_get_button(column), "button-press-event", - G_CALLBACK(col_onButtonPressed), column); + g_signal_connect(gtk_tree_view_column_get_button(column), + "button-press-event", G_CALLBACK(col_onButtonPressed), + column); #else g_signal_connect(column->button, "button-press-event", - G_CALLBACK(col_onButtonPressed), column); + G_CALLBACK(col_onButtonPressed), column); #endif if (desc->out) - *(desc->out) = column; + *(desc->out) = column; desc->flags |= TRG_COLUMN_SHOWING; } -void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable) { +void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable) +{ JsonObject *props = trg_prefs_get_tree_view_props(tv); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); GList *cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(tv)); @@ -364,106 +439,123 @@ void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable) { JsonArray *widths, *columns; if (json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_WIDTHS); + json_object_remove_member(props, TRG_PREFS_KEY_TV_WIDTHS); widths = json_array_new(); json_object_set_array_member(props, TRG_PREFS_KEY_TV_WIDTHS, widths); if (json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_COLUMNS); + json_object_remove_member(props, TRG_PREFS_KEY_TV_COLUMNS); columns = json_array_new(); json_object_set_array_member(props, TRG_PREFS_KEY_TV_COLUMNS, columns); for (li = cols; li; li = g_list_next(li)) { - GtkTreeViewColumn *col = (GtkTreeViewColumn *) li->data; - trg_column_description *desc = g_object_get_data(G_OBJECT(li->data), - "column-desc"); - - json_array_add_string_element(columns, desc->id); - json_array_add_int_element(widths, gtk_tree_view_column_get_width(col)); + GtkTreeViewColumn *col = (GtkTreeViewColumn *) li->data; + trg_column_description *desc = + g_object_get_data(G_OBJECT(li->data), + "column-desc"); + + json_array_add_string_element(columns, desc->id); + json_array_add_int_element(widths, + gtk_tree_view_column_get_width(col)); } g_list_free(cols); - gtk_tree_sortable_get_sort_column_id( - GTK_TREE_SORTABLE(parentIsSortable ? gtk_tree_model_filter_get_model( - GTK_TREE_MODEL_FILTER(model)) : - model), &sort_column_id, &sort_type); + gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE + (parentIsSortable ? + gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER(model)) : + model), &sort_column_id, + &sort_type); if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_COL)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_COL); + json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_COL); if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); + json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_COL, - (gint64) sort_column_id); + (gint64) sort_column_id); json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_TYPE, - (gint64) sort_type); + (gint64) sort_type); } -void trg_tree_view_restore_sort(TrgTreeView * tv, gboolean parentIsSortable) { +void trg_tree_view_restore_sort(TrgTreeView * tv, + gboolean parentIsSortable) +{ JsonObject *props = trg_prefs_get_tree_view_props(tv); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_COL) - && json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) { - gint64 sort_col = json_object_get_int_member(props, - TRG_PREFS_KEY_TV_SORT_COL); - gint64 sort_type = json_object_get_int_member(props, - TRG_PREFS_KEY_TV_SORT_TYPE); - gtk_tree_sortable_set_sort_column_id( - GTK_TREE_SORTABLE(parentIsSortable ? gtk_tree_model_filter_get_model( - GTK_TREE_MODEL_FILTER(model)) : - model), sort_col, (GtkSortType) sort_type); + && json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) { + gint64 sort_col = json_object_get_int_member(props, + TRG_PREFS_KEY_TV_SORT_COL); + gint64 sort_type = json_object_get_int_member(props, + TRG_PREFS_KEY_TV_SORT_TYPE); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE + (parentIsSortable ? + gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER + (model)) : model), sort_col, + (GtkSortType) sort_type); } } -void trg_tree_view_set_prefs(TrgTreeView *tv, TrgPrefs *prefs) { +void trg_tree_view_set_prefs(TrgTreeView * tv, TrgPrefs * prefs) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); priv->prefs = prefs; } -void trg_tree_view_setup_columns(TrgTreeView * tv) { +void trg_tree_view_setup_columns(TrgTreeView * tv) +{ TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); JsonObject *props = trg_prefs_get_tree_view_props(tv); if (!json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS) - || !json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) { - GList *li; - for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *desc = (trg_column_description *) li->data; - if (desc && !(desc->flags & TRG_COLUMN_EXTRA)) - trg_tree_view_add_column(tv, desc, -1); - } - return; + || !json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) { + GList *li; + for (li = priv->columns; li; li = g_list_next(li)) { + trg_column_description *desc = + (trg_column_description *) li->data; + if (desc && !(desc->flags & TRG_COLUMN_EXTRA)) + trg_tree_view_add_column(tv, desc, -1); + } + return; } - GList *columns = json_array_get_elements( - json_object_get_array_member(props, TRG_PREFS_KEY_TV_COLUMNS)); - GList *widths = json_array_get_elements( - json_object_get_array_member(props, TRG_PREFS_KEY_TV_WIDTHS)); + GList *columns = + json_array_get_elements(json_object_get_array_member + (props, TRG_PREFS_KEY_TV_COLUMNS)); + GList *widths = + json_array_get_elements(json_object_get_array_member + (props, TRG_PREFS_KEY_TV_WIDTHS)); GList *wli = widths; GList *cli = columns; for (; cli; cli = g_list_next(cli)) { - trg_column_description *desc = trg_tree_view_find_column(tv, - json_node_get_string((JsonNode*) cli->data)); - if (desc) { - gint64 width = json_node_get_int((JsonNode*) wli->data); - trg_tree_view_add_column(tv, desc, width); - } - wli = g_list_next(wli); + trg_column_description *desc = trg_tree_view_find_column(tv, + json_node_get_string + ((JsonNode + *) cli-> + data)); + if (desc) { + gint64 width = json_node_get_int((JsonNode *) wli->data); + trg_tree_view_add_column(tv, desc, width); + } + wli = g_list_next(wli); } g_list_free(columns); g_list_free(widths); } -GList *trg_tree_view_get_selected_refs_list(GtkTreeView * tv) { +GList *trg_tree_view_get_selected_refs_list(GtkTreeView * tv) +{ GtkTreeModel *model = gtk_tree_view_get_model(tv); GtkTreeSelection *selection = gtk_tree_view_get_selection(tv); GList *li, *selectionList; @@ -471,17 +563,18 @@ GList *trg_tree_view_get_selected_refs_list(GtkTreeView * tv) { selectionList = gtk_tree_selection_get_selected_rows(selection, NULL); for (li = selectionList; li != NULL; li = g_list_next(li)) { - GtkTreePath *path = (GtkTreePath *) li->data; - GtkTreeRowReference *ref = gtk_tree_row_reference_new(model, path); - gtk_tree_path_free(path); - refList = g_list_append(refList, ref); + GtkTreePath *path = (GtkTreePath *) li->data; + GtkTreeRowReference *ref = gtk_tree_row_reference_new(model, path); + gtk_tree_path_free(path); + refList = g_list_append(refList, ref); } g_list_free(selectionList); return refList; } -static void trg_tree_view_class_init(TrgTreeViewClass * klass) { +static void trg_tree_view_class_init(TrgTreeViewClass * klass) +{ GObjectClass *object_class = G_OBJECT_CLASS(klass); g_type_class_add_private(klass, sizeof(TrgTreeViewPrivate)); @@ -490,29 +583,35 @@ static void trg_tree_view_class_init(TrgTreeViewClass * klass) { object_class->set_property = trg_tree_view_set_property; object_class->constructor = trg_tree_view_constructor; - g_object_class_install_property( - object_class, - PROP_PREFS, - g_param_spec_object( - "prefs", - "Trg Prefs", - "Trg Prefs", - TRG_TYPE_PREFS, - 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_PREFS, + g_param_spec_object("prefs", + "Trg Prefs", + "Trg Prefs", + TRG_TYPE_PREFS, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } -static void trg_tree_view_init(TrgTreeView * tv) { +static void trg_tree_view_init(TrgTreeView * tv) +{ gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(tv), TRUE); gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tv), TRUE); gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tv), TRUE); - gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)), - GTK_SELECTION_MULTIPLE); + gtk_tree_selection_set_mode(gtk_tree_view_get_selection + (GTK_TREE_VIEW(tv)), + GTK_SELECTION_MULTIPLE); gtk_widget_set_sensitive(GTK_WIDGET(tv), FALSE); } -GtkWidget *trg_tree_view_new(void) { +GtkWidget *trg_tree_view_new(void) +{ return GTK_WIDGET(g_object_new(TRG_TYPE_TREE_VIEW, NULL)); } diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index 55db8dd..7d1a33f 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -78,19 +78,20 @@ typedef struct { } trg_column_description; #define TRG_COLUMN_DEFAULT 0x00 -#define TRG_COLUMN_SHOWING (1 << 0) /* 0x01 */ -#define TRG_COLUMN_UNREMOVABLE (1 << 1) /* 0x02 */ -#define TRG_COLUMN_EXTRA (1 << 2) /* 0x04 */ +#define TRG_COLUMN_SHOWING (1 << 0) /* 0x01 */ +#define TRG_COLUMN_UNREMOVABLE (1 << 1) /* 0x02 */ +#define TRG_COLUMN_EXTRA (1 << 2) /* 0x04 */ trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, - gint type, - gint model_column, - gchar * header, - gchar * id, gint flags); + gint type, + gint model_column, + gchar * header, + gchar * id, gint flags); void trg_tree_view_setup_columns(TrgTreeView * tv); -void trg_tree_view_set_prefs(TrgTreeView *tv, TrgPrefs *prefs); +void trg_tree_view_set_prefs(TrgTreeView * tv, TrgPrefs * prefs); void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable); -void trg_tree_view_restore_sort(TrgTreeView * tv, gboolean parentIsSortable); -gboolean trg_tree_view_is_column_showing(TrgTreeView *tv, gint index); +void trg_tree_view_restore_sort(TrgTreeView * tv, + gboolean parentIsSortable); +gboolean trg_tree_view_is_column_showing(TrgTreeView * tv, gint index); -#endif /* _TRG_TREE_VIEW_H_ */ +#endif /* _TRG_TREE_VIEW_H_ */ diff --git a/src/util.c b/src/util.c index e520dd6..2beefb1 100644 --- a/src/util.c +++ b/src/util.c @@ -33,25 +33,25 @@ #include "util.h" -gboolean is_magnet(gchar *string) +gboolean is_magnet(gchar * string) { return g_str_has_prefix(string, "magnet:"); } -gboolean is_url(gchar *string) +gboolean is_url(gchar * string) { //return g_regex_match_simple ("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?", string, 0, 0); - return g_regex_match_simple ("^http[s]?://", string, 0, 0); + return g_regex_match_simple("^http[s]?://", string, 0, 0); } void add_file_id_to_array(JsonObject * args, gchar * key, gint index) { JsonArray *array; if (json_object_has_member(args, key)) { - array = json_object_get_array_member(args, key); + array = json_object_get_array_member(args, key); } else { - array = json_array_new(); - json_object_set_array_member(args, key, array); + array = json_array_new(); + json_object_set_array_member(args, key, array); } json_array_add_int_element(array, index); } @@ -64,14 +64,18 @@ void g_str_slist_free(GSList * list) GRegex *trg_uri_host_regex_new(void) { - return g_regex_new("^[^:/?#]+:?//(?:www\\.|torrent\\.|torrents\\.|tracker\\.|\\d+\\.)?([^/?#:]*)", - G_REGEX_OPTIMIZE, 0, NULL); + return + g_regex_new + ("^[^:/?#]+:?//(?:www\\.|torrent\\.|torrents\\.|tracker\\.|\\d+\\.)?([^/?#:]*)", + G_REGEX_OPTIMIZE, 0, NULL); } -GtkWidget *my_scrolledwin_new(GtkWidget * child) { +GtkWidget *my_scrolledwin_new(GtkWidget * child) +{ GtkWidget *scrolled_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_win), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scrolled_win), child); return scrolled_win; } @@ -82,20 +86,20 @@ gchar *trg_gregex_get_first(GRegex * rx, const gchar * src) gchar *dst = NULL; g_regex_match(rx, src, 0, &mi); if (mi) { - dst = g_match_info_fetch(mi, 1); - g_match_info_free(mi); + dst = g_match_info_fetch(mi, 1); + g_match_info_free(mi); } return dst; } -void trg_error_dialog(GtkWindow * parent, trg_response *response) +void trg_error_dialog(GtkWindow * parent, trg_response * response) { gchar *msg = make_error_message(response->obj, response->status); GtkWidget *dialog = gtk_message_dialog_new(parent, - 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); @@ -105,19 +109,19 @@ void trg_error_dialog(GtkWindow * parent, trg_response *response) gchar *make_error_message(JsonObject * response, int status) { if (status == FAIL_JSON_DECODE) { - return g_strdup(_("JSON decoding error.")); + return g_strdup(_("JSON decoding error.")); } else if (status == FAIL_RESPONSE_UNSUCCESSFUL) { - const gchar *resultStr = - json_object_get_string_member(response, "result"); - if (resultStr == NULL) - return g_strdup(_("Server responded, but with no result.")); - else - return g_strdup(resultStr); + const gchar *resultStr = + json_object_get_string_member(response, "result"); + if (resultStr == NULL) + return g_strdup(_("Server responded, but with no result.")); + else + return g_strdup(resultStr); } else if (status <= -100) { - return g_strdup_printf(_("Request failed with HTTP code %d"), - -(status + 100)); + return g_strdup_printf(_("Request failed with HTTP code %d"), + -(status + 100)); } else { - return g_strdup(curl_easy_strerror(status)); + return g_strdup(curl_easy_strerror(status)); } } @@ -130,11 +134,11 @@ char *tr_strpercent(char *buf, double x, size_t buflen) { int precision; if (x < 10.0) - precision = 2; + precision = 2; else if (x < 100.0) - precision = 1; + precision = 1; else - precision = 0; + precision = 0; tr_snprintf(buf, buflen, "%.*f%%", precision, tr_truncd(x, precision)); return buf; @@ -148,18 +152,18 @@ double tr_truncd(double x, int decimal_places) } char *tr_strratio(char *buf, size_t buflen, double ratio, - const char *infinity) + const char *infinity) { if ((int) ratio == TR_RATIO_NA) - tr_strlcpy(buf, _("None"), buflen); + tr_strlcpy(buf, _("None"), buflen); else if ((int) ratio == TR_RATIO_INF) - tr_strlcpy(buf, infinity, buflen); + tr_strlcpy(buf, infinity, buflen); else if (ratio < 10.0) - tr_snprintf(buf, buflen, "%.2f", tr_truncd(ratio, 2)); + tr_snprintf(buf, buflen, "%.2f", tr_truncd(ratio, 2)); else if (ratio < 100.0) - tr_snprintf(buf, buflen, "%.1f", tr_truncd(ratio, 1)); + tr_snprintf(buf, buflen, "%.1f", tr_truncd(ratio, 1)); else - tr_snprintf(buf, buflen, "%'.0f", ratio); + tr_snprintf(buf, buflen, "%'.0f", ratio); return buf; } @@ -171,30 +175,30 @@ char *tr_strlratio(char *buf, double ratio, size_t buflen) char *tr_strlsize(char *buf, guint64 size, size_t buflen) { if (!size) - g_strlcpy(buf, _("None"), buflen); + g_strlcpy(buf, _("None"), buflen); #if GLIB_CHECK_VERSION( 2, 16, 0 ) else { - char *tmp = g_format_size_for_display(size); - g_strlcpy(buf, tmp, buflen); - g_free(tmp); + char *tmp = g_format_size_for_display(size); + g_strlcpy(buf, tmp, buflen); + g_free(tmp); } #else else if (size < (guint64) KILOBYTE_FACTOR) - g_snprintf(buf, buflen, - ngettext("%'u byte", "%'u bytes", (guint) size), - (guint) size); + g_snprintf(buf, buflen, + ngettext("%'u byte", "%'u bytes", (guint) size), + (guint) size); else { - gdouble displayed_size; - if (size < (guint64) MEGABYTE_FACTOR) { - displayed_size = (gdouble) size / KILOBYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f KB"), displayed_size); - } else if (size < (guint64) GIGABYTE_FACTOR) { - displayed_size = (gdouble) size / MEGABYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f MB"), displayed_size); - } else { - displayed_size = (gdouble) size / GIGABYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f GB"), displayed_size); - } + gdouble displayed_size; + if (size < (guint64) MEGABYTE_FACTOR) { + displayed_size = (gdouble) size / KILOBYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f KB"), displayed_size); + } else if (size < (guint64) GIGABYTE_FACTOR) { + displayed_size = (gdouble) size / MEGABYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f MB"), displayed_size); + } else { + displayed_size = (gdouble) size / GIGABYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f GB"), displayed_size); + } } #endif return buf; @@ -204,14 +208,14 @@ char *tr_strlspeed(char *buf, double kb_sec, size_t buflen) { const double speed = kb_sec; - if (speed < 1000.0) /* 0.0 KB to 999.9 KB */ - g_snprintf(buf, buflen, _("%.1f KB/s"), speed); - else if (speed < 102400.0) /* 0.98 MB to 99.99 MB */ - g_snprintf(buf, buflen, _("%.2f MB/s"), (speed / KILOBYTE_FACTOR)); - else if (speed < 1024000.0) /* 100.0 MB to 999.9 MB */ - g_snprintf(buf, buflen, _("%.1f MB/s"), (speed / MEGABYTE_FACTOR)); - else /* insane speeds */ - g_snprintf(buf, buflen, _("%.2f GB/s"), (speed / GIGABYTE_FACTOR)); + if (speed < 1000.0) /* 0.0 KB to 999.9 KB */ + g_snprintf(buf, buflen, _("%.1f KB/s"), speed); + else if (speed < 102400.0) /* 0.98 MB to 99.99 MB */ + g_snprintf(buf, buflen, _("%.2f MB/s"), (speed / KILOBYTE_FACTOR)); + else if (speed < 1024000.0) /* 100.0 MB to 999.9 MB */ + g_snprintf(buf, buflen, _("%.1f MB/s"), (speed / MEGABYTE_FACTOR)); + else /* insane speeds */ + g_snprintf(buf, buflen, _("%.2f GB/s"), (speed / GIGABYTE_FACTOR)); return buf; } @@ -221,7 +225,7 @@ char *tr_strltime_short(char *buf, long seconds, size_t buflen) int hours, minutes; if (seconds < 0) - seconds = 0; + seconds = 0; hours = seconds / 3600; minutes = (seconds % 3600) / 60; @@ -238,7 +242,7 @@ char *tr_strltime_long(char *buf, long seconds, size_t buflen) char d[128], h[128], m[128], s[128]; if (seconds < 0) - seconds = 0; + seconds = 0; days = seconds / 86400; hours = (seconds % 86400) / 3600; @@ -247,32 +251,32 @@ char *tr_strltime_long(char *buf, long seconds, size_t buflen) g_snprintf(d, sizeof(d), ngettext("%d day", "%d days", days), days); g_snprintf(h, sizeof(h), ngettext("%d hour", "%d hours", hours), - hours); + hours); g_snprintf(m, sizeof(m), ngettext("%d minute", "%d minutes", minutes), - minutes); + minutes); g_snprintf(s, sizeof(s), - ngettext("%ld second", "%ld seconds", seconds), seconds); + ngettext("%ld second", "%ld seconds", seconds), seconds); if (days) { - if (days >= 4 || !hours) { - g_strlcpy(buf, d, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", d, h); - } + if (days >= 4 || !hours) { + g_strlcpy(buf, d, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", d, h); + } } else if (hours) { - if (hours >= 4 || !minutes) { - g_strlcpy(buf, h, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", h, m); - } + if (hours >= 4 || !minutes) { + g_strlcpy(buf, h, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", h, m); + } } else if (minutes) { - if (minutes >= 4 || !seconds) { - g_strlcpy(buf, m, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", m, s); - } + if (minutes >= 4 || !seconds) { + g_strlcpy(buf, m, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", m, s); + } } else { - g_strlcpy(buf, s, buflen); + g_strlcpy(buf, s, buflen); } return buf; @@ -285,7 +289,7 @@ char *gtr_localtime(time_t time) g_strlcpy(buf, asctime(&tm), sizeof(buf)); if ((eoln = strchr(buf, '\n'))) - *eoln = '\0'; + *eoln = '\0'; return g_locale_to_utf8(buf, -1, NULL, NULL, NULL); } @@ -320,20 +324,20 @@ size_t tr_strlcpy(char *dst, const void *src, size_t siz) /* Copy as many bytes as will fit */ if (n != 0) { - while (--n != 0) { - if ((*d++ = *s++) == '\0') - break; - } + while (--n != 0) { + if ((*d++ = *s++) == '\0') + break; + } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { - if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++); + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++); } - return s - (char *) src - 1; /* count does not include NUL */ + return s - (char *) src - 1; /* count does not include NUL */ #endif } @@ -344,9 +348,9 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) int r = _vsnprintf(buf, buflen, format, ap); buf[buflen - 1] = '\0'; if (r >= 0) - return r; + return r; else - return _vscprintf(format, ap); + return _vscprintf(format, ap); #else int r = vsnprintf(buf, buflen, format, ap); buf[buflen - 1] = '\0'; @@ -354,66 +358,67 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) #endif } -void rm_trailing_slashes(gchar *str) +void rm_trailing_slashes(gchar * str) { if (!str) - return; + return; int i, len; if ((len = strlen(str)) < 1) - return; - - for (i = strlen(str)-1; str[i]; i--) - { - if (str[i] == '/') - str[i] = '\0'; - else - return; + return; + + for (i = strlen(str) - 1; str[i]; i--) { + if (str[i] == '/') + str[i] = '\0'; + else + return; } } /* gtk_widget_set_sensitive() was introduced in 2.18, we can have a minimum of * 2.16 otherwise. */ -void trg_widget_set_visible(GtkWidget * w, gboolean visible) { +void trg_widget_set_visible(GtkWidget * w, gboolean visible) +{ if (visible) - gtk_widget_show(w); + gtk_widget_show(w); else - gtk_widget_hide(w); + gtk_widget_hide(w); } -gdouble json_double_to_progress(JsonNode *n) +gdouble json_double_to_progress(JsonNode * n) { - return json_node_really_get_double(n)*100.0; + return json_node_really_get_double(n) * 100.0; } -gdouble json_node_really_get_double(JsonNode *node) +gdouble json_node_really_get_double(JsonNode * node) { GValue a = { 0 }; json_node_get_value(node, &a); switch (G_VALUE_TYPE(&a)) { case G_TYPE_INT64: - return (gdouble) g_value_get_int64(&a); + return (gdouble) g_value_get_int64(&a); case G_TYPE_DOUBLE: - return g_value_get_double(&a); + return g_value_get_double(&a); default: - return 0.0; + return 0.0; } } -gchar *trg_base64encode(const gchar *filename) +gchar *trg_base64encode(const gchar * filename) { GError *error = NULL; - GMappedFile *mf = g_mapped_file_new(filename, FALSE, &error); + GMappedFile *mf = g_mapped_file_new(filename, FALSE, &error); gchar *b64out = NULL; - if (error) - { - g_error("%s",error->message); - g_error_free(error); + if (error) { + g_error("%s", error->message); + g_error_free(error); } else { - b64out = g_base64_encode((guchar*)g_mapped_file_get_contents(mf), g_mapped_file_get_length(mf)); + b64out = + g_base64_encode((guchar *) g_mapped_file_get_contents(mf), + g_mapped_file_get_length(mf)); } g_mapped_file_unref(mf); @@ -434,13 +439,13 @@ GtkWidget *gtr_combo_box_new_enum(const char *text_1, ...) text = text_1; if (text != NULL) - do { - const int val = va_arg(vl, int); - gtk_list_store_insert_with_values(store, NULL, INT_MAX, 0, val, - 1, text, -1); - text = va_arg(vl, const char *); - } - while (text != NULL); + do { + const int val = va_arg(vl, int); + gtk_list_store_insert_with_values(store, NULL, INT_MAX, 0, val, + 1, text, -1); + text = va_arg(vl, const char *); + } + while (text != NULL); w = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); r = gtk_cell_renderer_text_new(); diff --git a/src/util.h b/src/util.h index 31fc094..a99933f 100644 --- a/src/util.h +++ b/src/util.h @@ -51,7 +51,7 @@ char *tr_strltime_short(char *buf, long seconds, size_t buflen); char *tr_strpercent(char *buf, double x, size_t buflen); char *tr_strlpercent(char *buf, double x, size_t buflen); char *tr_strratio(char *buf, size_t buflen, double ratio, - const char *infinity); + const char *infinity); char *tr_strlratio(char *buf, double ratio, size_t buflen); char *tr_strlspeed(char *buf, double kb_sec, size_t buflen); char *tr_strlsize(char *buf, guint64 size, size_t buflen); @@ -62,15 +62,15 @@ int tr_snprintf(char *buf, size_t buflen, const char *fmt, ...); size_t tr_strlcpy(char *dst, const void *src, size_t siz); double tr_truncd(double x, int decimal_places); int evutil_vsnprintf(char *buf, size_t buflen, const char *format, - va_list ap); -void rm_trailing_slashes(gchar *str); + va_list ap); +void rm_trailing_slashes(gchar * str); void trg_widget_set_visible(GtkWidget * w, gboolean visible); -gdouble json_double_to_progress(JsonNode *n); -gchar *trg_base64encode(const gchar *filename); +gdouble json_double_to_progress(JsonNode * n); +gchar *trg_base64encode(const gchar * filename); GtkWidget *my_scrolledwin_new(GtkWidget * child); -gboolean is_url(gchar *string); -gboolean is_magnet(gchar *string); -gdouble json_node_really_get_double(JsonNode *node); +gboolean is_url(gchar * string); +gboolean is_magnet(gchar * string); +gdouble json_node_really_get_double(JsonNode * node); GtkWidget *gtr_combo_box_new_enum(const char *text_1, ...); -#endif /* UTIL_H_ */ +#endif /* UTIL_H_ */ -- cgit v1.2.3 From 763abd8c8fc32b29c5f989cd0d4cab1b6e472997 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 11 Dec 2011 15:08:03 +0000 Subject: oops, no tabs. (indent -kr -nut) --- src/bencode.c | 236 ++--- src/bencode.h | 26 +- src/hig.c | 68 +- src/hig.h | 52 +- src/json.c | 42 +- src/json.h | 2 +- src/main.c | 302 +++--- src/protocol-constants.h | 20 +- src/remote-exec.c | 206 ++-- src/remote-exec.h | 4 +- src/requests.c | 52 +- src/requests.h | 4 +- src/session-get.c | 18 +- src/session-get.h | 2 +- src/torrent.c | 256 ++--- src/torrent.h | 8 +- src/trg-about-window.c | 46 +- src/trg-about-window.h | 2 +- src/trg-cell-renderer-epoch.c | 90 +- src/trg-cell-renderer-epoch.h | 2 +- src/trg-cell-renderer-eta.c | 74 +- src/trg-cell-renderer-eta.h | 2 +- src/trg-cell-renderer-numgteqthan.c | 122 +-- src/trg-cell-renderer-numgteqthan.h | 2 +- src/trg-cell-renderer-priority.c | 68 +- src/trg-cell-renderer-priority.h | 2 +- src/trg-cell-renderer-ratio.c | 68 +- src/trg-cell-renderer-ratio.h | 2 +- src/trg-cell-renderer-size.c | 66 +- src/trg-cell-renderer-size.h | 2 +- src/trg-cell-renderer-speed.c | 70 +- src/trg-cell-renderer-speed.h | 2 +- src/trg-client.c | 214 ++-- src/trg-client.h | 10 +- src/trg-destination-combo.c | 366 +++---- src/trg-destination-combo.h | 4 +- src/trg-file-parser.c | 158 +-- src/trg-files-model.c | 106 +- src/trg-files-model.h | 4 +- src/trg-files-tree-view.c | 148 +-- src/trg-files-tree-view.h | 6 +- src/trg-general-panel.c | 144 +-- src/trg-general-panel.h | 6 +- src/trg-json-widgets.c | 113 +- src/trg-json-widgets.h | 32 +- src/trg-main-window.c | 1937 ++++++++++++++++++----------------- src/trg-main-window.h | 4 +- src/trg-menu-bar.c | 574 +++++------ src/trg-menu-bar.h | 12 +- src/trg-model.c | 42 +- src/trg-model.h | 6 +- src/trg-peers-model.c | 180 ++-- src/trg-peers-model.h | 6 +- src/trg-peers-tree-view.c | 20 +- src/trg-peers-tree-view.h | 4 +- src/trg-persistent-tree-view.c | 264 ++--- src/trg-persistent-tree-view.h | 19 +- src/trg-preferences-dialog.c | 538 +++++----- src/trg-preferences-dialog.h | 6 +- src/trg-prefs.c | 266 +++-- src/trg-prefs.h | 28 +- src/trg-remote-prefs-dialog.c | 438 ++++---- src/trg-remote-prefs-dialog.h | 8 +- src/trg-sortable-filtered-model.c | 168 +-- src/trg-sortable-filtered-model.h | 6 +- src/trg-state-selector.c | 511 +++++---- src/trg-state-selector.h | 12 +- src/trg-stats-dialog.c | 200 ++-- src/trg-stats-dialog.h | 4 +- src/trg-status-bar.c | 70 +- src/trg-status-bar.h | 10 +- src/trg-toolbar.c | 260 ++--- src/trg-toolbar.h | 4 +- src/trg-torrent-add-dialog.c | 832 +++++++-------- src/trg-torrent-add-dialog.h | 6 +- src/trg-torrent-add-url-dialog.c | 76 +- src/trg-torrent-add-url-dialog.h | 4 +- src/trg-torrent-graph.c | 294 +++--- src/trg-torrent-graph.h | 4 +- src/trg-torrent-model.c | 642 ++++++------ src/trg-torrent-model.h | 24 +- src/trg-torrent-move-dialog.c | 228 ++--- src/trg-torrent-move-dialog.h | 8 +- src/trg-torrent-props-dialog.c | 240 ++--- src/trg-torrent-props-dialog.h | 8 +- src/trg-torrent-tree-view.c | 144 +-- src/trg-torrent-tree-view.h | 4 +- src/trg-trackers-model.c | 152 +-- src/trg-trackers-model.h | 8 +- src/trg-trackers-tree-view.c | 238 ++--- src/trg-trackers-tree-view.h | 8 +- src/trg-tree-view.c | 484 +++++---- src/trg-tree-view.h | 18 +- src/util.c | 228 ++--- src/util.h | 6 +- 95 files changed, 6236 insertions(+), 6246 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/bencode.c b/src/bencode.c index c6eb9e0..c9c9b6a 100644 --- a/src/bencode.c +++ b/src/bencode.c @@ -24,8 +24,8 @@ * into the public domain as well). */ -#include /* malloc() realloc() free() strtoll() */ -#include /* memset() */ +#include /* malloc() realloc() free() strtoll() */ +#include /* memset() */ #include #include @@ -36,7 +36,7 @@ static be_node *be_alloc(be_type type) { be_node *ret = g_malloc0(sizeof(be_node)); if (ret) - ret->type = type; + ret->type = type; return ret; } @@ -53,7 +53,7 @@ gint64 be_str_len(be_node * node) { gint64 ret = 0; if (node->val.s) - memcpy(&ret, node->val.s - sizeof(ret), sizeof(ret)); + memcpy(&ret, node->val.s - sizeof(ret), sizeof(ret)); return ret; } @@ -66,30 +66,30 @@ static char *_be_decode_str(const char **data, gint64 * data_len) /* slen is signed, so negative values get rejected */ if (sllen < 0) - return ret; + return ret; /* reject attempts to allocate large values that overflow the * size_t type which is used with malloc() */ if (sizeof(gint64) != sizeof(long)) - if (sllen != slen) - return ret; + if (sllen != slen) + return ret; /* make sure we have enough data left */ if (sllen > *data_len - 1) - return ret; + return ret; /* switch from signed to unsigned so we don't overflow below */ len = slen; if (**data == ':') { - char *_ret = g_malloc(sizeof(sllen) + len + 1); - memcpy(_ret, &sllen, sizeof(sllen)); - ret = _ret + sizeof(sllen); - memcpy(ret, *data + 1, len); - ret[len] = '\0'; - *data += len + 1; - *data_len -= len + 1; + char *_ret = g_malloc(sizeof(sllen) + len + 1); + memcpy(_ret, &sllen, sizeof(sllen)); + ret = _ret + sizeof(sllen); + memcpy(ret, *data + 1, len); + ret[len] = '\0'; + *data += len + 1; + *data_len -= len + 1; } return ret; } @@ -100,71 +100,71 @@ static be_node *_be_decode(const char **data, gint64 * data_len) char dc; if (!*data_len) - return ret; + return ret; dc = **data; if (dc == 'l') { - unsigned int i = 0; - - ret = be_alloc(BE_LIST); - - --(*data_len); - ++(*data); - while (**data != 'e') { - ret->val.l = - g_realloc(ret->val.l, (i + 2) * sizeof(*ret->val.l)); - ret->val.l[i] = _be_decode(data, data_len); - if (!ret->val.l[i]) - break; - ++i; - } - --(*data_len); - ++(*data); - - if (i > 0) - ret->val.l[i] = NULL; - - return ret; + unsigned int i = 0; + + ret = be_alloc(BE_LIST); + + --(*data_len); + ++(*data); + while (**data != 'e') { + ret->val.l = + g_realloc(ret->val.l, (i + 2) * sizeof(*ret->val.l)); + ret->val.l[i] = _be_decode(data, data_len); + if (!ret->val.l[i]) + break; + ++i; + } + --(*data_len); + ++(*data); + + if (i > 0) + ret->val.l[i] = NULL; + + return ret; } else if (dc == 'd') { - unsigned int i = 0; - - ret = be_alloc(BE_DICT); - - --(*data_len); - ++(*data); - while (**data != 'e') { - ret->val.d = - g_realloc(ret->val.d, (i + 2) * sizeof(*ret->val.d)); - ret->val.d[i].key = _be_decode_str(data, data_len); - ret->val.d[i].val = _be_decode(data, data_len); - if (!ret->val.l[i]) - break; - ++i; - } - --(*data_len); - ++(*data); - - if (i > 0) - ret->val.d[i].val = NULL; - - return ret; + unsigned int i = 0; + + ret = be_alloc(BE_DICT); + + --(*data_len); + ++(*data); + while (**data != 'e') { + ret->val.d = + g_realloc(ret->val.d, (i + 2) * sizeof(*ret->val.d)); + ret->val.d[i].key = _be_decode_str(data, data_len); + ret->val.d[i].val = _be_decode(data, data_len); + if (!ret->val.l[i]) + break; + ++i; + } + --(*data_len); + ++(*data); + + if (i > 0) + ret->val.d[i].val = NULL; + + return ret; } else if (dc == 'i') { - ret = be_alloc(BE_INT); + ret = be_alloc(BE_INT); - --(*data_len); - ++(*data); - ret->val.i = _be_decode_int(data, data_len); - if (**data != 'e') - return NULL; - --(*data_len); - ++(*data); + --(*data_len); + ++(*data); + ret->val.i = _be_decode_int(data, data_len); + if (**data != 'e') + return NULL; + --(*data_len); + ++(*data); - return ret; + return ret; } else if (isdigit(dc)) { - ret = be_alloc(BE_STR); + ret = be_alloc(BE_STR); - ret->val.s = _be_decode_str(data, data_len); - return ret; + ret->val.s = _be_decode_str(data, data_len); + return ret; } return ret; @@ -183,46 +183,46 @@ be_node *be_decode(const char *data) int be_validate_node(be_node * node, int type) { if (!node || node->type != type) - return 1; + return 1; else - return 0; + return 0; } static inline void _be_free_str(char *str) { if (str) - g_free(str - sizeof(gint64)); + g_free(str - sizeof(gint64)); } void be_free(be_node * node) { switch (node->type) { case BE_STR: - _be_free_str(node->val.s); - break; + _be_free_str(node->val.s); + break; case BE_INT: - break; + break; case BE_LIST:{ - unsigned int i; - if (node->val.l) { - for (i = 0; node->val.l[i]; ++i) - be_free(node->val.l[i]); - g_free(node->val.l); - } - break; - } + unsigned int i; + if (node->val.l) { + for (i = 0; node->val.l[i]; ++i) + be_free(node->val.l[i]); + g_free(node->val.l); + } + break; + } case BE_DICT:{ - unsigned int i; - for (i = 0; node->val.d[i].val; ++i) { - _be_free_str(node->val.d[i].key); - be_free(node->val.d[i].val); - } - g_free(node->val.d); - break; - } + unsigned int i; + for (i = 0; node->val.d[i].val; ++i) { + _be_free_str(node->val.d[i].key); + be_free(node->val.d[i].val); + } + g_free(node->val.d); + break; + } } g_free(node); } @@ -231,11 +231,11 @@ be_node *be_dict_find(be_node * node, char *key, int type) { int i; for (i = 0; node->val.d[i].val; ++i) { - if (!strcmp(node->val.d[i].key, key)) { - be_node *cn = node->val.d[i].val; - if (type < 0 || cn->type == type) - return node->val.d[i].val; - } + if (!strcmp(node->val.d[i].key, key)) { + be_node *cn = node->val.d[i].val; + if (type < 0 || cn->type == type) + return node->val.d[i].val; + } } return NULL; } @@ -247,7 +247,7 @@ be_node *be_dict_find(be_node * node, char *key, int type) static void _be_dump_indent(ssize_t indent) { while (indent-- > 0) - printf(" "); + printf(" "); } static void _be_dump(be_node * node, ssize_t indent) @@ -259,35 +259,35 @@ static void _be_dump(be_node * node, ssize_t indent) switch (node->type) { case BE_STR: - printf("str = %s (len = %lli)\n", node->val.s, be_str_len(node)); - break; + printf("str = %s (len = %lli)\n", node->val.s, be_str_len(node)); + break; case BE_INT: - printf("int = %lli\n", node->val.i); - break; + printf("int = %lli\n", node->val.i); + break; case BE_LIST: - puts("list ["); + puts("list ["); - for (i = 0; node->val.l[i]; ++i) - _be_dump(node->val.l[i], indent + 1); + for (i = 0; node->val.l[i]; ++i) + _be_dump(node->val.l[i], indent + 1); - _be_dump_indent(indent); - puts("]"); - break; + _be_dump_indent(indent); + puts("]"); + break; case BE_DICT: - puts("dict {"); + puts("dict {"); - for (i = 0; node->val.d[i].val; ++i) { - _be_dump_indent(indent + 1); - printf("%s => ", node->val.d[i].key); - _be_dump(node->val.d[i].val, -(indent + 1)); - } + for (i = 0; node->val.d[i].val; ++i) { + _be_dump_indent(indent + 1); + printf("%s => ", node->val.d[i].key); + _be_dump(node->val.d[i].val, -(indent + 1)); + } - _be_dump_indent(indent); - puts("}"); - break; + _be_dump_indent(indent); + puts("}"); + break; } } diff --git a/src/bencode.h b/src/bencode.h index 344fc4f..71760e0 100644 --- a/src/bencode.h +++ b/src/bencode.h @@ -24,10 +24,10 @@ extern "C" { #endif typedef enum { - BE_STR, - BE_INT, - BE_LIST, - BE_DICT + BE_STR, + BE_INT, + BE_LIST, + BE_DICT } be_type; struct be_dict; @@ -38,18 +38,18 @@ extern "C" { */ typedef struct be_dict { - char *key; - struct be_node *val; + char *key; + struct be_node *val; } be_dict; typedef struct be_node { - be_type type; - union { - char *s; - gint64 i; - struct be_node **l; - struct be_dict *d; - } val; + be_type type; + union { + char *s; + gint64 i; + struct be_node **l; + struct be_dict *d; + } val; } be_node; extern gint64 be_str_len(be_node * node); diff --git a/src/hig.c b/src/hig.c index 3c0586f..453a53b 100644 --- a/src/hig.c +++ b/src/hig.c @@ -34,7 +34,7 @@ void hig_workarea_add_section_divider(GtkWidget * t, int *row) void hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w) + int *row, GtkWidget * w) { gtk_table_attach(GTK_TABLE(t), w, 0, 2, *row, *row + 1, ~0, 0, 0, 0); ++*row; @@ -42,7 +42,7 @@ hig_workarea_add_section_title_widget(GtkWidget * t, void hig_workarea_add_section_title(GtkWidget * t, - int *row, const char *section_title) + int *row, const char *section_title) { char buf[512]; GtkWidget *l; @@ -66,9 +66,9 @@ static GtkWidget *rowNew(GtkWidget * w) /* lhs widget */ if (GTK_IS_MISC(w)) - gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); if (GTK_IS_LABEL(w)) - gtk_label_set_use_markup(GTK_LABEL(w), TRUE); + gtk_label_set_use_markup(GTK_LABEL(w), TRUE); gtk_box_pack_start(GTK_BOX(h), w, TRUE, TRUE, 0); return h; @@ -79,7 +79,7 @@ void hig_workarea_add_wide_control(GtkWidget * t, int *row, GtkWidget * w) GtkWidget *r = rowNew(w); gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++*row; } @@ -89,16 +89,16 @@ hig_workarea_add_wide_tall_control(GtkWidget * t, int *row, GtkWidget * w) GtkWidget *r = rowNew(w); gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); ++*row; } GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * t, - int *row, - const char *mnemonic_string, - gboolean is_active) + int *row, + const char *mnemonic_string, + gboolean is_active) { GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic_string); @@ -112,11 +112,11 @@ void hig_workarea_add_label_w(GtkWidget * t, int row, GtkWidget * l) GtkWidget *w = rowNew(l); gtk_table_attach(GTK_TABLE(t), w, 0, 1, row, row + 1, GTK_FILL, - GTK_FILL, 0, 0); + GTK_FILL, 0, 0); } GtkWidget *hig_workarea_add_label(GtkWidget * t, - int row, const char *mnemonic_string) + int row, const char *mnemonic_string) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -128,42 +128,42 @@ static void hig_workarea_add_tall_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + 1, 2, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); } void hig_workarea_add_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); + 1, 2, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); } void hig_workarea_add_row_w(GtkWidget * t, - int *row, - GtkWidget * label, - GtkWidget * control, GtkWidget * mnemonic) + int *row, + GtkWidget * label, + GtkWidget * control, GtkWidget * mnemonic) { hig_workarea_add_label_w(t, *row, label); hig_workarea_add_control(t, *row, control); if (GTK_IS_LABEL(label)) - gtk_label_set_mnemonic_widget(GTK_LABEL(label), - mnemonic ? mnemonic : control); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + mnemonic ? mnemonic : control); ++*row; } GtkWidget *hig_workarea_add_row(GtkWidget * t, - int *row, - const char *mnemonic_string, - GtkWidget * control, GtkWidget * mnemonic) + int *row, + const char *mnemonic_string, + GtkWidget * control, GtkWidget * mnemonic) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -172,10 +172,10 @@ GtkWidget *hig_workarea_add_row(GtkWidget * t, } GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic) + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); GtkWidget *h = gtk_hbox_new(FALSE, 0); @@ -187,8 +187,8 @@ GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, hig_workarea_add_tall_control(table, *row, control); if (GTK_IS_LABEL(l)) - gtk_label_set_mnemonic_widget(GTK_LABEL(l), - mnemonic ? mnemonic : control); + gtk_label_set_mnemonic_widget(GTK_LABEL(l), + mnemonic ? mnemonic : control); ++*row; return l; @@ -201,7 +201,7 @@ void hig_workarea_finish(GtkWidget * t, int *row) void hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, const char *secondary) + const char *primary, const char *secondary) { gtk_message_dialog_set_markup(dialog, primary); gtk_message_dialog_format_secondary_text(dialog, "%s", secondary); diff --git a/src/hig.h b/src/hig.h index 186e66a..63a6b76 100644 --- a/src/hig.h +++ b/src/hig.h @@ -25,55 +25,55 @@ GtkWidget *hig_workarea_create(void); void hig_workarea_add_section_divider(GtkWidget * table, int *row); void hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w); + int *row, GtkWidget * w); void hig_workarea_add_section_title(GtkWidget * table, - int *row, const char *section_title); + int *row, const char *section_title); void hig_workarea_add_wide_tall_control(GtkWidget * table, - int *row, GtkWidget * w); + int *row, GtkWidget * w); void hig_workarea_add_wide_control(GtkWidget * table, - int *row, GtkWidget * w); + int *row, GtkWidget * w); GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * table, - int *row, - const char *mnemonic_string, - gboolean is_active); + int *row, + const char *mnemonic_string, + gboolean is_active); GtkWidget *hig_workarea_add_label(GtkWidget * table, - int row, const char *mnemonic_string); + int row, const char *mnemonic_string); void hig_workarea_add_label_w(GtkWidget * table, - int row, GtkWidget * label_widget); + int row, GtkWidget * label_widget); void hig_workarea_add_control(GtkWidget * table, - int row, GtkWidget * control); + int row, GtkWidget * control); GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * - mnemonic_or_null_for_control); + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * + mnemonic_or_null_for_control); GtkWidget *hig_workarea_add_row(GtkWidget * table, - int *row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic_or_null_for_control); + int *row, + const char *mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic_or_null_for_control); void hig_workarea_add_row_w(GtkWidget * table, - int *row, - GtkWidget * label, - GtkWidget * control, - GtkWidget * mnemonic_or_null_for_control); + int *row, + GtkWidget * label, + GtkWidget * control, + GtkWidget * mnemonic_or_null_for_control); void hig_workarea_finish(GtkWidget * table, int *row); void hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, - const char *secondary); + const char *primary, + const char *secondary); enum { GUI_PAD_SMALL = 3, @@ -82,4 +82,4 @@ enum { GUI_PAD_LARGE = 12 }; -#endif /* __HIG_H__ */ +#endif /* __HIG_H__ */ diff --git a/src/json.c b/src/json.c index 806ab3e..0ffc2fa 100644 --- a/src/json.c +++ b/src/json.c @@ -52,30 +52,30 @@ JsonObject *trg_deserialize(trg_response * response, GError ** error) parser = json_parser_new(); json_parser_load_from_data(parser, response->raw, response->size, - error); + error); if (*error == NULL) { - root = json_parser_get_root(parser); + root = json_parser_get_root(parser); #ifdef DEBUG - if (g_getenv("TRG_SHOW_INCOMING") != NULL) { - g_debug("<=(INcoming)<=: %s", response->raw); - } else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) { - JsonGenerator *pg; - gsize len; - gchar *pgdata; - - pg = json_generator_new(); - g_object_set(pg, "pretty", TRUE, NULL); - json_generator_set_root(pg, root); - - pgdata = json_generator_to_data(pg, &len); - g_debug("<=(incoming)<=:\n%s\n", pgdata); - g_free(pgdata); - - g_object_unref(pg); - } + if (g_getenv("TRG_SHOW_INCOMING") != NULL) { + g_debug("<=(INcoming)<=: %s", response->raw); + } else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) { + JsonGenerator *pg; + gsize len; + gchar *pgdata; + + pg = json_generator_new(); + g_object_set(pg, "pretty", TRUE, NULL); + json_generator_set_root(pg, root); + + pgdata = json_generator_to_data(pg, &len); + g_debug("<=(incoming)<=:\n%s\n", pgdata); + g_free(pgdata); + + g_object_unref(pg); + } #endif - ret = json_node_get_object(root); - json_object_ref(ret); + ret = json_node_get_object(root); + json_object_ref(ret); } g_object_unref(parser); diff --git a/src/json.h b/src/json.h index 232728a..2c5dace 100644 --- a/src/json.h +++ b/src/json.h @@ -30,4 +30,4 @@ JsonObject *trg_deserialize(trg_response * response, GError ** error); JsonObject *get_arguments(JsonObject * req); JsonObject *node_get_arguments(JsonNode * req); -#endif /* JSON_H_ */ +#endif /* JSON_H_ */ diff --git a/src/main.c b/src/main.c index 61efb68..e2c61f7 100644 --- a/src/main.c +++ b/src/main.c @@ -50,7 +50,7 @@ */ #define TRG_LIBUNIQUE_DOMAIN "uk.org.eth0.trg" -#define TRG_MAILSLOT_NAME "\\\\.\\mailslot\\TransmissionRemoteGTK" //Name given to the Mailslot +#define TRG_MAILSLOT_NAME "\\\\.\\mailslot\\TransmissionRemoteGTK" //Name given to the Mailslot #define MAILSLOT_BUFFER_SIZE 1024*32 #ifdef HAVE_LIBUNIQUE @@ -62,9 +62,9 @@ enum { static UniqueResponse message_received_cb(UniqueApp * app G_GNUC_UNUSED, - gint command, - UniqueMessageData * message, - guint time_, gpointer user_data) + gint command, + UniqueMessageData * message, + guint time_, gpointer user_data) { TrgMainWindow *win; UniqueResponse res; @@ -74,21 +74,21 @@ message_received_cb(UniqueApp * app G_GNUC_UNUSED, switch (command) { case UNIQUE_ACTIVATE: - gtk_window_set_screen(GTK_WINDOW(user_data), - unique_message_data_get_screen(message)); - gtk_window_present_with_time(GTK_WINDOW(user_data), time_); - res = UNIQUE_RESPONSE_OK; - break; + gtk_window_set_screen(GTK_WINDOW(user_data), + unique_message_data_get_screen(message)); + gtk_window_present_with_time(GTK_WINDOW(user_data), time_); + res = UNIQUE_RESPONSE_OK; + break; case COMMAND_ADD: - uris = unique_message_data_get_uris(message); - res = - trg_add_from_filename(win, - uris) ? UNIQUE_RESPONSE_OK : - UNIQUE_RESPONSE_FAIL; - break; + uris = unique_message_data_get_uris(message); + res = + trg_add_from_filename(win, + uris) ? UNIQUE_RESPONSE_OK : + UNIQUE_RESPONSE_FAIL; + break; default: - res = UNIQUE_RESPONSE_OK; - break; + res = UNIQUE_RESPONSE_OK; + break; } return res; @@ -107,15 +107,15 @@ struct trg_mailslot_recv_args { static gboolean mailslot_recv_args(gpointer data) { struct trg_mailslot_recv_args *args = - (struct trg_mailslot_recv_args *) data; + (struct trg_mailslot_recv_args *) data; if (args->present) { - gtk_window_deiconify(GTK_WINDOW(args->win)); - gtk_window_present(GTK_WINDOW(args->win)); + gtk_window_deiconify(GTK_WINDOW(args->win)); + gtk_window_present(GTK_WINDOW(args->win)); } if (args->uris) - trg_add_from_filename(args->win, args->uris); + trg_add_from_filename(args->win, args->uris); g_free(args); @@ -131,73 +131,73 @@ static gpointer mailslot_recv_thread(gpointer data) DWORD cbBytes; BOOL bResult; - hMailslot = CreateMailslot(TRG_MAILSLOT_NAME, // mailslot name - MAILSLOT_BUFFER_SIZE, // input buffer size - MAILSLOT_WAIT_FOREVER, // no timeout - NULL); // default security attribute + hMailslot = CreateMailslot(TRG_MAILSLOT_NAME, // mailslot name + MAILSLOT_BUFFER_SIZE, // input buffer size + MAILSLOT_WAIT_FOREVER, // no timeout + NULL); // default security attribute if (INVALID_HANDLE_VALUE == hMailslot) { - g_error("\nError occurred while creating the mailslot: %d", - GetLastError()); - return NULL; //Error + g_error("\nError occurred while creating the mailslot: %d", + GetLastError()); + return NULL; //Error } while (1) { - bResult = ReadFile(hMailslot, // handle to mailslot - szBuffer, // buffer to receive data - sizeof(szBuffer), // size of buffer - &cbBytes, // number of bytes read - NULL); // not overlapped I/O + bResult = ReadFile(hMailslot, // handle to mailslot + szBuffer, // buffer to receive data + sizeof(szBuffer), // size of buffer + &cbBytes, // number of bytes read + NULL); // not overlapped I/O - if ((!bResult) || (0 == cbBytes)) { - g_error("Mailslot error from client: %d", GetLastError()); - break; - } + if ((!bResult) || (0 == cbBytes)) { + g_error("Mailslot error from client: %d", GetLastError()); + break; + } - parser = json_parser_new(); + parser = json_parser_new(); - if (json_parser_load_from_data(parser, szBuffer, cbBytes, NULL)) { - JsonNode *node = json_parser_get_root(parser); - JsonObject *obj = json_node_get_object(node); - struct trg_mailslot_recv_args *args = - g_new0(struct trg_mailslot_recv_args, 1); + if (json_parser_load_from_data(parser, szBuffer, cbBytes, NULL)) { + JsonNode *node = json_parser_get_root(parser); + JsonObject *obj = json_node_get_object(node); + struct trg_mailslot_recv_args *args = + g_new0(struct trg_mailslot_recv_args, 1); - args->present = json_object_has_member(obj, "present") - && json_object_get_boolean_member(obj, "present"); - args->win = win; + args->present = json_object_has_member(obj, "present") + && json_object_get_boolean_member(obj, "present"); + args->win = win; - if (json_object_has_member(obj, "args")) { - JsonArray *array = - json_object_get_array_member(obj, "args"); - GList *arrayList = json_array_get_elements(array); + if (json_object_has_member(obj, "args")) { + JsonArray *array = + json_object_get_array_member(obj, "args"); + GList *arrayList = json_array_get_elements(array); - if (arrayList) { - guint arrayLength = g_list_length(arrayList); - guint i = 0; - GList *li; + if (arrayList) { + guint arrayLength = g_list_length(arrayList); + guint i = 0; + GList *li; - args->uris = g_new0(gchar *, arrayLength + 1); + args->uris = g_new0(gchar *, arrayLength + 1); - for (li = arrayList; li; li = g_list_next(li)) { - const gchar *liStr = - json_node_get_string((JsonNode *) li->data); - args->uris[i++] = g_strdup(liStr); - } + for (li = arrayList; li; li = g_list_next(li)) { + const gchar *liStr = + json_node_get_string((JsonNode *) li->data); + args->uris[i++] = g_strdup(liStr); + } - g_list_free(arrayList); - } - } + g_list_free(arrayList); + } + } - json_node_free(node); + json_node_free(node); - g_idle_add(mailslot_recv_args, args); - } + g_idle_add(mailslot_recv_args, args); + } - g_object_unref(parser); + g_object_unref(parser); } CloseHandle(hMailslot); - return NULL; //Success + return NULL; //Success } static int mailslot_send_message(HANDLE h, gchar ** args) @@ -211,14 +211,14 @@ static int mailslot_send_message(HANDLE h, gchar ** args) int i; if (args) { - for (i = 0; args[i]; i++) - json_array_add_string_element(array, args[i]); + for (i = 0; args[i]; i++) + json_array_add_string_element(array, args[i]); - json_object_set_array_member(obj, "args", array); + json_object_set_array_member(obj, "args", array); - g_strfreev(args); + g_strfreev(args); } else { - json_object_set_boolean_member(obj, "present", TRUE); + json_object_set_boolean_member(obj, "present", TRUE); } json_node_take_object(node, obj); @@ -230,11 +230,11 @@ static int mailslot_send_message(HANDLE h, gchar ** args) json_node_free(node); g_object_unref(generator); - WriteFile(h, // handle to mailslot - msg, // buffer to write from - strlen(msg) + 1, // number of bytes to write, include the NULL - &cbBytes, // number of bytes written - NULL); + WriteFile(h, // handle to mailslot + msg, // buffer to write from + strlen(msg) + 1, // number of bytes to write, include the NULL + &cbBytes, // number of bytes written + NULL); CloseHandle(h); g_free(msg); @@ -247,16 +247,16 @@ static int mailslot_send_message(HANDLE h, gchar ** args) static gboolean is_minimised_arg(gchar * arg) { return !g_strcmp0(arg, "-m") - || !g_strcmp0(arg, "--minimized") - || !g_strcmp0(arg, "/m"); + || !g_strcmp0(arg, "--minimized") + || !g_strcmp0(arg, "/m"); } static gboolean should_be_minimised(int argc, char *argv[]) { int i; for (i = 1; i < argc; i++) - if (is_minimised_arg(argv[i])) - return TRUE; + if (is_minimised_arg(argv[i])) + return TRUE; return FALSE; } @@ -267,32 +267,32 @@ static gchar **convert_args(int argc, char *argv[]) gchar **files = NULL; if (argc > 1) { - GSList *list = NULL; - int i; - - for (i = 1; i < argc; i++) { - if (is_minimised_arg(argv[i])) { - continue; - } else if (!is_url(argv[i]) && !is_magnet(argv[i]) - && g_file_test(argv[i], G_FILE_TEST_IS_REGULAR) - && !g_path_is_absolute(argv[i])) { - list = g_slist_append(list, - g_build_path(G_DIR_SEPARATOR_S, cwd, - argv[i], NULL)); - } else { - list = g_slist_append(list, g_strdup(argv[i])); - } - } - - if (list) { - GSList *li; - files = g_new0(gchar *, g_slist_length(list) + 1); - i = 0; - for (li = list; li; li = g_slist_next(li)) { - files[i++] = li->data; - } - g_slist_free(list); - } + GSList *list = NULL; + int i; + + for (i = 1; i < argc; i++) { + if (is_minimised_arg(argv[i])) { + continue; + } else if (!is_url(argv[i]) && !is_magnet(argv[i]) + && g_file_test(argv[i], G_FILE_TEST_IS_REGULAR) + && !g_path_is_absolute(argv[i])) { + list = g_slist_append(list, + g_build_path(G_DIR_SEPARATOR_S, cwd, + argv[i], NULL)); + } else { + list = g_slist_append(list, g_strdup(argv[i])); + } + } + + if (list) { + GSList *li; + files = g_new0(gchar *, g_slist_length(list) + 1); + i = 0; + for (li = list; li; li = g_slist_next(li)) { + files[i++] = li->data; + } + g_slist_free(list); + } } g_free(cwd); @@ -329,7 +329,7 @@ int main(int argc, char *argv[]) #ifdef WIN32 moddir = g_win32_get_package_installation_directory_of_module(NULL); localedir = g_build_path(G_DIR_SEPARATOR_S, moddir, "share", "locale", - NULL); + NULL); g_free(moddir); bindtextdomain(GETTEXT_PACKAGE, localedir); g_free(localedir); @@ -343,68 +343,68 @@ int main(int argc, char *argv[]) #ifdef HAVE_LIBUNIQUE if (withUnique) - app = unique_app_new_with_commands(TRG_LIBUNIQUE_DOMAIN, NULL, - "add", COMMAND_ADD, NULL); + app = unique_app_new_with_commands(TRG_LIBUNIQUE_DOMAIN, NULL, + "add", COMMAND_ADD, NULL); if (withUnique && unique_app_is_running(app)) { - UniqueCommand command; - UniqueResponse response; - UniqueMessageData *message; - - if (args) { - command = COMMAND_ADD; - message = unique_message_data_new(); - unique_message_data_set_uris(message, args); - g_strfreev(args); - } else { - command = UNIQUE_ACTIVATE; - message = NULL; - } - - response = unique_app_send_message(app, command, message); - unique_message_data_free(message); - - if (response != UNIQUE_RESPONSE_OK) - returnValue = EXIT_FAILURE; + UniqueCommand command; + UniqueResponse response; + UniqueMessageData *message; + + if (args) { + command = COMMAND_ADD; + message = unique_message_data_new(); + unique_message_data_set_uris(message, args); + g_strfreev(args); + } else { + command = UNIQUE_ACTIVATE; + message = NULL; + } + + response = unique_app_send_message(app, command, message); + unique_message_data_free(message); + + if (response != UNIQUE_RESPONSE_OK) + returnValue = EXIT_FAILURE; } else { #elif WIN32 - hMailSlot = CreateFile(TRG_MAILSLOT_NAME, // mailslot name - GENERIC_WRITE, // mailslot write only - FILE_SHARE_READ, // required for mailslots - NULL, // default security attributes - OPEN_EXISTING, // opens existing mailslot - FILE_ATTRIBUTE_NORMAL, // normal attributes - NULL); // no template file + hMailSlot = CreateFile(TRG_MAILSLOT_NAME, // mailslot name + GENERIC_WRITE, // mailslot write only + FILE_SHARE_READ, // required for mailslots + NULL, // default security attributes + OPEN_EXISTING, // opens existing mailslot + FILE_ATTRIBUTE_NORMAL, // normal attributes + NULL); // no template file if (INVALID_HANDLE_VALUE != hMailSlot) { - returnValue = mailslot_send_message(hMailSlot, args); + returnValue = mailslot_send_message(hMailSlot, args); } else { #endif - client = trg_client_new(); + client = trg_client_new(); - curl_global_init(CURL_GLOBAL_ALL); + curl_global_init(CURL_GLOBAL_ALL); - window = - trg_main_window_new(client, should_be_minimised(argc, argv)); + window = + trg_main_window_new(client, should_be_minimised(argc, argv)); #ifdef HAVE_LIBUNIQUE - if (withUnique) { - g_signal_connect(app, "message-received", - G_CALLBACK(message_received_cb), window); - } + if (withUnique) { + g_signal_connect(app, "message-received", + G_CALLBACK(message_received_cb), window); + } #elif WIN32 - g_thread_create(mailslot_recv_thread, window, FALSE, NULL); + g_thread_create(mailslot_recv_thread, window, FALSE, NULL); #endif - auto_connect_if_required(window, args); - gtk_main(); + auto_connect_if_required(window, args); + gtk_main(); - curl_global_cleanup(); + curl_global_cleanup(); #ifdef HAVE_LIBUNIQUE } if (withUnique) - g_object_unref(app); + g_object_unref(app); #elif WIN32 } #endif diff --git a/src/protocol-constants.h b/src/protocol-constants.h index 3eb9d69..04dcd2c 100644 --- a/src/protocol-constants.h +++ b/src/protocol-constants.h @@ -33,7 +33,7 @@ /* torrents */ #define FIELD_RECENTLY_ACTIVE "recently-active" -#define FIELD_TORRENTS "torrents" /* parent node */ +#define FIELD_TORRENTS "torrents" /* parent node */ #define FIELD_REMOVED "removed" #define FIELD_ANNOUNCE_URL "announceUrl" #define FIELD_LEFT_UNTIL_DONE "leftUntilDone" @@ -172,18 +172,18 @@ typedef enum { } trg_old_status; typedef enum { - TR_STATUS_STOPPED = 0, /* Torrent is stopped */ - TR_STATUS_CHECK_WAIT = 1, /* Queued to check files */ - TR_STATUS_CHECK = 2, /* Checking files */ - TR_STATUS_DOWNLOAD_WAIT = 3, /* Queued to download */ - TR_STATUS_DOWNLOAD = 4, /* Downloading */ - TR_STATUS_SEED_WAIT = 5, /* Queued to seed */ - TR_STATUS_SEED = 6 /* Seeding */ + TR_STATUS_STOPPED = 0, /* Torrent is stopped */ + TR_STATUS_CHECK_WAIT = 1, /* Queued to check files */ + TR_STATUS_CHECK = 2, /* Checking files */ + TR_STATUS_DOWNLOAD_WAIT = 3, /* Queued to download */ + TR_STATUS_DOWNLOAD = 4, /* Downloading */ + TR_STATUS_SEED_WAIT = 5, /* Queued to seed */ + TR_STATUS_SEED = 6 /* Seeding */ } tr_torrent_activity; enum { TR_PRI_LOW = -1, - TR_PRI_NORMAL = 0, /* since NORMAL is 0, memset initializes nicely */ + TR_PRI_NORMAL = 0, /* since NORMAL is 0, memset initializes nicely */ TR_PRI_HIGH = 1 }; @@ -191,4 +191,4 @@ enum { #define TFILE_BYTES_COMPLETED "bytesCompleted" #define TFILE_NAME "name" -#endif /* PROTOCOL_CONSTANTS_H_ */ +#endif /* PROTOCOL_CONSTANTS_H_ */ diff --git a/src/remote-exec.c b/src/remote-exec.c index 3f665bc..fb6d903 100644 --- a/src/remote-exec.c +++ b/src/remote-exec.c @@ -48,7 +48,7 @@ static const char json_exceptions[] = { 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, - 0xfd, 0xfe, 0xff, '\0' /* g_strescape() expects a NUL-terminated string */ + 0xfd, 0xfe, 0xff, '\0' /* g_strescape() expects a NUL-terminated string */ }; static gchar *dump_json_value(JsonNode * node) @@ -62,33 +62,33 @@ static gchar *dump_json_value(JsonNode * node) switch (G_VALUE_TYPE(&value)) { case G_TYPE_INT64: - g_string_append_printf(buffer, "%" G_GINT64_FORMAT, - g_value_get_int64(&value)); - break; + g_string_append_printf(buffer, "%" G_GINT64_FORMAT, + g_value_get_int64(&value)); + break; case G_TYPE_STRING:{ - gchar *tmp; + gchar *tmp; - tmp = g_strescape(g_value_get_string(&value), json_exceptions); - g_string_append(buffer, tmp); + tmp = g_strescape(g_value_get_string(&value), json_exceptions); + g_string_append(buffer, tmp); - g_free(tmp); - } - break; + g_free(tmp); + } + break; case G_TYPE_DOUBLE:{ - gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; + gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; - g_string_append(buffer, - g_ascii_dtostr(buf, sizeof(buf), - g_value_get_double(&value))); - } - break; + g_string_append(buffer, + g_ascii_dtostr(buf, sizeof(buf), + g_value_get_double(&value))); + } + break; case G_TYPE_BOOLEAN: - g_string_append_printf(buffer, "%s", - g_value_get_boolean(&value) ? "true" : - "false"); - break; + g_string_append_printf(buffer, "%s", + g_value_get_boolean(&value) ? "true" : + "false"); + break; default: - break; + break; } g_value_unset(&value); @@ -97,7 +97,7 @@ static gchar *dump_json_value(JsonNode * node) } gchar *build_remote_exec_cmd(TrgClient * tc, GtkTreeModel * model, - GList * selection, const gchar * input) + GList * selection, const gchar * input) { TrgPrefs *prefs = trg_client_get_prefs(tc); JsonObject *session = trg_client_get_session(tc); @@ -109,7 +109,7 @@ gchar *build_remote_exec_cmd(TrgClient * tc, GtkTreeModel * model, JsonNode *replacement; if (!profile) - return NULL; + return NULL; work = g_strdup(input); regex = g_regex_new("%{([A-Za-z\\-]+)}(?:\\[(.*)\\])?", 0, 0, NULL); @@ -117,86 +117,86 @@ gchar *build_remote_exec_cmd(TrgClient * tc, GtkTreeModel * model, g_regex_match_full(regex, input, -1, 0, 0, &match_info, NULL); if (match_info) { - while (g_match_info_matches(match_info)) { - whole = g_match_info_fetch(match_info, 0); - wholeEscaped = g_regex_escape_string(whole, -1); - id = g_match_info_fetch(match_info, 1); - repeater = g_match_info_fetch(match_info, 2); - - replacerx = g_regex_new(wholeEscaped, 0, 0, NULL); - valuestr = NULL; - - if (profile && json_object_has_member(profile, id)) { - replacement = json_object_get_member(profile, id); - if (JSON_NODE_HOLDS_VALUE(replacement)) - valuestr = dump_json_value(replacement); - } else if (session && json_object_has_member(session, id)) { - replacement = json_object_get_member(session, id); - if (JSON_NODE_HOLDS_VALUE(replacement)) - valuestr = dump_json_value(replacement); - } else { - GString *gs = g_string_new(""); - GList *li; - GtkTreeIter iter; - JsonObject *json; - gchar *piece; - - for (li = selection; li; li = g_list_next(li)) { - piece = NULL; - gtk_tree_model_get_iter(model, &iter, - (GtkTreePath *) li->data); - gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, - &json, -1); - if (json_object_has_member(json, id)) { - replacement = json_object_get_member(json, id); - if (JSON_NODE_HOLDS_VALUE(replacement)) { - piece = dump_json_value(replacement); - } - } - - if (!piece) { - if (!g_strcmp0(id, "full-dir")) { - piece = torrent_get_full_dir(json); - } else if (!g_strcmp0(id, "full-path")) { - piece = torrent_get_full_path(json); - } - } - - if (piece) { - g_string_append(gs, piece); - g_free(piece); - } - - if (!repeater) - break; - - if (piece && li != g_list_last(selection)) - g_string_append(gs, repeater); - } - - if (gs->len > 0) - valuestr = g_string_free(gs, FALSE); - else - g_string_free(gs, TRUE); - } - - if (valuestr) { - tmp = g_regex_replace(replacerx, work, -1, 0, valuestr, 0, - NULL); - g_free(work); - work = tmp; - g_free(valuestr); - } - - g_regex_unref(replacerx); - g_free(whole); - g_free(repeater); - g_free(wholeEscaped); - g_free(id); - g_match_info_next(match_info, NULL); - } - - g_match_info_free(match_info); + while (g_match_info_matches(match_info)) { + whole = g_match_info_fetch(match_info, 0); + wholeEscaped = g_regex_escape_string(whole, -1); + id = g_match_info_fetch(match_info, 1); + repeater = g_match_info_fetch(match_info, 2); + + replacerx = g_regex_new(wholeEscaped, 0, 0, NULL); + valuestr = NULL; + + if (profile && json_object_has_member(profile, id)) { + replacement = json_object_get_member(profile, id); + if (JSON_NODE_HOLDS_VALUE(replacement)) + valuestr = dump_json_value(replacement); + } else if (session && json_object_has_member(session, id)) { + replacement = json_object_get_member(session, id); + if (JSON_NODE_HOLDS_VALUE(replacement)) + valuestr = dump_json_value(replacement); + } else { + GString *gs = g_string_new(""); + GList *li; + GtkTreeIter iter; + JsonObject *json; + gchar *piece; + + for (li = selection; li; li = g_list_next(li)) { + piece = NULL; + gtk_tree_model_get_iter(model, &iter, + (GtkTreePath *) li->data); + gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, + &json, -1); + if (json_object_has_member(json, id)) { + replacement = json_object_get_member(json, id); + if (JSON_NODE_HOLDS_VALUE(replacement)) { + piece = dump_json_value(replacement); + } + } + + if (!piece) { + if (!g_strcmp0(id, "full-dir")) { + piece = torrent_get_full_dir(json); + } else if (!g_strcmp0(id, "full-path")) { + piece = torrent_get_full_path(json); + } + } + + if (piece) { + g_string_append(gs, piece); + g_free(piece); + } + + if (!repeater) + break; + + if (piece && li != g_list_last(selection)) + g_string_append(gs, repeater); + } + + if (gs->len > 0) + valuestr = g_string_free(gs, FALSE); + else + g_string_free(gs, TRUE); + } + + if (valuestr) { + tmp = g_regex_replace(replacerx, work, -1, 0, valuestr, 0, + NULL); + g_free(work); + work = tmp; + g_free(valuestr); + } + + g_regex_unref(replacerx); + g_free(whole); + g_free(repeater); + g_free(wholeEscaped); + g_free(id); + g_match_info_next(match_info, NULL); + } + + g_match_info_free(match_info); } g_regex_unref(regex); diff --git a/src/remote-exec.h b/src/remote-exec.h index 6014531..4468a3a 100644 --- a/src/remote-exec.h +++ b/src/remote-exec.h @@ -21,6 +21,6 @@ #define REMOTE_EXEC_H_ gchar *build_remote_exec_cmd(TrgClient * tc, GtkTreeModel * model, - GList * selection, const gchar * input); + GList * selection, const gchar * input); -#endif /* REMOTE_EXEC_H_ */ +#endif /* REMOTE_EXEC_H_ */ diff --git a/src/requests.c b/src/requests.c index babb48c..a600396 100644 --- a/src/requests.c +++ b/src/requests.c @@ -40,8 +40,8 @@ JsonNode *generic_request(gchar * method, JsonArray * ids) JsonNode *root = base_request(method); if (ids) - json_object_set_array_member(node_get_arguments(root), - PARAM_IDS, ids); + json_object_set_array_member(node_get_arguments(root), + PARAM_IDS, ids); return root; } @@ -67,7 +67,7 @@ JsonNode *session_get(void) } JsonNode *torrent_set_location(JsonArray * array, gchar * location, - gboolean move) + gboolean move) { JsonNode *req = generic_request(METHOD_TORRENT_SET_LOCATION, array); JsonObject *args = node_get_arguments(req); @@ -137,7 +137,7 @@ JsonNode *torrent_remove(JsonArray * array, gboolean removeData) JsonObject *args = node_get_arguments(root); json_object_set_array_member(args, PARAM_IDS, array); json_object_set_boolean_member(args, PARAM_DELETE_LOCAL_DATA, - removeData); + removeData); return root; } @@ -148,12 +148,12 @@ JsonNode *torrent_get(gint64 id) JsonArray *fields = json_array_new(); if (id == TORRENT_GET_TAG_MODE_UPDATE) { - json_object_set_string_member(args, PARAM_IDS, - FIELD_RECENTLY_ACTIVE); + json_object_set_string_member(args, PARAM_IDS, + FIELD_RECENTLY_ACTIVE); } else if (id >= 0) { - JsonArray *ids = json_array_new(); - json_array_add_int_element(ids, id); - json_object_set_array_member(args, PARAM_IDS, ids); + JsonArray *ids = json_array_new(); + json_array_add_int_element(ids, id); + json_object_set_array_member(args, PARAM_IDS, ids); } json_array_add_string_element(fields, FIELD_ETA); @@ -224,32 +224,32 @@ JsonNode *torrent_add(gchar * target, gint flags) gchar *encodedFile; if (!isUri && !g_file_test(target, G_FILE_TEST_IS_REGULAR)) { - g_message("file \"%s\" does not exist.", target); - return NULL; + g_message("file \"%s\" does not exist.", target); + return NULL; } root = base_request(METHOD_TORRENT_ADD); args = node_get_arguments(root); if (isUri) { - json_object_set_string_member(args, PARAM_FILENAME, target); + json_object_set_string_member(args, PARAM_FILENAME, target); } else { - encodedFile = trg_base64encode(target); - if (encodedFile) { - json_object_set_string_member(args, PARAM_METAINFO, - encodedFile); - g_free(encodedFile); - } else { - g_error("unable to base64 encode file \"%s\".", target); - return NULL; - } + encodedFile = trg_base64encode(target); + if (encodedFile) { + json_object_set_string_member(args, PARAM_METAINFO, + encodedFile); + g_free(encodedFile); + } else { + g_error("unable to base64 encode file \"%s\".", target); + return NULL; + } } json_object_set_boolean_member(args, PARAM_PAUSED, - (flags & TORRENT_ADD_FLAG_PAUSED)); + (flags & TORRENT_ADD_FLAG_PAUSED)); if ((flags & TORRENT_ADD_FLAG_DELETE)) - g_unlink(target); + g_unlink(target); return root; } @@ -273,8 +273,8 @@ void request_set_tag(JsonNode * req, gint64 tag) void request_set_tag_from_ids(JsonNode * req, JsonArray * ids) { gint64 id = - json_array_get_length(ids) == 1 ? json_array_get_int_element(ids, - 0) : - -1; + json_array_get_length(ids) == 1 ? json_array_get_int_element(ids, + 0) : + -1; request_set_tag(req, id); } diff --git a/src/requests.h b/src/requests.h index 2a59324..4d08a88 100644 --- a/src/requests.h +++ b/src/requests.h @@ -37,7 +37,7 @@ JsonNode *torrent_remove(JsonArray * array, int removeData); JsonNode *torrent_add(gchar * filename, gint flags); JsonNode *torrent_add_url(const gchar * url, gboolean paused); JsonNode *torrent_set_location(JsonArray * array, gchar * location, - gboolean move); + gboolean move); JsonNode *blocklist_update(void); JsonNode *port_test(void); JsonNode *session_stats(void); @@ -50,4 +50,4 @@ JsonNode *torrent_start_now(JsonArray * array); void request_set_tag(JsonNode * req, gint64 tag); void request_set_tag_from_ids(JsonNode * req, JsonArray * ids); -#endif /* REQUESTS_H_ */ +#endif /* REQUESTS_H_ */ diff --git a/src/session-get.c b/src/session-get.c index b9b54bb..a6e033b 100644 --- a/src/session-get.c +++ b/src/session-get.c @@ -64,7 +64,7 @@ const gchar *session_get_download_dir(JsonObject * s) gboolean session_get_peer_port_random(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_PEER_PORT_RANDOM_ON_START); + SGET_PEER_PORT_RANDOM_ON_START); } gint64 session_get_peer_port(JsonObject * s) @@ -80,9 +80,9 @@ gboolean session_get_port_forwarding_enabled(JsonObject * s) const gchar *session_get_blocklist_url(JsonObject * s) { if (json_object_has_member(s, SGET_BLOCKLIST_URL)) - return json_object_get_string_member(s, SGET_BLOCKLIST_URL); + return json_object_get_string_member(s, SGET_BLOCKLIST_URL); else - return NULL; + return NULL; } gint64 session_get_blocklist_size(JsonObject * s) @@ -143,21 +143,21 @@ gint64 session_get_seed_queue_size(JsonObject * s) const gchar *session_get_torrent_done_filename(JsonObject * s) { return json_object_get_string_member(s, - SGET_SCRIPT_TORRENT_DONE_FILENAME); + SGET_SCRIPT_TORRENT_DONE_FILENAME); } gboolean session_get_torrent_done_enabled(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_SCRIPT_TORRENT_DONE_ENABLED); + SGET_SCRIPT_TORRENT_DONE_ENABLED); } gint64 session_get_cache_size_mb(JsonObject * s) { if (json_object_has_member(s, SGET_CACHE_SIZE_MB)) - return json_object_get_int_member(s, SGET_CACHE_SIZE_MB); + return json_object_get_int_member(s, SGET_CACHE_SIZE_MB); else - return -1; + return -1; } gdouble session_get_seed_ratio_limit(JsonObject * s) @@ -173,7 +173,7 @@ gboolean session_get_start_added_torrents(JsonObject * s) gboolean session_get_trash_original_torrent_files(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_TRASH_ORIGINAL_TORRENT_FILES); + SGET_TRASH_ORIGINAL_TORRENT_FILES); } gboolean session_get_speed_limit_up_enabled(JsonObject * s) @@ -199,7 +199,7 @@ gint64 session_get_speed_limit_up(JsonObject * s) gboolean session_get_speed_limit_down_enabled(JsonObject * s) { return json_object_get_boolean_member(s, - SGET_SPEED_LIMIT_DOWN_ENABLED); + SGET_SPEED_LIMIT_DOWN_ENABLED); } gint64 session_get_speed_limit_down(JsonObject * s) diff --git a/src/session-get.h b/src/session-get.h index 4822cd7..26f4ab2 100644 --- a/src/session-get.h +++ b/src/session-get.h @@ -106,4 +106,4 @@ gint64 session_get_rpc_version(JsonObject * s); gint64 session_get_download_dir_free_space(JsonObject * s); gboolean session_get_dht_enabled(JsonObject * s); -#endif /* SESSION_GET_H_ */ +#endif /* SESSION_GET_H_ */ diff --git a/src/torrent.c b/src/torrent.c index bf70f45..c7562a4 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -71,11 +71,11 @@ const gchar *torrent_get_download_dir(JsonObject * t) gdouble torrent_get_metadata_percent_complete(JsonObject * t) { JsonNode *node = - json_object_get_member(t, FIELD_METADATAPERCENTCOMPLETE); + json_object_get_member(t, FIELD_METADATAPERCENTCOMPLETE); if (node) - return json_double_to_progress(node); + return json_double_to_progress(node); else - return 100.0; + return 100.0; } const gchar *torrent_get_name(JsonObject * t) @@ -191,15 +191,15 @@ gboolean torrent_get_is_private(JsonObject * t) gdouble torrent_get_percent_done(JsonObject * t) { return - json_double_to_progress(json_object_get_member - (t, FIELD_PERCENTDONE)); + json_double_to_progress(json_object_get_member + (t, FIELD_PERCENTDONE)); } gdouble torrent_get_recheck_progress(JsonObject * t) { return - json_double_to_progress(json_object_get_member - (t, FIELD_RECHECK_PROGRESS)); + json_double_to_progress(json_object_get_member + (t, FIELD_RECHECK_PROGRESS)); } gint64 torrent_get_activity_date(JsonObject * t) @@ -208,75 +208,75 @@ gint64 torrent_get_activity_date(JsonObject * t) } guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, - gint64 downRate, gint64 upRate) + gint64 downRate, gint64 upRate) { guint32 flags = 0; if (torrent_get_is_finished(t) == TRUE) - flags |= TORRENT_FLAG_COMPLETE; + flags |= TORRENT_FLAG_COMPLETE; else - flags |= TORRENT_FLAG_INCOMPLETE; + flags |= TORRENT_FLAG_INCOMPLETE; if (rpcv >= NEW_STATUS_RPC_VERSION) { - switch (status) { - case TR_STATUS_STOPPED: - flags |= TORRENT_FLAG_PAUSED; - break; - case TR_STATUS_CHECK_WAIT: - flags |= TORRENT_FLAG_WAITING_CHECK; - flags |= TORRENT_FLAG_CHECKING_ANY; - break; - case TR_STATUS_CHECK: - flags |= TORRENT_FLAG_CHECKING; - flags |= TORRENT_FLAG_CHECKING_ANY; - break; - case TR_STATUS_DOWNLOAD_WAIT: - flags |= TORRENT_FLAG_DOWNLOADING_WAIT; - flags |= TORRENT_FLAG_QUEUED; - break; - case TR_STATUS_DOWNLOAD: - if (!(flags & TORRENT_FLAG_COMPLETE)) - flags |= TORRENT_FLAG_DOWNLOADING; - - //if (torrent_get_metadata_percent_complete(t) < 100) - // flags |= TORRENT_FLAG_DOWNLOADING_METADATA; - - flags |= TORRENT_FLAG_ACTIVE; - break; - case TR_STATUS_SEED_WAIT: - flags |= TORRENT_FLAG_SEEDING_WAIT; - break; - case TR_STATUS_SEED: - flags |= TORRENT_FLAG_SEEDING; - if (torrent_get_peers_getting_from_us(t)) - flags |= TORRENT_FLAG_ACTIVE; - break; - } + switch (status) { + case TR_STATUS_STOPPED: + flags |= TORRENT_FLAG_PAUSED; + break; + case TR_STATUS_CHECK_WAIT: + flags |= TORRENT_FLAG_WAITING_CHECK; + flags |= TORRENT_FLAG_CHECKING_ANY; + break; + case TR_STATUS_CHECK: + flags |= TORRENT_FLAG_CHECKING; + flags |= TORRENT_FLAG_CHECKING_ANY; + break; + case TR_STATUS_DOWNLOAD_WAIT: + flags |= TORRENT_FLAG_DOWNLOADING_WAIT; + flags |= TORRENT_FLAG_QUEUED; + break; + case TR_STATUS_DOWNLOAD: + if (!(flags & TORRENT_FLAG_COMPLETE)) + flags |= TORRENT_FLAG_DOWNLOADING; + + //if (torrent_get_metadata_percent_complete(t) < 100) + // flags |= TORRENT_FLAG_DOWNLOADING_METADATA; + + flags |= TORRENT_FLAG_ACTIVE; + break; + case TR_STATUS_SEED_WAIT: + flags |= TORRENT_FLAG_SEEDING_WAIT; + break; + case TR_STATUS_SEED: + flags |= TORRENT_FLAG_SEEDING; + if (torrent_get_peers_getting_from_us(t)) + flags |= TORRENT_FLAG_ACTIVE; + break; + } } else { - switch (status) { - case OLD_STATUS_DOWNLOADING: - flags |= TORRENT_FLAG_DOWNLOADING; - break; - case OLD_STATUS_PAUSED: - flags |= TORRENT_FLAG_PAUSED; - break; - case OLD_STATUS_SEEDING: - flags |= TORRENT_FLAG_SEEDING; - break; - case OLD_STATUS_CHECKING: - flags |= TORRENT_FLAG_CHECKING; - break; - case OLD_STATUS_WAITING_TO_CHECK: - flags |= TORRENT_FLAG_WAITING_CHECK; - flags |= TORRENT_FLAG_CHECKING; - break; - } - if (downRate > 0 || upRate > 0) - flags |= TORRENT_FLAG_ACTIVE; + switch (status) { + case OLD_STATUS_DOWNLOADING: + flags |= TORRENT_FLAG_DOWNLOADING; + break; + case OLD_STATUS_PAUSED: + flags |= TORRENT_FLAG_PAUSED; + break; + case OLD_STATUS_SEEDING: + flags |= TORRENT_FLAG_SEEDING; + break; + case OLD_STATUS_CHECKING: + flags |= TORRENT_FLAG_CHECKING; + break; + case OLD_STATUS_WAITING_TO_CHECK: + flags |= TORRENT_FLAG_WAITING_CHECK; + flags |= TORRENT_FLAG_CHECKING; + break; + } + if (downRate > 0 || upRate > 0) + flags |= TORRENT_FLAG_ACTIVE; } if (strlen(torrent_get_errorstr(t)) > 0) - flags |= TORRENT_FLAG_ERROR; + flags |= TORRENT_FLAG_ERROR; return flags; } @@ -284,19 +284,19 @@ guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gchar *torrent_get_status_icon(gint64 rpcv, guint flags) { if (flags & TORRENT_FLAG_ERROR) - return g_strdup(GTK_STOCK_DIALOG_WARNING); + return g_strdup(GTK_STOCK_DIALOG_WARNING); //else if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) // return g_strdup(GTK_STOCK_FIND); else if (flags & TORRENT_FLAG_DOWNLOADING) - return g_strdup(GTK_STOCK_GO_DOWN); + return g_strdup(GTK_STOCK_GO_DOWN); else if (flags & TORRENT_FLAG_PAUSED) - return g_strdup(GTK_STOCK_MEDIA_PAUSE); + return g_strdup(GTK_STOCK_MEDIA_PAUSE); else if (flags & TORRENT_FLAG_SEEDING) - return g_strdup(GTK_STOCK_GO_UP); + return g_strdup(GTK_STOCK_GO_UP); else if (flags & TORRENT_FLAG_CHECKING) - return g_strdup(GTK_STOCK_REFRESH); + return g_strdup(GTK_STOCK_REFRESH); else - return g_strdup(GTK_STOCK_DIALOG_QUESTION); + return g_strdup(GTK_STOCK_DIALOG_QUESTION); } gint64 torrent_get_done_date(JsonObject * t) @@ -312,41 +312,41 @@ const gchar *torrent_get_errorstr(JsonObject * t) gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags) { if (rpcv >= NEW_STATUS_RPC_VERSION) { - switch (value) { - case TR_STATUS_DOWNLOAD: - /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) - return g_strdup(_("Metadata Downloading")); - else */ - return g_strdup(_("Downloading")); - case TR_STATUS_DOWNLOAD_WAIT: - return g_strdup(_("Queued download")); - case TR_STATUS_CHECK_WAIT: - return g_strdup(_("Waiting To Check")); - case TR_STATUS_CHECK: - return g_strdup(_("Checking")); - case TR_STATUS_SEED_WAIT: - return g_strdup(_("Queued seed")); - case TR_STATUS_SEED: - return g_strdup(_("Seeding")); - case TR_STATUS_STOPPED: - return g_strdup(_("Paused")); - } + switch (value) { + case TR_STATUS_DOWNLOAD: + /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) + return g_strdup(_("Metadata Downloading")); + else */ + return g_strdup(_("Downloading")); + case TR_STATUS_DOWNLOAD_WAIT: + return g_strdup(_("Queued download")); + case TR_STATUS_CHECK_WAIT: + return g_strdup(_("Waiting To Check")); + case TR_STATUS_CHECK: + return g_strdup(_("Checking")); + case TR_STATUS_SEED_WAIT: + return g_strdup(_("Queued seed")); + case TR_STATUS_SEED: + return g_strdup(_("Seeding")); + case TR_STATUS_STOPPED: + return g_strdup(_("Paused")); + } } else { - switch (value) { - case OLD_STATUS_DOWNLOADING: - /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) - return g_strdup(_("Metadata Downloading")); - else */ - return g_strdup(_("Downloading")); - case OLD_STATUS_PAUSED: - return g_strdup(_("Paused")); - case OLD_STATUS_SEEDING: - return g_strdup(_("Seeding")); - case OLD_STATUS_CHECKING: - return g_strdup(_("Checking")); - case OLD_STATUS_WAITING_TO_CHECK: - return g_strdup(_("Waiting To Check")); - } + switch (value) { + case OLD_STATUS_DOWNLOADING: + /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) + return g_strdup(_("Metadata Downloading")); + else */ + return g_strdup(_("Downloading")); + case OLD_STATUS_PAUSED: + return g_strdup(_("Paused")); + case OLD_STATUS_SEEDING: + return g_strdup(_("Seeding")); + case OLD_STATUS_CHECKING: + return g_strdup(_("Checking")); + case OLD_STATUS_WAITING_TO_CHECK: + return g_strdup(_("Waiting To Check")); + } } //g_warning("Unknown status: %ld", value); @@ -362,16 +362,16 @@ gboolean torrent_has_tracker(JsonObject * t, GRegex * rx, gchar * search) trackers = json_array_get_elements(torrent_get_tracker_stats(t)); for (li = trackers; li; li = g_list_next(li)) { - JsonObject *tracker = json_node_get_object((JsonNode *) li->data); - const gchar *trackerAnnounce = tracker_stats_get_announce(tracker); - gchar *trackerAnnounceHost = - trg_gregex_get_first(rx, trackerAnnounce); - int cmpResult = g_strcmp0(trackerAnnounceHost, search); - g_free(trackerAnnounceHost); - if (!cmpResult) { - ret = TRUE; - break; - } + JsonObject *tracker = json_node_get_object((JsonNode *) li->data); + const gchar *trackerAnnounce = tracker_stats_get_announce(tracker); + gchar *trackerAnnounceHost = + trg_gregex_get_first(rx, trackerAnnounce); + int cmpResult = g_strcmp0(trackerAnnounceHost, search); + g_free(trackerAnnounceHost); + if (!cmpResult) { + ret = TRUE; + break; + } } g_list_free(trackers); @@ -397,9 +397,9 @@ const gchar *tracker_stats_get_scrape(JsonObject * t) JsonArray *get_torrents_removed(JsonObject * response) { if (G_UNLIKELY(json_object_has_member(response, FIELD_REMOVED))) - return json_object_get_array_member(response, FIELD_REMOVED); + return json_object_get_array_member(response, FIELD_REMOVED); else - return NULL; + return NULL; } JsonArray *get_torrents(JsonObject * response) @@ -432,9 +432,9 @@ gint64 torrent_get_peers_getting_from_us(JsonObject * args) gint64 torrent_get_queue_position(JsonObject * args) { if (json_object_has_member(args, FIELD_QUEUE_POSITION)) - return json_object_get_int_member(args, FIELD_QUEUE_POSITION); + return json_object_get_int_member(args, FIELD_QUEUE_POSITION); else - return -1; + return -1; } /* tracker stats */ @@ -492,7 +492,7 @@ const gchar *tracker_stats_get_host(JsonObject * t) gchar *torrent_get_full_path(JsonObject * obj) { const gchar *location = - json_object_get_string_member(obj, FIELD_DOWNLOAD_DIR); + json_object_get_string_member(obj, FIELD_DOWNLOAD_DIR); const gchar *name = json_object_get_string_member(obj, FIELD_NAME); return g_strdup_printf("%s/%s", location, name); } @@ -509,10 +509,10 @@ gchar *torrent_get_full_dir(JsonObject * obj) name = g_strdup(json_object_get_string_member(firstFile, TFILE_NAME)); if ((delim = g_strstr_len(name, -1, "/"))) { - *delim = '\0'; - containing_path = g_strdup_printf("%s/%s", location, name); + *delim = '\0'; + containing_path = g_strdup_printf("%s/%s", location, name); } else { - containing_path = g_strdup(location); + containing_path = g_strdup(location); } g_free(name); @@ -554,7 +554,7 @@ gboolean peer_get_is_downloading_from(JsonObject * p) gdouble peer_get_progress(JsonObject * p) { return - json_double_to_progress(json_object_get_member(p, TPEER_PROGRESS)); + json_double_to_progress(json_object_get_member(p, TPEER_PROGRESS)); } gint64 peer_get_rate_to_client(JsonObject * p) @@ -601,7 +601,7 @@ gint64 peerfrom_get_incoming(JsonObject * pf) gint64 peerfrom_get_lpd(JsonObject * pf) { return json_object_has_member(pf, TPEERFROM_FROMLPD) ? - json_object_get_int_member(pf, TPEERFROM_FROMLPD) : -1; + json_object_get_int_member(pf, TPEERFROM_FROMLPD) : -1; } /* files */ @@ -610,10 +610,10 @@ gdouble file_get_progress(JsonObject * f) { gint64 length = file_get_length(f); if (length > 0) { - return ((gdouble) file_get_bytes_completed(f) / - (gdouble) length) * 100.0; + return ((gdouble) file_get_bytes_completed(f) / + (gdouble) length) * 100.0; } else { - return 0.0; + return 0.0; } } diff --git a/src/torrent.h b/src/torrent.h index 93bb920..daca8c2 100644 --- a/src/torrent.h +++ b/src/torrent.h @@ -41,8 +41,8 @@ #define FILTER_FLAG_TRACKER (1 << 14) #define FILTER_FLAG_DIR (1 << 15) -#define TORRENT_ADD_FLAG_PAUSED (1 << 0) /* 0x01 */ -#define TORRENT_ADD_FLAG_DELETE (1 << 1) /* 0x02 */ +#define TORRENT_ADD_FLAG_PAUSED (1 << 0) /* 0x01 */ +#define TORRENT_ADD_FLAG_DELETE (1 << 1) /* 0x02 */ gint64 torrent_get_size(JsonObject * t); const gchar *torrent_get_name(JsonObject * t); @@ -59,7 +59,7 @@ gint64 torrent_get_status(JsonObject * t); gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags); gchar *torrent_get_status_icon(gint64 rpcv, guint flags); guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, - gint64 downRate, gint64 upRate); + gint64 downRate, gint64 upRate); JsonArray *torrent_get_peers(JsonObject * t); JsonObject *torrent_get_peersfrom(JsonObject * t); JsonArray *torrent_get_tracker_stats(JsonObject * t); @@ -139,4 +139,4 @@ gint64 peerfrom_get_ltep(JsonObject * pf); gint64 peerfrom_get_resume(JsonObject * pf); gint64 peerfrom_get_incoming(JsonObject * pf); gint64 peerfrom_get_lpd(JsonObject * pf); -#endif /* TORRENT_H_ */ +#endif /* TORRENT_H_ */ diff --git a/src/trg-about-window.c b/src/trg-about-window.c index e5dc383..f92e7ca 100644 --- a/src/trg-about-window.c +++ b/src/trg-about-window.c @@ -38,7 +38,7 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) #ifdef WIN32 gchar *moddir = - g_win32_get_package_installation_directory_of_module(NULL); + g_win32_get_package_installation_directory_of_module(NULL); licenseFile = g_build_filename(moddir, "COPYING.TXT", NULL); g_free(moddir); #else @@ -50,47 +50,47 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); logo = - gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), - PACKAGE_NAME, 48, - GTK_ICON_LOOKUP_USE_BUILTIN, NULL); + gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), + PACKAGE_NAME, 48, + GTK_ICON_LOOKUP_USE_BUILTIN, NULL); if (logo != NULL) { - gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); - g_object_unref(logo); + gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo); + g_object_unref(logo); } if (g_file_get_contents(licenseFile, &licenseText, NULL, NULL)) { - gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), - licenseText); + gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), + licenseText); } else { - gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); + gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), "GPL2"); } gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), - PACKAGE_NAME); + PACKAGE_NAME); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), - PACKAGE_VERSION); + PACKAGE_VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), - "(C) 2011 Alan Fitton"); + "(C) 2011 Alan Fitton"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), - _ - ("A remote client to transmission-daemon.")); + _ + ("A remote client to transmission-daemon.")); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), - "http://code.google.com/p/transmission-remote-gtk/"); + "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(dialog), - "http://code.google.com/p/transmission-remote-gtk/"); + "http://code.google.com/p/transmission-remote-gtk/"); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), trgAuthors); /*gtk_about_dialog_set_documenters(GTK_ABOUT_DIALOG(dialog), documenters); */ gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), - "translations kindly contributed by\n\n" - "* Julian Held (German)\n" - "* Youn sok Choi (Korean)\n" - "* Piotr (Polish)\n" - "* Y3AVD (Russian)\n" - "* ROR191 (Ukranian)\n" - "* aspidzent (Spanish)"); + "translations kindly contributed by\n\n" + "* Julian Held (German)\n" + "* Youn sok Choi (Korean)\n" + "* Piotr (Polish)\n" + "* Y3AVD (Russian)\n" + "* ROR191 (Ukranian)\n" + "* aspidzent (Spanish)"); g_free(licenseFile); g_free(licenseText); diff --git a/src/trg-about-window.h b/src/trg-about-window.h index 621ccfc..8fbd132 100644 --- a/src/trg-about-window.h +++ b/src/trg-about-window.h @@ -24,4 +24,4 @@ GtkWidget *trg_about_window_new(GtkWindow * parent); -#endif /* ABOUT_WINDOW_H_ */ +#endif /* ABOUT_WINDOW_H_ */ diff --git a/src/trg-cell-renderer-epoch.c b/src/trg-cell-renderer-epoch.c index c440c3a..5b05f09 100644 --- a/src/trg-cell-renderer-epoch.c +++ b/src/trg-cell-renderer-epoch.c @@ -30,7 +30,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererEpoch, trg_cell_renderer_epoch, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_EPOCH, TrgCellRendererEpochPrivate)) typedef struct _TrgCellRendererEpochPrivate TrgCellRendererEpochPrivate; @@ -41,52 +41,52 @@ struct _TrgCellRendererEpochPrivate { static void trg_cell_renderer_epoch_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererEpochPrivate *priv = - TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); + TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); switch (property_id) { case PROP_EPOCH_VALUE: - g_value_set_int64(value, priv->epoch_value); - break; + g_value_set_int64(value, priv->epoch_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_cell_renderer_epoch_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererEpochPrivate *priv = - TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); + TRG_CELL_RENDERER_EPOCH_GET_PRIVATE(object); if (property_id == PROP_EPOCH_VALUE) { - gint64 new_value = g_value_get_int64(value); - if (priv->epoch_value != new_value) { - if (new_value > 0) { + gint64 new_value = g_value_get_int64(value); + if (priv->epoch_value != new_value) { + if (new_value > 0) { #if GLIB_CHECK_VERSION(2, 26, 00) - GDateTime *dt = g_date_time_new_from_unix_local(new_value); - gchar *timestring = g_date_time_format(dt, "%F %H:%M:%S"); - g_object_set(object, "text", timestring, NULL); - g_free(timestring); - g_date_time_unref(dt); + GDateTime *dt = g_date_time_new_from_unix_local(new_value); + gchar *timestring = g_date_time_format(dt, "%F %H:%M:%S"); + g_object_set(object, "text", timestring, NULL); + g_free(timestring); + g_date_time_unref(dt); #else - time_t time_val = new_value; - char buf[64]; - struct tm *ts = localtime(&time_val); - strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ts); - g_object_set(object, "text", buf, NULL); + time_t time_val = new_value; + char buf[64]; + struct tm *ts = localtime(&time_val); + strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ts); + g_object_set(object, "text", buf, NULL); #endif - } else { - g_object_set(object, "text", "", NULL); - } - priv->epoch_value = new_value; - } + } else { + g_object_set(object, "text", "", NULL); + } + priv->epoch_value = new_value; + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -99,20 +99,20 @@ trg_cell_renderer_epoch_class_init(TrgCellRendererEpochClass * klass) object_class->set_property = trg_cell_renderer_epoch_set_property; g_object_class_install_property(object_class, - PROP_EPOCH_VALUE, - g_param_spec_int64("epoch-value", - "Epoch Value", - "Epoch Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_EPOCH_VALUE, + g_param_spec_int64("epoch-value", + "Epoch Value", + "Epoch Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererEpochPrivate)); } @@ -125,6 +125,6 @@ trg_cell_renderer_epoch_init(TrgCellRendererEpoch * self G_GNUC_UNUSED) GtkCellRenderer *trg_cell_renderer_epoch_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_EPOCH, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_EPOCH, NULL)); } diff --git a/src/trg-cell-renderer-epoch.h b/src/trg-cell-renderer-epoch.h index 742c1e4..af235bf 100644 --- a/src/trg-cell-renderer-epoch.h +++ b/src/trg-cell-renderer-epoch.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_epoch_get_type(void); GtkCellRenderer *trg_cell_renderer_epoch_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_EPOCH_H_ */ +#endif /* TRG_CELL_RENDERER_EPOCH_H_ */ diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index fafedb1..604ac8f 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererEta, trg_cell_renderer_eta, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_ETA_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_ETA, TrgCellRendererEtaPrivate)) typedef struct _TrgCellRendererEtaPrivate TrgCellRendererEtaPrivate; @@ -40,42 +40,42 @@ struct _TrgCellRendererEtaPrivate { static void trg_cell_renderer_eta_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = - TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); + TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); switch (property_id) { case PROP_ETA_VALUE: - g_value_set_int64(value, priv->eta_value); - break; + g_value_set_int64(value, priv->eta_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_cell_renderer_eta_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = - TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); + TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); if (property_id == PROP_ETA_VALUE) { - priv->eta_value = g_value_get_int64(value); - if (priv->eta_value > 0) { - char etaString[32]; - tr_strltime_short(etaString, priv->eta_value, - sizeof(etaString)); - g_object_set(object, "text", etaString, NULL); - } else if (priv->eta_value == -2) { - g_object_set(object, "text", "∞", NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->eta_value = g_value_get_int64(value); + if (priv->eta_value > 0) { + char etaString[32]; + tr_strltime_short(etaString, priv->eta_value, + sizeof(etaString)); + g_object_set(object, "text", etaString, NULL); + } else if (priv->eta_value == -2) { + g_object_set(object, "text", "∞", NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -88,20 +88,20 @@ trg_cell_renderer_eta_class_init(TrgCellRendererEtaClass * klass) object_class->set_property = trg_cell_renderer_eta_set_property; g_object_class_install_property(object_class, - PROP_ETA_VALUE, - g_param_spec_int64("eta-value", - "Eta Value", - "Eta Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_ETA_VALUE, + g_param_spec_int64("eta-value", + "Eta Value", + "Eta Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererEtaPrivate)); } @@ -114,5 +114,5 @@ trg_cell_renderer_eta_init(TrgCellRendererEta * self G_GNUC_UNUSED) GtkCellRenderer *trg_cell_renderer_eta_new(void) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_ETA, NULL)); + GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_ETA, NULL)); } diff --git a/src/trg-cell-renderer-eta.h b/src/trg-cell-renderer-eta.h index d3533fc..a56d96f 100644 --- a/src/trg-cell-renderer-eta.h +++ b/src/trg-cell-renderer-eta.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_eta_get_type(void); GtkCellRenderer *trg_cell_renderer_eta_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_ETA_H_ */ +#endif /* TRG_CELL_RENDERER_ETA_H_ */ diff --git a/src/trg-cell-renderer-numgteqthan.c b/src/trg-cell-renderer-numgteqthan.c index 4aa07bb..e0f9874 100644 --- a/src/trg-cell-renderer-numgteqthan.c +++ b/src/trg-cell-renderer-numgteqthan.c @@ -30,11 +30,11 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererNumGtEqThan, trg_cell_renderer_numgteqthan, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_NUMGTEQTHAN, TrgCellRendererNumGtEqThanPrivate)) typedef struct _TrgCellRendererNumGtEqThanPrivate - TrgCellRendererNumGtEqThanPrivate; + TrgCellRendererNumGtEqThanPrivate; struct _TrgCellRendererNumGtEqThanPrivate { gint64 value_value; @@ -43,96 +43,96 @@ struct _TrgCellRendererNumGtEqThanPrivate { static void trg_cell_renderer_numgteqthan_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, + GParamSpec * pspec) { TrgCellRendererNumGtEqThanPrivate *priv = - TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); + TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); switch (property_id) { case PROP_VALUE_VALUE: - g_value_set_int64(value, priv->value_value); - break; + g_value_set_int64(value, priv->value_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_cell_renderer_numgteqthan_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgCellRendererNumGtEqThanPrivate *priv = - TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); + TRG_CELL_RENDERER_NUMGTEQTHAN_GET_PRIVATE(object); if (property_id == PROP_VALUE_VALUE) { - priv->value_value = g_value_get_int64(value); - if (priv->value_value >= priv->minvalue) { - gchar size_text[32]; - g_snprintf(size_text, sizeof(size_text), "%" G_GINT64_FORMAT, - priv->value_value); - g_object_set(object, "text", size_text, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->value_value = g_value_get_int64(value); + if (priv->value_value >= priv->minvalue) { + gchar size_text[32]; + g_snprintf(size_text, sizeof(size_text), "%" G_GINT64_FORMAT, + priv->value_value); + g_object_set(object, "text", size_text, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else if (property_id == PROP_MINVALUE) { - priv->minvalue = g_value_get_int64(value); + priv->minvalue = g_value_get_int64(value); } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_numgteqthan_class_init(TrgCellRendererNumGtEqThanClass * - klass) + klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->get_property = - trg_cell_renderer_numgteqthan_get_property; + trg_cell_renderer_numgteqthan_get_property; object_class->set_property = - trg_cell_renderer_numgteqthan_set_property; + trg_cell_renderer_numgteqthan_set_property; g_object_class_install_property(object_class, - PROP_VALUE_VALUE, - g_param_spec_int64("value", - "Value", - "Value", - INT64_MIN, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_VALUE_VALUE, + g_param_spec_int64("value", + "Value", + "Value", + INT64_MIN, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, - PROP_MINVALUE, - g_param_spec_int64("minvalue", - "Min Value", - "Min Value", - INT64_MIN, - INT64_MAX, - 1, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MINVALUE, + g_param_spec_int64("minvalue", + "Min Value", + "Min Value", + INT64_MIN, + INT64_MAX, + 1, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, - sizeof(TrgCellRendererNumGtEqThanPrivate)); + sizeof(TrgCellRendererNumGtEqThanPrivate)); } static void trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * - self) + self) { g_object_set(self, "xalign", 1.0f, NULL); } @@ -140,7 +140,7 @@ static void trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * GtkCellRenderer *trg_cell_renderer_numgteqthan_new(gint64 minvalue) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_NUMGTEQTHAN, "minvalue", - minvalue, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_NUMGTEQTHAN, "minvalue", + minvalue, NULL)); } diff --git a/src/trg-cell-renderer-numgteqthan.h b/src/trg-cell-renderer-numgteqthan.h index fb15e5a..dca71c6 100644 --- a/src/trg-cell-renderer-numgteqthan.h +++ b/src/trg-cell-renderer-numgteqthan.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_numgteqthan_get_type(void); GtkCellRenderer *trg_cell_renderer_numgteqthan_new(gint64 minvalue); G_END_DECLS -#endif /* TRG_CELL_RENDERER_NUMGTEQTHAN_H_ */ +#endif /* TRG_CELL_RENDERER_NUMGTEQTHAN_H_ */ diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index 747c6a5..14d4763 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -32,7 +32,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererPriority, trg_cell_renderer_priority, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_PRIORITY, TrgCellRendererPriorityPrivate)) typedef struct _TrgCellRendererPriorityPrivate @@ -44,40 +44,40 @@ struct _TrgCellRendererPriorityPrivate { static void trg_cell_renderer_priority_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec) + guint property_id, GValue * value, + GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = - TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); + TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); switch (property_id) { case PROP_PRIORITY_VALUE: - g_value_set_int64(value, priv->priority_value); - break; + g_value_set_int64(value, priv->priority_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_priority_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = - TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); + TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); if (property_id == PROP_PRIORITY_VALUE) { - priv->priority_value = g_value_get_int64(value); - if (priv->priority_value == TR_PRI_LOW) { - g_object_set(object, "text", _("Low"), NULL); - } else if (priv->priority_value == TR_PRI_HIGH) { - g_object_set(object, "text", _("High"), NULL); - } else { - g_object_set(object, "text", _("Normal"), NULL); - } + priv->priority_value = g_value_get_int64(value); + if (priv->priority_value == TR_PRI_LOW) { + g_object_set(object, "text", _("Low"), NULL); + } else if (priv->priority_value == TR_PRI_HIGH) { + g_object_set(object, "text", _("High"), NULL); + } else { + g_object_set(object, "text", _("Normal"), NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -90,30 +90,30 @@ trg_cell_renderer_priority_class_init(TrgCellRendererPriorityClass * klass) object_class->set_property = trg_cell_renderer_priority_set_property; g_object_class_install_property(object_class, - PROP_PRIORITY_VALUE, - g_param_spec_int64 - ("priority-value", - "Priority Value", - "Priority Value", TR_PRI_LOW, - TR_PRI_HIGH, TR_PRI_NORMAL, - G_PARAM_READWRITE | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PRIORITY_VALUE, + g_param_spec_int64 + ("priority-value", + "Priority Value", + "Priority Value", TR_PRI_LOW, + TR_PRI_HIGH, TR_PRI_NORMAL, + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, - sizeof(TrgCellRendererPriorityPrivate)); + sizeof(TrgCellRendererPriorityPrivate)); } static void trg_cell_renderer_priority_init(TrgCellRendererPriority * - self G_GNUC_UNUSED) + self G_GNUC_UNUSED) { } GtkCellRenderer *trg_cell_renderer_priority_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_PRIORITY, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_PRIORITY, NULL)); } diff --git a/src/trg-cell-renderer-priority.h b/src/trg-cell-renderer-priority.h index e53d8ce..8d47bca 100644 --- a/src/trg-cell-renderer-priority.h +++ b/src/trg-cell-renderer-priority.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_priority_get_type(void); GtkCellRenderer *trg_cell_renderer_priority_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_PRIORITY_H_ */ +#endif /* TRG_CELL_RENDERER_PRIORITY_H_ */ diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index 5b0d4b6..2a1c304 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererRatio, trg_cell_renderer_ratio, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_RATIO_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_RATIO, TrgCellRendererRatioPrivate)) typedef struct _TrgCellRendererRatioPrivate TrgCellRendererRatioPrivate; @@ -40,37 +40,37 @@ struct _TrgCellRendererRatioPrivate { static void trg_cell_renderer_ratio_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = - TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); + TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); switch (property_id) { case PROP_RATIO_VALUE: - g_value_set_double(value, priv->ratio_value); - break; + g_value_set_double(value, priv->ratio_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_ratio_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = - TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); + TRG_CELL_RENDERER_RATIO_GET_PRIVATE(object); if (property_id == PROP_RATIO_VALUE) { - priv->ratio_value = g_value_get_double(value); - if (priv->ratio_value > 0) { - char ratioString[32]; - trg_strlratio(ratioString, priv->ratio_value); - g_object_set(object, "text", ratioString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->ratio_value = g_value_get_double(value); + if (priv->ratio_value > 0) { + char ratioString[32]; + trg_strlratio(ratioString, priv->ratio_value); + g_object_set(object, "text", ratioString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -83,20 +83,20 @@ trg_cell_renderer_ratio_class_init(TrgCellRendererRatioClass * klass) object_class->set_property = trg_cell_renderer_ratio_set_property; g_object_class_install_property(object_class, - PROP_RATIO_VALUE, - g_param_spec_double("ratio-value", - "Ratio Value", - "Ratio Value", - 0, - DBL_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_RATIO_VALUE, + g_param_spec_double("ratio-value", + "Ratio Value", + "Ratio Value", + 0, + DBL_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererRatioPrivate)); } @@ -109,6 +109,6 @@ static void trg_cell_renderer_ratio_init(TrgCellRendererRatio * self) GtkCellRenderer *trg_cell_renderer_ratio_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_RATIO, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_RATIO, NULL)); } diff --git a/src/trg-cell-renderer-ratio.h b/src/trg-cell-renderer-ratio.h index 9606f54..82593a0 100644 --- a/src/trg-cell-renderer-ratio.h +++ b/src/trg-cell-renderer-ratio.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_ratio_get_type(void); GtkCellRenderer *trg_cell_renderer_ratio_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_RATIO_H_ */ +#endif /* TRG_CELL_RENDERER_RATIO_H_ */ diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index eadf59e..2271d2e 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSize, trg_cell_renderer_size, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SIZE_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SIZE, TrgCellRendererSizePrivate)) typedef struct _TrgCellRendererSizePrivate TrgCellRendererSizePrivate; @@ -40,37 +40,37 @@ struct _TrgCellRendererSizePrivate { static void trg_cell_renderer_size_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = - TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); + TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); switch (property_id) { case PROP_SIZE_VALUE: - g_value_set_int64(value, priv->size_value); - break; + g_value_set_int64(value, priv->size_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_size_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = - TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); + TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); if (property_id == PROP_SIZE_VALUE) { - priv->size_value = g_value_get_int64(value); - if (priv->size_value > 0) { - char sizeString[32]; - trg_strlsize(sizeString, priv->size_value); - g_object_set(object, "text", sizeString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->size_value = g_value_get_int64(value); + if (priv->size_value > 0) { + char sizeString[32]; + trg_strlsize(sizeString, priv->size_value); + g_object_set(object, "text", sizeString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -83,20 +83,20 @@ trg_cell_renderer_size_class_init(TrgCellRendererSizeClass * klass) object_class->set_property = trg_cell_renderer_size_set_property; g_object_class_install_property(object_class, - PROP_SIZE_VALUE, - g_param_spec_int64("size-value", - "Size Value", - "Size Value", - 0, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_SIZE_VALUE, + g_param_spec_int64("size-value", + "Size Value", + "Size Value", + 0, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSizePrivate)); } @@ -109,5 +109,5 @@ static void trg_cell_renderer_size_init(TrgCellRendererSize * self) GtkCellRenderer *trg_cell_renderer_size_new(void) { return - GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_SIZE, NULL)); + GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_SIZE, NULL)); } diff --git a/src/trg-cell-renderer-size.h b/src/trg-cell-renderer-size.h index b7900d6..94e5a00 100644 --- a/src/trg-cell-renderer-size.h +++ b/src/trg-cell-renderer-size.h @@ -48,4 +48,4 @@ GType trg_cell_renderer_size_get_type(void); GtkCellRenderer *trg_cell_renderer_size_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_SIZE_H_ */ +#endif /* TRG_CELL_RENDERER_SIZE_H_ */ diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 369e04d..6fcc797 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -29,7 +29,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSpeed, trg_cell_renderer_speed, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SPEED_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SPEED, TrgCellRendererSpeedPrivate)) typedef struct _TrgCellRendererSpeedPrivate TrgCellRendererSpeedPrivate; @@ -40,38 +40,38 @@ struct _TrgCellRendererSpeedPrivate { static void trg_cell_renderer_speed_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); switch (property_id) { case PROP_SPEED_VALUE: - g_value_set_int64(value, priv->speed_value); - break; + g_value_set_int64(value, priv->speed_value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } static void trg_cell_renderer_speed_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); if (property_id == PROP_SPEED_VALUE) { - priv->speed_value = g_value_get_int64(value); - if (priv->speed_value > 0) { - char speedString[32]; - trg_strlspeed(speedString, - priv->speed_value / KILOBYTE_FACTOR); - g_object_set(object, "text", speedString, NULL); - } else { - g_object_set(object, "text", "", NULL); - } + priv->speed_value = g_value_get_int64(value); + if (priv->speed_value > 0) { + char speedString[32]; + trg_strlspeed(speedString, + priv->speed_value / KILOBYTE_FACTOR); + g_object_set(object, "text", speedString, NULL); + } else { + g_object_set(object, "text", "", NULL); + } } else { - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } } @@ -84,20 +84,20 @@ trg_cell_renderer_speed_class_init(TrgCellRendererSpeedClass * klass) object_class->set_property = trg_cell_renderer_speed_set_property; g_object_class_install_property(object_class, - PROP_SPEED_VALUE, - g_param_spec_int64("speed-value", - "Speed Value", - "Speed Value", - 0, - INT64_MAX, - 0, - G_PARAM_READWRITE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_SPEED_VALUE, + g_param_spec_int64("speed-value", + "Speed Value", + "Speed Value", + 0, + INT64_MAX, + 0, + G_PARAM_READWRITE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSpeedPrivate)); } @@ -110,6 +110,6 @@ static void trg_cell_renderer_speed_init(TrgCellRendererSpeed * self) GtkCellRenderer *trg_cell_renderer_speed_new(void) { return - GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); + GTK_CELL_RENDERER(g_object_new + (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); } diff --git a/src/trg-cell-renderer-speed.h b/src/trg-cell-renderer-speed.h index 6aa6b7f..e8ea8f0 100644 --- a/src/trg-cell-renderer-speed.h +++ b/src/trg-cell-renderer-speed.h @@ -49,4 +49,4 @@ GType trg_cell_renderer_speed_get_type(void); GtkCellRenderer *trg_cell_renderer_speed_new(void); G_END_DECLS -#endif /* TRG_CELL_RENDERER_SPEED_H_ */ +#endif /* TRG_CELL_RENDERER_SPEED_H_ */ diff --git a/src/trg-client.c b/src/trg-client.c index 942121d..5304a81 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -88,27 +88,27 @@ struct _TrgClientPrivate { }; static void dispatch_async_threadfunc(trg_request * reqrsp, - TrgClient * client); + TrgClient * client); static void trg_client_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_client_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -128,13 +128,13 @@ static void trg_client_class_init(TrgClientClass * klass) object_class->dispose = trg_client_dispose; signals[TC_SESSION_UPDATED] = - g_signal_new("session-updated", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgClientClass, - session_updated), NULL, - NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_POINTER); + g_signal_new("session-updated", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgClientClass, + session_updated), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); } static void trg_client_init(TrgClient * self) @@ -154,7 +154,7 @@ TrgClient *trg_client_new(void) priv->tlsKey = g_private_new(NULL); priv->pool = g_thread_pool_new((GFunc) dispatch_async_threadfunc, tc, - DISPATCH_POOL_SIZE, TRUE, NULL); + DISPATCH_POOL_SIZE, TRUE, NULL); return tc; } @@ -188,9 +188,9 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); if (priv->session) { - json_object_unref(priv->session); + json_object_unref(priv->session); } else { - session_get_version(session, &priv->version); + session_get_version(session, &priv->version); } priv->session = session; @@ -229,56 +229,56 @@ int trg_client_populate_with_settings(TrgClient * tc) priv->password = NULL; port = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION); + trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION); host = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, - TRG_PREFS_CONNECTION); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, + TRG_PREFS_CONNECTION); if (!host || strlen(host) < 1) { - g_free(host); - g_mutex_unlock(priv->configMutex); - return TRG_NO_HOSTNAME_SET; + g_free(host); + g_mutex_unlock(priv->configMutex); + return TRG_NO_HOSTNAME_SET; } #ifndef CURL_NO_SSL priv->ssl = - trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL, TRG_PREFS_CONNECTION); + trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL, TRG_PREFS_CONNECTION); #else priv->ssl = FALSE; #endif priv->url = - g_strdup_printf("%s://%s:%d/transmission/rpc", - priv->ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX, - host, port); + g_strdup_printf("%s://%s:%d/transmission/rpc", + priv->ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX, + host, port); g_free(host); priv->username = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME, - TRG_PREFS_CONNECTION); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME, + TRG_PREFS_CONNECTION); priv->password = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD, - TRG_PREFS_CONNECTION); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD, + TRG_PREFS_CONNECTION); g_free(priv->proxy); priv->proxy = NULL; #ifdef HAVE_LIBPROXY if ((pf = px_proxy_factory_new())) { - char **proxies = px_proxy_factory_get_proxies(pf, priv->url); - int i; - - for (i = 0; proxies[i]; i++) { - if (g_str_has_prefix(proxies[i], HTTP_URI_PREFIX)) { - g_free(priv->proxy); - priv->proxy = proxies[i]; - } else { - g_free(proxies[i]); - } - } - - g_free(proxies); - px_proxy_factory_free(pf); + char **proxies = px_proxy_factory_get_proxies(pf, priv->url); + int i; + + for (i = 0; proxies[i]; i++) { + if (g_str_has_prefix(proxies[i], HTTP_URI_PREFIX)) { + g_free(priv->proxy); + priv->proxy = proxies[i]; + } else { + g_free(proxies[i]); + } + } + + g_free(proxies); + px_proxy_factory_free(pf); } #endif @@ -318,7 +318,7 @@ void trg_client_set_session_id(TrgClient * tc, gchar * session_id) g_mutex_lock(priv->configMutex); if (priv->session_id) - g_free(priv->session_id); + g_free(priv->session_id); priv->session_id = session_id; @@ -330,13 +330,13 @@ void trg_client_status_change(TrgClient * tc, gboolean connected) TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); if (!connected) { - if (priv->session) { - json_object_unref(priv->session); - priv->session = NULL; - } - g_mutex_lock(priv->configMutex); - trg_prefs_set_connection(priv->prefs, NULL); - g_mutex_unlock(priv->configMutex); + if (priv->session) { + json_object_unref(priv->session); + priv->session = NULL; + } + g_mutex_lock(priv->configMutex); + trg_prefs_set_connection(priv->prefs, NULL); + g_mutex_unlock(priv->configMutex); } } @@ -347,7 +347,7 @@ JsonObject *trg_client_get_session(TrgClient * tc) } void trg_client_thread_pool_push(TrgClient * tc, gpointer data, - GError ** err) + GError ** err) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); g_thread_pool_push(priv->pool, data, err); @@ -444,7 +444,7 @@ void trg_client_configunlock(TrgClient * tc) void trg_response_free(trg_response * response) { if (response->obj) - json_object_unref(response->obj); + json_object_unref(response->obj); g_free(response); } @@ -456,30 +456,30 @@ http_receive_callback(void *ptr, size_t size, size_t nmemb, void *data) mem->raw = g_realloc(mem->raw, mem->size + realsize + 1); if (mem->raw) { - memcpy(&(mem->raw[mem->size]), ptr, realsize); - mem->size += realsize; - mem->raw[mem->size] = 0; + memcpy(&(mem->raw[mem->size]), ptr, realsize); + mem->size += realsize; + mem->raw[mem->size] = 0; } return realsize; } static size_t header_callback(void *ptr, size_t size, size_t nmemb, - void *data) + void *data) { char *header = (char *) (ptr); TrgClient *tc = TRG_CLIENT(data); gchar *session_id; if (g_str_has_prefix(header, X_TRANSMISSION_SESSION_ID_HEADER_PREFIX)) { - char *nl; + char *nl; - session_id = g_strdup(header); - nl = strrchr(session_id, '\r'); - if (nl) - *nl = '\0'; + session_id = g_strdup(header); + nl = strrchr(session_id, '\r'); + if (nl) + *nl = '\0'; - trg_client_set_session_id(tc, session_id); + trg_client_set_session_id(tc, session_id); } return (nmemb * size); @@ -490,20 +490,20 @@ static void trg_tls_update(TrgClient * tc, trg_tls * tls, gint serial) gchar *proxy; curl_easy_setopt(tls->curl, CURLOPT_PASSWORD, - trg_client_get_password(tc)); + trg_client_get_password(tc)); curl_easy_setopt(tls->curl, CURLOPT_USERNAME, - trg_client_get_username(tc)); + trg_client_get_username(tc)); curl_easy_setopt(tls->curl, CURLOPT_URL, trg_client_get_url(tc)); #ifndef CURL_NO_SSL if (trg_client_get_ssl(tc)) - curl_easy_setopt(tls->curl, CURLOPT_SSL_VERIFYPEER, 0); + curl_easy_setopt(tls->curl, CURLOPT_SSL_VERIFYPEER, 0); #endif proxy = trg_client_get_proxy(tc); if (proxy) { - curl_easy_setopt(tls->curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); - curl_easy_setopt(tls->curl, CURLOPT_PROXY, proxy); + curl_easy_setopt(tls->curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); + curl_easy_setopt(tls->curl, CURLOPT_PROXY, proxy); } tls->serial = serial; @@ -518,7 +518,7 @@ trg_tls *trg_tls_new(TrgClient * tc) curl_easy_setopt(tls->curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_easy_setopt(tls->curl, CURLOPT_TIMEOUT, 20); curl_easy_setopt(tls->curl, CURLOPT_WRITEFUNCTION, - &http_receive_callback); + &http_receive_callback); curl_easy_setopt(tls->curl, CURLOPT_HEADERFUNCTION, &header_callback); curl_easy_setopt(tls->curl, CURLOPT_WRITEHEADER, (void *) tc); @@ -528,9 +528,9 @@ trg_tls *trg_tls_new(TrgClient * tc) } static int trg_http_perform_inner(TrgClient * tc, - gchar * reqstr, - trg_response * response, - gboolean recurse) + gchar * reqstr, + trg_response * response, + gboolean recurse) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); gpointer threadLocalStorage = g_private_get(priv->tlsKey); @@ -540,21 +540,21 @@ static int trg_http_perform_inner(TrgClient * tc, struct curl_slist *headers = NULL; if (!threadLocalStorage) { - tls = trg_tls_new(tc); - g_private_set(priv->tlsKey, tls); + tls = trg_tls_new(tc); + g_private_set(priv->tlsKey, tls); } else { - tls = (trg_tls *) threadLocalStorage; + tls = (trg_tls *) threadLocalStorage; } g_mutex_lock(priv->configMutex); if (priv->configSerial > tls->serial) - trg_tls_update(tc, tls, priv->configSerial); + trg_tls_update(tc, tls, priv->configSerial); session_id = trg_client_get_session_id(tc); if (session_id) { - headers = curl_slist_append(NULL, session_id); - curl_easy_setopt(tls->curl, CURLOPT_HTTPHEADER, headers); + headers = curl_slist_append(NULL, session_id); + curl_easy_setopt(tls->curl, CURLOPT_HTTPHEADER, headers); } g_mutex_unlock(priv->configMutex); @@ -567,17 +567,17 @@ static int trg_http_perform_inner(TrgClient * tc, response->status = curl_easy_perform(tls->curl); if (session_id) { - g_free(session_id); - curl_slist_free_all(headers); + g_free(session_id); + curl_slist_free_all(headers); } curl_easy_getinfo(tls->curl, CURLINFO_RESPONSE_CODE, &httpCode); if (response->status == CURLE_OK) { - if (httpCode == HTTP_CONFLICT && recurse == TRUE) - return trg_http_perform_inner(tc, reqstr, response, FALSE); - else if (httpCode != HTTP_OK) - response->status = (-httpCode) - 100; + if (httpCode == HTTP_CONFLICT && recurse == TRUE) + return trg_http_perform_inner(tc, reqstr, response, FALSE); + else if (httpCode != HTTP_OK) + response->status = (-httpCode) - 100; } return response->status; @@ -596,7 +596,7 @@ trg_response *dispatch(TrgClient * client, JsonNode * req) json_node_free(req); #ifdef DEBUG if (g_getenv("TRG_SHOW_OUTGOING")) - g_debug("=>(OUTgoing)=>: %s", serialized); + g_debug("=>(OUTgoing)=>: %s", serialized); #endif return dispatch_str(client, serialized); } @@ -611,51 +611,51 @@ trg_response *dispatch_str(TrgClient * client, gchar * req) g_free(req); if (response->status != CURLE_OK) - return response; + return response; response->obj = trg_deserialize(response, &decode_error); g_free(response->raw); response->raw = NULL; if (decode_error) { - g_error("JSON decoding error: %s", decode_error->message); - g_error_free(decode_error); - response->status = FAIL_JSON_DECODE; - return response; + g_error("JSON decoding error: %s", decode_error->message); + g_error_free(decode_error); + response->status = FAIL_JSON_DECODE; + return response; } result = json_object_get_member(response->obj, FIELD_RESULT); if (!result || g_strcmp0(json_node_get_string(result), FIELD_SUCCESS)) - response->status = FAIL_RESPONSE_UNSUCCESSFUL; + response->status = FAIL_RESPONSE_UNSUCCESSFUL; return response; } static void dispatch_async_threadfunc(trg_request * req, - TrgClient * client) + TrgClient * client) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client); trg_response *rsp; if (req->str) - rsp = dispatch_str(client, req->str); + rsp = dispatch_str(client, req->str); else - rsp = dispatch(client, req->node); + rsp = dispatch(client, req->node); rsp->cb_data = req->cb_data; if (req->callback && req->connid == g_atomic_int_get(&priv->connid)) - g_idle_add(req->callback, rsp); + g_idle_add(req->callback, rsp); else - trg_response_free(rsp); + trg_response_free(rsp); g_free(req); } static gboolean dispatch_async_common(TrgClient * client, - trg_request * trg_req, - GSourceFunc callback, gpointer data) + trg_request * trg_req, + GSourceFunc callback, gpointer data) { TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client); GError *error = NULL; @@ -666,17 +666,17 @@ static gboolean dispatch_async_common(TrgClient * client, trg_client_thread_pool_push(client, trg_req, &error); if (error) { - g_error("thread creation error: %s\n", error->message); - g_error_free(error); - g_free(trg_req); - return FALSE; + g_error("thread creation error: %s\n", error->message); + g_error_free(error); + g_free(trg_req); + return FALSE; } else { - return TRUE; + return TRUE; } } gboolean dispatch_async(TrgClient * client, JsonNode * req, - GSourceFunc callback, gpointer data) + GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->node = req; @@ -685,7 +685,7 @@ gboolean dispatch_async(TrgClient * client, JsonNode * req, } gboolean dispatch_async_str(TrgClient * client, gchar * req, - GSourceFunc callback, gpointer data) + GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->str = req; diff --git a/src/trg-client.h b/src/trg-client.h index ae3c489..5a5e004 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -94,7 +94,7 @@ G_BEGIN_DECLS typedef struct { GObjectClass parent_class; void (*session_updated) (TrgClient * tc, JsonObject * session, - gpointer data); + gpointer data); } TrgClientClass; @@ -114,14 +114,14 @@ typedef struct { /* stuff that used to be in http.h */ void trg_response_free(trg_response * response); int trg_http_perform(TrgClient * client, gchar * reqstr, - trg_response * reqrsp); + trg_response * reqrsp); /* end http.h*/ /* stuff that used to be in dispatch.c */ trg_response *dispatch(TrgClient * client, JsonNode * req); trg_response *dispatch_str(TrgClient * client, gchar * req); gboolean dispatch_async(TrgClient * client, JsonNode * req, - GSourceFunc callback, gpointer data); + GSourceFunc callback, gpointer data); /* end dispatch.c*/ GType trg_client_get_type(void); @@ -144,7 +144,7 @@ gboolean trg_client_get_ssl(TrgClient * tc); gchar *trg_client_get_proxy(TrgClient * tc); gint64 trg_client_get_serial(TrgClient * tc); void trg_client_thread_pool_push(TrgClient * tc, gpointer data, - GError ** err); + GError ** err); void trg_client_set_torrent_table(TrgClient * tc, GHashTable * table); GHashTable *trg_client_get_torrent_table(TrgClient * tc); JsonObject *trg_client_get_session(TrgClient * tc); @@ -161,4 +161,4 @@ void trg_client_inc_serial(TrgClient * tc); void trg_client_inc_connid(TrgClient * tc); G_END_DECLS -#endif // _TRG_CLIENT_H_ +#endif // _TRG_CLIENT_H_ diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c index c19a750..3ebc14d 100644 --- a/src/trg-destination-combo.c +++ b/src/trg-destination-combo.c @@ -27,7 +27,7 @@ #include "util.h" G_DEFINE_TYPE(TrgDestinationCombo, trg_destination_combo, - GTK_TYPE_COMBO_BOX) + GTK_TYPE_COMBO_BOX) #define TRG_DESTINATION_COMBO_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_DESTINATION_COMBO, TrgDestinationComboPrivate)) typedef struct _TrgDestinationComboPrivate TrgDestinationComboPrivate; @@ -54,47 +54,47 @@ enum { static void trg_destination_combo_finalize(GObject * object) { TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); g_free((gpointer) priv->last_selection); } static void trg_destination_combo_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, + GParamSpec * pspec) { TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; case PROP_LAST_SELECTION: - g_value_set_string(value, priv->last_selection); - break; + g_value_set_string(value, priv->last_selection); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_destination_combo_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_LAST_SELECTION: - priv->last_selection = g_strdup(g_value_get_string(value)); - break; + priv->last_selection = g_strdup(g_value_get_string(value)); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -102,11 +102,11 @@ static gboolean g_slist_str_set_add(GSList ** list, const gchar * string) { GSList *li; for (li = *list; li; li = g_slist_next(li)) - if (!g_strcmp0((gchar *) li->data, string)) - return FALSE; + if (!g_strcmp0((gchar *) li->data, string)) + return FALSE; *list = g_slist_insert_sorted(*list, (gpointer) string, - (GCompareFunc) g_strcmp0); + (GCompareFunc) g_strcmp0); return TRUE; } @@ -114,92 +114,92 @@ static gboolean g_slist_str_set_add(GSList ** list, const gchar * string) void trg_destination_combo_save_selection(TrgDestinationCombo * combo_box) { TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(combo_box); + TRG_DESTINATION_COMBO_GET_PRIVATE(combo_box); GtkTreeIter iter; if (priv->last_selection - && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo_box), - &iter)) { - GtkTreeModel *model = - gtk_combo_box_get_model(GTK_COMBO_BOX(combo_box)); - TrgPrefs *prefs = trg_client_get_prefs(priv->client); - gchar *text; - - gtk_tree_model_get(model, &iter, DEST_COLUMN_LABEL, &text, -1); - trg_prefs_set_string(prefs, priv->last_selection, text, - TRG_PREFS_CONNECTION); - g_free(text); + && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo_box), + &iter)) { + GtkTreeModel *model = + gtk_combo_box_get_model(GTK_COMBO_BOX(combo_box)); + TrgPrefs *prefs = trg_client_get_prefs(priv->client); + gchar *text; + + gtk_tree_model_get(model, &iter, DEST_COLUMN_LABEL, &text, -1); + trg_prefs_set_string(prefs, priv->last_selection, text, + TRG_PREFS_CONNECTION); + g_free(text); } } static void gtk_combo_box_entry_active_changed(GtkComboBox * combo_box, - gpointer user_data) + gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; gboolean editableEntry = TRUE; if (gtk_combo_box_get_active_iter(combo_box, &iter)) { - GtkEntry *entry = - trg_destination_combo_get_entry(TRG_DESTINATION_COMBO - (combo_box)); + GtkEntry *entry = + trg_destination_combo_get_entry(TRG_DESTINATION_COMBO + (combo_box)); - if (entry) { - GValue value = { 0, }; - guint type; + if (entry) { + GValue value = { 0, }; + guint type; - model = gtk_combo_box_get_model(combo_box); + model = gtk_combo_box_get_model(combo_box); - gtk_tree_model_get_value(model, &iter, DEST_COLUMN_LABEL, - &value); - gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); + gtk_tree_model_get_value(model, &iter, DEST_COLUMN_LABEL, + &value); + gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); - g_object_set_property(G_OBJECT(entry), "text", &value); - g_value_unset(&value); + g_object_set_property(G_OBJECT(entry), "text", &value); + g_value_unset(&value); - if (type == DEST_LABEL) - editableEntry = FALSE; - } + if (type == DEST_LABEL) + editableEntry = FALSE; + } } #if GTK_CHECK_VERSION( 3, 0, 0 ) gtk_editable_set_editable(GTK_EDITABLE - (trg_destination_combo_get_entry - (TRG_DESTINATION_COMBO(combo_box))), - editableEntry); + (trg_destination_combo_get_entry + (TRG_DESTINATION_COMBO(combo_box))), + editableEntry); #else gtk_entry_set_editable(trg_destination_combo_get_entry - (TRG_DESTINATION_COMBO(combo_box)), - editableEntry); + (TRG_DESTINATION_COMBO(combo_box)), + editableEntry); #endif } gboolean trg_destination_combo_has_text(TrgDestinationCombo * combo) { const gchar *text = - gtk_entry_get_text(trg_destination_combo_get_entry - (TRG_DESTINATION_COMBO(combo))); + gtk_entry_get_text(trg_destination_combo_get_entry + (TRG_DESTINATION_COMBO(combo))); return strlen(text) > 0; } GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo * combo) { TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(combo); + TRG_DESTINATION_COMBO_GET_PRIVATE(combo); return GTK_ENTRY(priv->entry); } static void add_entry_cb(GtkEntry * entry, - GtkEntryIconPosition icon_pos, - GdkEvent * event, gpointer user_data) + GtkEntryIconPosition icon_pos, + GdkEvent * event, gpointer user_data) { GtkComboBox *combo = GTK_COMBO_BOX(user_data); GtkTreeModel *model = gtk_combo_box_get_model(combo); GtkTreeIter iter; gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, - INT_MAX, DEST_COLUMN_LABEL, "", - DEST_COLUMN_DIR, "", - DEST_COLUMN_TYPE, DEST_USERADD, -1); + INT_MAX, DEST_COLUMN_LABEL, "", + DEST_COLUMN_DIR, "", + DEST_COLUMN_TYPE, DEST_USERADD, -1); gtk_combo_box_set_active_iter(combo, &iter); } @@ -210,10 +210,10 @@ struct findDupeArg { gboolean trg_destination_combo_insert_check_dupe_foreach(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - struct findDupeArg *args) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + struct findDupeArg *args) { gchar *existing; gtk_tree_model_get(model, iter, DEST_COLUMN_DIR, &existing, -1); @@ -223,52 +223,52 @@ trg_destination_combo_insert_check_dupe_foreach(GtkTreeModel * model, } static void trg_destination_combo_insert(GtkComboBox * box, - const gchar * label, - const gchar * dir, guint type, - const gchar * lastDestination) + const gchar * label, + const gchar * dir, guint type, + const gchar * lastDestination) { GtkTreeModel *model = gtk_combo_box_get_model(box); gchar *comboLabel; GtkTreeIter iter; if (type == DEST_EXISTING) { - struct findDupeArg args; - args.isDupe = FALSE; - args.dir = dir; - gtk_tree_model_foreach(GTK_TREE_MODEL(model), - (GtkTreeModelForeachFunc) - trg_destination_combo_insert_check_dupe_foreach, - &args); - if (args.isDupe) - return; + struct findDupeArg args; + args.isDupe = FALSE; + args.dir = dir; + gtk_tree_model_foreach(GTK_TREE_MODEL(model), + (GtkTreeModelForeachFunc) + trg_destination_combo_insert_check_dupe_foreach, + &args); + if (args.isDupe) + return; } comboLabel = - label ? g_strdup_printf("%s (%s)", label, dir) : g_strdup(dir); + label ? g_strdup_printf("%s (%s)", label, dir) : g_strdup(dir); gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, - INT_MAX, DEST_COLUMN_LABEL, - comboLabel, DEST_COLUMN_DIR, dir, - DEST_COLUMN_TYPE, type, -1); + INT_MAX, DEST_COLUMN_LABEL, + comboLabel, DEST_COLUMN_DIR, dir, + DEST_COLUMN_TYPE, type, -1); if (lastDestination && !g_strcmp0(lastDestination, comboLabel)) - gtk_combo_box_set_active_iter(box, &iter); + gtk_combo_box_set_active_iter(box, &iter); g_free(comboLabel); } static GObject *trg_destination_combo_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object = G_OBJECT_CLASS - (trg_destination_combo_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_destination_combo_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgDestinationComboPrivate *priv = - TRG_DESTINATION_COMBO_GET_PRIVATE(object); + TRG_DESTINATION_COMBO_GET_PRIVATE(object); TrgClient *client = priv->client; TrgPrefs *prefs = trg_client_get_prefs(client); @@ -284,102 +284,102 @@ static GObject *trg_destination_combo_constructor(GType type, const gchar *lastDestination = NULL; comboModel = gtk_list_store_new(N_DEST_COLUMNS, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_UINT); + G_TYPE_STRING, G_TYPE_UINT); gtk_combo_box_set_model(GTK_COMBO_BOX(object), - GTK_TREE_MODEL(comboModel)); + GTK_TREE_MODEL(comboModel)); g_object_unref(comboModel); g_signal_connect(object, "changed", - G_CALLBACK(gtk_combo_box_entry_active_changed), NULL); + G_CALLBACK(gtk_combo_box_entry_active_changed), NULL); priv->entry = gtk_entry_new(); gtk_container_add(GTK_CONTAINER(object), priv->entry); priv->text_renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(object), - priv->text_renderer, TRUE); + priv->text_renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(object), - priv->text_renderer, "text", 0, NULL); + priv->text_renderer, "text", 0, NULL); g_slist_foreach(dirs, (GFunc) g_free, NULL); g_slist_free(dirs); gtk_entry_set_icon_from_stock(GTK_ENTRY(priv->entry), - GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_CLEAR); + GTK_ENTRY_ICON_SECONDARY, + GTK_STOCK_CLEAR); g_signal_connect(priv->entry, "icon-release", - G_CALLBACK(add_entry_cb), object); + G_CALLBACK(add_entry_cb), object); defaultDir = - g_strdup(session_get_download_dir(trg_client_get_session(client))); + g_strdup(session_get_download_dir(trg_client_get_session(client))); rm_trailing_slashes(defaultDir); savedDestinations = - trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, - TRG_PREFS_CONNECTION); + trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, + TRG_PREFS_CONNECTION); if (priv->last_selection) - lastDestination = trg_prefs_get_string(prefs, priv->last_selection, - TRG_PREFS_CONNECTION); + lastDestination = trg_prefs_get_string(prefs, priv->last_selection, + TRG_PREFS_CONNECTION); trg_destination_combo_insert(GTK_COMBO_BOX(object), - NULL, - defaultDir, - DEST_DEFAULT, lastDestination); + NULL, + defaultDir, + DEST_DEFAULT, lastDestination); if (savedDestinations) { - list = json_array_get_elements(savedDestinations); - if (list) { - for (li = list; li; li = g_list_next(li)) { - JsonObject *obj = - json_node_get_object((JsonNode *) li->data); - trg_destination_combo_insert(GTK_COMBO_BOX(object), - json_object_get_string_member - (obj, TRG_PREFS_SUBKEY_LABEL), - json_object_get_string_member - (obj, - TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR), - DEST_LABEL, lastDestination); - } - g_list_free(list); - } + list = json_array_get_elements(savedDestinations); + if (list) { + for (li = list; li; li = g_list_next(li)) { + JsonObject *obj = + json_node_get_object((JsonNode *) li->data); + trg_destination_combo_insert(GTK_COMBO_BOX(object), + json_object_get_string_member + (obj, TRG_PREFS_SUBKEY_LABEL), + json_object_get_string_member + (obj, + TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR), + DEST_LABEL, lastDestination); + } + g_list_free(list); + } } trg_client_updatelock(client); list = g_hash_table_get_values(trg_client_get_torrent_table(client)); for (li = list; li; li = g_list_next(li)) { - rr = (GtkTreeRowReference *) li->data; - model = gtk_tree_row_reference_get_model(rr); - path = gtk_tree_row_reference_get_path(rr); + rr = (GtkTreeRowReference *) li->data; + model = gtk_tree_row_reference_get_model(rr); + path = gtk_tree_row_reference_get_path(rr); - if (path) { - GtkTreeIter iter; + if (path) { + GtkTreeIter iter; - if (gtk_tree_model_get_iter(model, &iter, path)) { - gchar *dd; + if (gtk_tree_model_get_iter(model, &iter, path)) { + gchar *dd; - gtk_tree_model_get(model, &iter, - TORRENT_COLUMN_DOWNLOADDIR, &dd, -1); + gtk_tree_model_get(model, &iter, + TORRENT_COLUMN_DOWNLOADDIR, &dd, -1); - if (dd && g_strcmp0(dd, defaultDir)) - g_slist_str_set_add(&dirs, dd); - else - g_free(dd); - } + if (dd && g_strcmp0(dd, defaultDir)) + g_slist_str_set_add(&dirs, dd); + else + g_free(dd); + } - gtk_tree_path_free(path); - } + gtk_tree_path_free(path); + } } trg_client_updateunlock(client); for (sli = dirs; sli; sli = g_slist_next(sli)) - trg_destination_combo_insert(GTK_COMBO_BOX(object), - NULL, - (gchar *) sli->data, - DEST_EXISTING, lastDestination); + trg_destination_combo_insert(GTK_COMBO_BOX(object), + NULL, + (gchar *) sli->data, + DEST_EXISTING, lastDestination); g_list_free(list); g_free(defaultDir); @@ -393,24 +393,24 @@ gchar *trg_destination_combo_get_dir(TrgDestinationCombo * combo) GtkTreeIter iter; if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) { - gchar *value; - guint type; + gchar *value; + guint type; - gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); + gtk_tree_model_get(model, &iter, DEST_COLUMN_TYPE, &type, -1); - if (type == DEST_LABEL) { - gtk_tree_model_get(model, &iter, DEST_COLUMN_DIR, &value, -1); - return value; - } + if (type == DEST_LABEL) { + gtk_tree_model_get(model, &iter, DEST_COLUMN_DIR, &value, -1); + return value; + } } return - g_strdup(gtk_entry_get_text - (trg_destination_combo_get_entry(combo))); + g_strdup(gtk_entry_get_text + (trg_destination_combo_get_entry(combo))); } static void trg_destination_combo_class_init(TrgDestinationComboClass * - klass) + klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); @@ -422,31 +422,31 @@ static void trg_destination_combo_class_init(TrgDestinationComboClass * object_class->constructor = trg_destination_combo_constructor; 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)); + 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_LAST_SELECTION, - g_param_spec_string - ("last-selection-key", - "LastSelectionKey", - "LastSelectionKey", NULL, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_LAST_SELECTION, + g_param_spec_string + ("last-selection-key", + "LastSelectionKey", + "LastSelectionKey", NULL, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); } static void trg_destination_combo_init(TrgDestinationCombo * self) @@ -454,10 +454,10 @@ static void trg_destination_combo_init(TrgDestinationCombo * self) } GtkWidget *trg_destination_combo_new(TrgClient * client, - const gchar * lastSelectionKey) + const gchar * lastSelectionKey) { return GTK_WIDGET(g_object_new(TRG_TYPE_DESTINATION_COMBO, - "trg-client", client, - "last-selection-key", lastSelectionKey, - NULL)); + "trg-client", client, + "last-selection-key", lastSelectionKey, + NULL)); } diff --git a/src/trg-destination-combo.h b/src/trg-destination-combo.h index c7513f2..61eafdd 100644 --- a/src/trg-destination-combo.h +++ b/src/trg-destination-combo.h @@ -48,11 +48,11 @@ typedef struct { GType trg_destination_combo_get_type(void); GtkWidget *trg_destination_combo_new(TrgClient * client, - const gchar * lastSelectionKey); + const gchar * lastSelectionKey); gchar *trg_destination_combo_get_dir(TrgDestinationCombo * combo); gboolean trg_destination_combo_has_text(TrgDestinationCombo * combo); GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo * combo); void trg_destination_combo_save_selection(TrgDestinationCombo * combo_box); G_END_DECLS -#endif /* TRG_DESTINATION_COMBO_H_ */ +#endif /* TRG_DESTINATION_COMBO_H_ */ diff --git a/src/trg-file-parser.c b/src/trg-file-parser.c index f98b677..8565ce9 100644 --- a/src/trg-file-parser.c +++ b/src/trg-file-parser.c @@ -28,8 +28,8 @@ static trg_torrent_file_node * trg_torrent_file_node_insert(trg_torrent_file_node * top, - be_node * file_node, guint index, - gint64 * total_length) + be_node * file_node, guint index, + gint64 * total_length) { int i; trg_torrent_file_node *path_el_parent = top; @@ -37,45 +37,45 @@ static trg_torrent_file_node be_node *file_path_node = be_dict_find(file_node, "path", BE_LIST); if (!file_path_node || !file_length_node) - return NULL; + return NULL; /* Iterate over the path list which contains each file/directory * component of the path in order. */ for (i = 0;;) { - be_node *path_el_node = file_path_node->val.l[i]; - - trg_torrent_file_node *target_node = NULL; - GList *li; - - /* Does this element exist already? */ - for (li = path_el_parent->children; li != NULL; - li = g_list_next(li)) { - trg_torrent_file_node *x = (trg_torrent_file_node *) li->data; - if (!g_strcmp0(x->name, path_el_node->val.s)) { - target_node = x; - break; - } - } - - if (!target_node) { - /* Create a new node and add it as a child of the parent from the - * last iteration. */ - target_node = g_new0(trg_torrent_file_node, 1); - target_node->name = g_strdup(path_el_node->val.s); - path_el_parent->children = - g_list_append(path_el_parent->children, target_node); - } - - path_el_parent = target_node; - - /* Is this the last component of the path (the file)? */ - if (!file_path_node->val.l[++i]) { - *total_length += (target_node->length = - (gint64) (file_length_node->val.i)); - target_node->index = index; - return target_node; - } + be_node *path_el_node = file_path_node->val.l[i]; + + trg_torrent_file_node *target_node = NULL; + GList *li; + + /* Does this element exist already? */ + for (li = path_el_parent->children; li != NULL; + li = g_list_next(li)) { + trg_torrent_file_node *x = (trg_torrent_file_node *) li->data; + if (!g_strcmp0(x->name, path_el_node->val.s)) { + target_node = x; + break; + } + } + + if (!target_node) { + /* Create a new node and add it as a child of the parent from the + * last iteration. */ + target_node = g_new0(trg_torrent_file_node, 1); + target_node->name = g_strdup(path_el_node->val.s); + path_el_parent->children = + g_list_append(path_el_parent->children, target_node); + } + + path_el_parent = target_node; + + /* Is this the last component of the path (the file)? */ + if (!file_path_node->val.l[++i]) { + *total_length += (target_node->length = + (gint64) (file_length_node->val.i)); + target_node->index = index; + return target_node; + } } return NULL; @@ -85,7 +85,7 @@ static void trg_torrent_file_node_free(trg_torrent_file_node * node) { GList *li; for (li = node->children; li != NULL; li = g_list_next(li)) - trg_torrent_file_node_free((trg_torrent_file_node *) li->data); + trg_torrent_file_node_free((trg_torrent_file_node *) li->data); g_list_free(node->children); g_free(node->name); g_free(node); @@ -99,9 +99,9 @@ void trg_torrent_file_free(trg_torrent_file * t) } static trg_torrent_file_node *trg_parse_torrent_file_nodes(be_node * - info_node, - gint64 * - total_length) + info_node, + gint64 * + total_length) { be_node *files_node = be_dict_find(info_node, "files", BE_LIST); trg_torrent_file_node *top_node = g_new0(trg_torrent_file_node, 1); @@ -109,19 +109,19 @@ static trg_torrent_file_node *trg_parse_torrent_file_nodes(be_node * /* Probably means single file mode. */ if (!files_node) - return NULL; + return NULL; for (i = 0; files_node->val.l[i]; ++i) { - be_node *file_node = files_node->val.l[i]; - - if (be_validate_node(file_node, BE_DICT) || - !trg_torrent_file_node_insert(top_node, file_node, i, - total_length)) { - /* Unexpected format. Throw away everything, file indexes need to - * be correct. */ - trg_torrent_file_node_free(top_node); - return NULL; - } + be_node *file_node = files_node->val.l[i]; + + if (be_validate_node(file_node, BE_DICT) || + !trg_torrent_file_node_insert(top_node, file_node, i, + total_length)) { + /* Unexpected format. Throw away everything, file indexes need to + * be correct. */ + trg_torrent_file_node_free(top_node); + return NULL; + } } return top_node; @@ -135,59 +135,59 @@ trg_torrent_file *trg_parse_torrent_file(const gchar * filename) trg_torrent_file *ret = NULL; if (!g_file_test(filename, G_FILE_TEST_IS_REGULAR)) { - g_message("%s does not exist", filename); - return NULL; + g_message("%s does not exist", filename); + return NULL; } mf = g_mapped_file_new(filename, FALSE, &error); if (error) { - g_error("%s", error->message); - g_error_free(error); - g_mapped_file_unref(mf); - return NULL; + g_error("%s", error->message); + g_error_free(error); + g_mapped_file_unref(mf); + return NULL; } else { - top_node = - be_decoden(g_mapped_file_get_contents(mf), - g_mapped_file_get_length(mf)); + top_node = + be_decoden(g_mapped_file_get_contents(mf), + g_mapped_file_get_length(mf)); } g_mapped_file_unref(mf); if (!top_node) { - return NULL; + return NULL; } else if (be_validate_node(top_node, BE_DICT)) { - goto out; + goto out; } info_node = be_dict_find(top_node, "info", BE_DICT); if (!info_node) - goto out; + goto out; name_node = be_dict_find(info_node, "name", BE_STR); if (!name_node) - goto out; + goto out; ret = g_new0(trg_torrent_file, 1); ret->name = g_strdup(name_node->val.s); ret->top_node = - trg_parse_torrent_file_nodes(info_node, &(ret->total_length)); + trg_parse_torrent_file_nodes(info_node, &(ret->total_length)); if (!ret->top_node) { - trg_torrent_file_node *file_node; - be_node *length_node = be_dict_find(info_node, "length", BE_INT); - - if (!length_node) { - g_free(ret); - ret = NULL; - goto out; - } - - file_node = g_new0(trg_torrent_file_node, 1); - file_node->length = ret->total_length = - (gint64) (length_node->val.i); - file_node->name = g_strdup(ret->name); - ret->top_node = file_node; + trg_torrent_file_node *file_node; + be_node *length_node = be_dict_find(info_node, "length", BE_INT); + + if (!length_node) { + g_free(ret); + ret = NULL; + goto out; + } + + file_node = g_new0(trg_torrent_file_node, 1); + file_node->length = ret->total_length = + (gint64) (length_node->val.i); + file_node->name = g_strdup(ret->name); + ret->top_node = file_node; } out: diff --git a/src/trg-files-model.c b/src/trg-files-model.c index 494f94f..990c89b 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -40,25 +40,25 @@ struct _TrgFilesModelPrivate { }; static void trg_files_model_iter_new(TrgFilesModel * model, - GtkTreeIter * iter, JsonObject * file, - int id) + GtkTreeIter * iter, JsonObject * file, + int id) { gchar *mimetype; gtk_list_store_append(GTK_LIST_STORE(model), iter); gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_NAME, file_get_name(file), - FILESCOL_SIZE, file_get_length(file), - FILESCOL_ID, id, -1); + FILESCOL_NAME, file_get_name(file), + FILESCOL_SIZE, file_get_length(file), + FILESCOL_ID, id, -1); mimetype = g_content_type_guess(file_get_name(file), NULL, 0, NULL); if (mimetype) { - GIcon *icon = g_content_type_get_icon(mimetype); - if (icon) { - gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_ICON, icon, -1); - g_object_unref(icon); - } + GIcon *icon = g_content_type_get_icon(mimetype); + if (icon) { + gtk_list_store_set(GTK_LIST_STORE(model), iter, + FILESCOL_ICON, icon, -1); + g_object_unref(icon); + } } g_free(mimetype); @@ -72,26 +72,26 @@ void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept) static void trg_files_model_iter_update(TrgFilesModel * model, - GtkTreeIter * filesIter, JsonObject * file, - JsonArray * wantedArray, - JsonArray * prioritiesArray, int id) + GtkTreeIter * filesIter, JsonObject * file, + JsonArray * wantedArray, + JsonArray * prioritiesArray, int id) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); gboolean wanted = json_node_get_int(json_array_get_element - (wantedArray, id)) == 1; + (wantedArray, id)) == 1; gint64 priority = - json_node_get_int(json_array_get_element(prioritiesArray, id)); + json_node_get_int(json_array_get_element(prioritiesArray, id)); gdouble progress = file_get_progress(file); gtk_list_store_set(GTK_LIST_STORE(model), filesIter, - FILESCOL_PROGRESS, progress, -1); + FILESCOL_PROGRESS, progress, -1); if (priv->accept) { - gtk_list_store_set(GTK_LIST_STORE(model), filesIter, - FILESCOL_WANTED, - wanted ? GTK_STOCK_APPLY : GTK_STOCK_CANCEL, - FILESCOL_PRIORITY, priority, -1); + gtk_list_store_set(GTK_LIST_STORE(model), filesIter, + FILESCOL_WANTED, + wanted ? GTK_STOCK_APPLY : GTK_STOCK_CANCEL, + FILESCOL_PRIORITY, priority, -1); } } @@ -116,13 +116,13 @@ static void trg_files_model_init(TrgFilesModel * self) column_types[FILESCOL_PRIORITY] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - FILESCOL_COLUMNS, column_types); + FILESCOL_COLUMNS, column_types); } gboolean trg_files_model_update_foreach(GtkListStore * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, GList * files) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, GList * files) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); JsonObject *file; @@ -132,14 +132,14 @@ trg_files_model_update_foreach(GtkListStore * model, file = json_node_get_object(g_list_nth_data(files, id)); trg_files_model_iter_update(TRG_FILES_MODEL(model), iter, file, - priv->wanted, priv->priorities, id); + priv->wanted, priv->priorities, id); return FALSE; } void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, - JsonObject * t, gint mode) + JsonObject * t, gint mode) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); GList *filesList, *li; @@ -154,34 +154,34 @@ trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, filesList = json_array_get_elements(torrent_get_files(t)); if (mode == TORRENT_GET_MODE_FIRST) { - gtk_list_store_clear(GTK_LIST_STORE(model)); - priv->accept = TRUE; - for (li = filesList; li; li = g_list_next(li)) { - file = json_node_get_object((JsonNode *) li->data); - - trg_files_model_iter_new(model, &filesIter, file, j); - trg_files_model_iter_update(model, &filesIter, - file, priv->wanted, - priv->priorities, j); - j++; - } + gtk_list_store_clear(GTK_LIST_STORE(model)); + priv->accept = TRUE; + for (li = filesList; li; li = g_list_next(li)) { + file = json_node_get_object((JsonNode *) li->data); + + trg_files_model_iter_new(model, &filesIter, file, j); + trg_files_model_iter_update(model, &filesIter, + file, priv->wanted, + priv->priorities, j); + j++; + } } else { - gint n_existing = - gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL); - guint n_updates = g_list_length(filesList); - gtk_tree_model_foreach(GTK_TREE_MODEL(model), - (GtkTreeModelForeachFunc) - trg_files_model_update_foreach, filesList); - if (n_updates > n_existing) { - gint n_new = n_updates - n_existing; - for (j = n_updates - n_new; j < n_updates; j++) { - file = json_node_get_object(g_list_nth_data(filesList, j)); - trg_files_model_iter_new(model, &filesIter, file, j); - trg_files_model_iter_update(model, &filesIter, - file, priv->wanted, - priv->priorities, j); - } - } + gint n_existing = + gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL); + guint n_updates = g_list_length(filesList); + gtk_tree_model_foreach(GTK_TREE_MODEL(model), + (GtkTreeModelForeachFunc) + trg_files_model_update_foreach, filesList); + if (n_updates > n_existing) { + gint n_new = n_updates - n_existing; + for (j = n_updates - n_new; j < n_updates; j++) { + file = json_node_get_object(g_list_nth_data(filesList, j)); + trg_files_model_iter_new(model, &filesIter, file, j); + trg_files_model_iter_update(model, &filesIter, + file, priv->wanted, + priv->priorities, j); + } + } } g_list_free(filesList); diff --git a/src/trg-files-model.h b/src/trg-files-model.h index 869503d..c47c361 100644 --- a/src/trg-files-model.h +++ b/src/trg-files-model.h @@ -62,8 +62,8 @@ G_END_DECLS enum { void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial, - JsonObject * t, gint mode); + JsonObject * t, gint mode); gint64 trg_files_model_get_torrent_id(TrgFilesModel * model); void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept); -#endif /* TRG_FILES_MODEL_H_ */ +#endif /* TRG_FILES_MODEL_H_ */ diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index b671b39..b3e4011 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -46,70 +46,70 @@ static void trg_files_tree_view_class_init(TrgFilesTreeViewClass * klass) } static void set_unwanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, FILESCOL_WANTED, - GTK_STOCK_CANCEL, -1); + GTK_STOCK_CANCEL, -1); } static void set_wanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data G_GNUC_UNUSED) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data G_GNUC_UNUSED) { gtk_list_store_set(GTK_LIST_STORE(model), iter, - FILESCOL_WANTED, GTK_STOCK_APPLY, -1); + FILESCOL_WANTED, GTK_STOCK_APPLY, -1); } static void set_priority_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { GValue value = { 0 }; g_value_init(&value, G_TYPE_INT64); g_value_set_int64(&value, (gint64) GPOINTER_TO_INT(data)); gtk_list_store_set_value(GTK_LIST_STORE(model), iter, - FILESCOL_PRIORITY, &value); + FILESCOL_PRIORITY, &value); } static void send_updated_file_prefs_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonObject *args = (JsonObject *) data; gint64 priority, id; gchar *wanted; gtk_tree_model_get(model, iter, FILESCOL_WANTED, &wanted, - FILESCOL_PRIORITY, &priority, FILESCOL_ID, &id, -1); + FILESCOL_PRIORITY, &priority, FILESCOL_ID, &id, -1); if (!g_strcmp0(wanted, GTK_STOCK_CANCEL)) - add_file_id_to_array(args, FIELD_FILES_UNWANTED, id); + add_file_id_to_array(args, FIELD_FILES_UNWANTED, id); else - add_file_id_to_array(args, FIELD_FILES_WANTED, id); + add_file_id_to_array(args, FIELD_FILES_WANTED, id); g_free(wanted); if (priority == TR_PRI_LOW) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, id); else if (priority == TR_PRI_HIGH) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, id); else - add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); } static gboolean on_files_update(gpointer data) { trg_response *response = (trg_response *) data; TrgFilesTreeViewPrivate *priv = - TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data); + TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data); GtkTreeModel *model = - gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); + gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); trg_files_model_set_accept(TRG_FILES_MODEL(model), TRUE); @@ -138,8 +138,8 @@ static void send_updated_file_prefs(TrgFilesTreeView * tv) request_set_tag(req, targetId); gtk_tree_selection_selected_foreach(selection, - send_updated_file_prefs_foreachfunc, - args); + send_updated_file_prefs_foreachfunc, + args); trg_files_model_set_accept(TRG_FILES_MODEL(model), FALSE); @@ -150,10 +150,10 @@ static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_priority_foreachfunc, - GINT_TO_POINTER(TR_PRI_LOW)); + set_priority_foreachfunc, + GINT_TO_POINTER(TR_PRI_LOW)); send_updated_file_prefs(tv); } @@ -161,10 +161,10 @@ static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_priority_foreachfunc, - GINT_TO_POINTER(TR_PRI_NORMAL)); + set_priority_foreachfunc, + GINT_TO_POINTER(TR_PRI_NORMAL)); send_updated_file_prefs(tv); } @@ -172,10 +172,10 @@ static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_priority_foreachfunc, - GINT_TO_POINTER(TR_PRI_HIGH)); + set_priority_foreachfunc, + GINT_TO_POINTER(TR_PRI_HIGH)); send_updated_file_prefs(tv); } @@ -183,9 +183,9 @@ static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_unwanted_foreachfunc, NULL); + set_unwanted_foreachfunc, NULL); send_updated_file_prefs(tv); } @@ -193,15 +193,15 @@ static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgFilesTreeView *tv = TRG_FILES_TREE_VIEW(data); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); gtk_tree_selection_selected_foreach(selection, - set_wanted_foreachfunc, NULL); + set_wanted_foreachfunc, NULL); send_updated_file_prefs(tv); } static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; @@ -213,7 +213,7 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, menuitem = gtk_menu_item_new_with_label(_("Normal Priority")); g_signal_connect(menuitem, "activate", G_CALLBACK(set_normal), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_menu_item_new_with_label(_("Low Priority")); @@ -221,56 +221,56 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_APPLY); gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); + (menuitem), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Download")); g_signal_connect(menuitem, "activate", G_CALLBACK(set_wanted), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_CANCEL); gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); + (menuitem), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Skip")); g_signal_connect(menuitem, "activate", G_CALLBACK(set_unwanted), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 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 gboolean view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { GtkTreeSelection *selection; GtkTreePath *path; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - gtk_tree_path_free(path); - - view_popup_menu(treeview, event, userdata); - return TRUE; - } + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + gtk_tree_path_free(path); + + view_popup_menu(treeview, event, userdata); + return TRUE; + } } return FALSE; @@ -288,36 +288,36 @@ static void trg_files_tree_view_init(TrgFilesTreeView * self) trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_GICONTEXT, FILESCOL_NAME, - _("Name"), "name", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_GICONTEXT, FILESCOL_NAME, + _("Name"), "name", 0); desc->model_column_icon = FILESCOL_ICON; trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, FILESCOL_SIZE, - _("Size"), "size", 0); + _("Size"), "size", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, FILESCOL_PROGRESS, - _("Progress"), "progress", 0); + _("Progress"), "progress", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_ICON, FILESCOL_WANTED, - _("Wanted"), "wanted", 0); + _("Wanted"), "wanted", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PRIO, FILESCOL_PRIORITY, - _("Priority"), "priority", 0); + _("Priority"), "priority", 0); gtk_tree_view_set_search_column(GTK_TREE_VIEW(self), FILESCOL_NAME); g_signal_connect(self, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(self, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); } TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, - TrgMainWindow * win, - TrgClient * client) + TrgMainWindow * win, + TrgClient * client) { GObject *obj = g_object_new(TRG_TYPE_FILES_TREE_VIEW, NULL); TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(obj); trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), - trg_client_get_prefs(client)); + trg_client_get_prefs(client)); gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); priv->client = client; priv->win = win; diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index 2ab4daf..06f83ba 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -49,8 +49,8 @@ typedef struct { GType trg_files_tree_view_get_type(void); TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, - TrgMainWindow * win, - TrgClient * client); + TrgMainWindow * win, + TrgClient * client); G_END_DECLS -#endif /* TRG_FILES_TREE_VIEW_H_ */ +#endif /* TRG_FILES_TREE_VIEW_H_ */ diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index 144a12a..d5043a0 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -38,8 +38,8 @@ static void gtk_label_clear(GtkLabel * l); static GtkLabel *gen_panel_label_get_key_label(GtkLabel * l); static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * gp, - char *key, guint col, - guint row); + char *key, guint col, + guint row); G_DEFINE_TYPE(TrgGeneralPanel, trg_general_panel, GTK_TYPE_TABLE) #define TRG_GENERAL_PANEL_GET_PRIVATE(o) \ @@ -84,7 +84,7 @@ void trg_general_panel_clear(TrgGeneralPanel * panel) gtk_label_clear(priv->gen_downloaddir_label); gtk_label_clear(priv->gen_error_label); gtk_label_clear(gen_panel_label_get_key_label - (GTK_LABEL(priv->gen_error_label))); + (GTK_LABEL(priv->gen_error_label))); } static void gtk_label_clear(GtkLabel * l) @@ -103,7 +103,7 @@ static void trg_general_panel_class_init(TrgGeneralPanelClass * klass) } void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter) + GtkTreeIter * iter) { TrgGeneralPanelPrivate *priv; gchar buf[32]; @@ -117,9 +117,9 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, priv = TRG_GENERAL_PANEL_GET_PRIVATE(panel); gtk_tree_model_get(GTK_TREE_MODEL(priv->model), iter, - TORRENT_COLUMN_SEEDS, &seeders, - TORRENT_COLUMN_LEECHERS, &leechers, - TORRENT_COLUMN_STATUS, &statusString, -1); + TORRENT_COLUMN_SEEDS, &seeders, + TORRENT_COLUMN_LEECHERS, &leechers, + TORRENT_COLUMN_STATUS, &statusString, -1); sizeOfBuf = sizeof(buf); @@ -141,17 +141,17 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_downloaded_label), buf); if (uploaded > 0 && downloaded > 0) { - trg_strlratio(buf, (double) uploaded / (double) downloaded); - gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); + trg_strlratio(buf, (double) uploaded / (double) downloaded); + gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); } else { - gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), _("N/A")); + gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), _("N/A")); } fullStatusString = g_strdup_printf("%s %s", statusString, - torrent_get_is_private(t) ? - _("(Private)") : _("(Public)")); + torrent_get_is_private(t) ? + _("(Private)") : _("(Public)")); gtk_label_set_text(GTK_LABEL(priv->gen_status_label), - fullStatusString); + fullStatusString); g_free(fullStatusString); g_free(statusString); @@ -159,37 +159,37 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_completed_label), buf); gtk_label_set_text(GTK_LABEL(priv->gen_name_label), - torrent_get_name(t)); + torrent_get_name(t)); gtk_label_set_text(GTK_LABEL(priv->gen_downloaddir_label), - torrent_get_download_dir(t)); + torrent_get_download_dir(t)); errorStr = torrent_get_errorstr(t); keyLabel = - gen_panel_label_get_key_label(GTK_LABEL(priv->gen_error_label)); + gen_panel_label_get_key_label(GTK_LABEL(priv->gen_error_label)); if (strlen(errorStr) > 0) { - gchar *markup = - g_markup_printf_escaped("%s", - errorStr); - gtk_label_set_markup(GTK_LABEL(priv->gen_error_label), markup); - g_free(markup); - - markup = - g_markup_printf_escaped - ("%s", - _("Error")); - gtk_label_set_markup(keyLabel, markup); - g_free(markup); + gchar *markup = + g_markup_printf_escaped("%s", + errorStr); + gtk_label_set_markup(GTK_LABEL(priv->gen_error_label), markup); + g_free(markup); + + markup = + g_markup_printf_escaped + ("%s", + _("Error")); + gtk_label_set_markup(keyLabel, markup); + g_free(markup); } else { - gtk_label_clear(GTK_LABEL(priv->gen_error_label)); - gtk_label_clear(keyLabel); + gtk_label_clear(GTK_LABEL(priv->gen_error_label)); + gtk_label_clear(keyLabel); } if ((eta = torrent_get_eta(t)) > 0) { - tr_strltime_long(buf, eta, sizeOfBuf); - gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), buf); + tr_strltime_long(buf, eta, sizeOfBuf); + gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), buf); } else { - gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), _("N/A")); + gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), _("N/A")); } snprintf(buf, sizeof(buf), "%d", seeders >= 0 ? seeders : 0); @@ -199,10 +199,10 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, } static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel * - gp, char *key, - guint col, - guint row, - gint width) + gp, char *key, + guint col, + guint row, + gint width) { GtkWidget *value, *keyLabel, *alignment; @@ -211,16 +211,16 @@ static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel * alignment = gtk_alignment_new(0, 0, 0, 0); keyLabel = gtk_label_new(NULL); if (strlen(key) > 0) { - gchar *keyMarkup = - g_markup_printf_escaped(strlen(key) > 0 ? "%s:" : "", - key); - gtk_label_set_markup(GTK_LABEL(keyLabel), keyMarkup); - g_free(keyMarkup); + gchar *keyMarkup = + g_markup_printf_escaped(strlen(key) > 0 ? "%s:" : "", + key); + gtk_label_set_markup(GTK_LABEL(keyLabel), keyMarkup); + g_free(keyMarkup); } gtk_container_add(GTK_CONTAINER(alignment), keyLabel); gtk_table_attach(GTK_TABLE(gp), alignment, startCol, startCol + 1, row, - row + 1, GTK_FILL, 0, TRG_GENERAL_PANEL_SPACING_X, - TRG_GENERAL_PANEL_SPACING_Y); + row + 1, GTK_FILL, 0, TRG_GENERAL_PANEL_SPACING_X, + TRG_GENERAL_PANEL_SPACING_Y); alignment = gtk_alignment_new(0, 0, 0, 0); value = gtk_label_new(NULL); @@ -228,18 +228,18 @@ static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel * gtk_label_set_selectable(GTK_LABEL(value), TRUE); gtk_container_add(GTK_CONTAINER(alignment), value); gtk_table_attach(GTK_TABLE(gp), alignment, startCol + 1, - width < - 0 ? TRG_GENERAL_PANEL_COLUMNS_TOTAL - 1 : startCol + - 1 + width, row, row + 1, GTK_FILL | GTK_SHRINK, 0, - TRG_GENERAL_PANEL_SPACING_X, - TRG_GENERAL_PANEL_SPACING_Y); + width < + 0 ? TRG_GENERAL_PANEL_COLUMNS_TOTAL - 1 : startCol + + 1 + width, row, row + 1, GTK_FILL | GTK_SHRINK, 0, + TRG_GENERAL_PANEL_SPACING_X, + TRG_GENERAL_PANEL_SPACING_Y); return GTK_LABEL(value); } static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * gp, - char *key, guint col, - guint row) + char *key, guint col, + guint row) { return trg_general_panel_add_label_with_width(gp, key, col, row, 1); } @@ -250,55 +250,55 @@ static void trg_general_panel_init(TrgGeneralPanel * self) int i; g_object_set(G_OBJECT(self), "n-columns", - TRG_GENERAL_PANEL_COLUMNS_TOTAL, "n-rows", 7, NULL); + TRG_GENERAL_PANEL_COLUMNS_TOTAL, "n-rows", 7, NULL); priv->gen_name_label = - trg_general_panel_add_label_with_width(self, _("Name"), 0, 0, -1); + trg_general_panel_add_label_with_width(self, _("Name"), 0, 0, -1); priv->gen_size_label = - trg_general_panel_add_label(self, _("Size"), 0, 1); + trg_general_panel_add_label(self, _("Size"), 0, 1); priv->gen_eta_label = - trg_general_panel_add_label(self, _("ETA"), 1, 1); + trg_general_panel_add_label(self, _("ETA"), 1, 1); priv->gen_completed_label = - trg_general_panel_add_label(self, _("Completed"), 2, 1); + trg_general_panel_add_label(self, _("Completed"), 2, 1); priv->gen_seeders_label = - trg_general_panel_add_label(self, _("Seeders"), 0, 2); + trg_general_panel_add_label(self, _("Seeders"), 0, 2); priv->gen_down_rate_label = - trg_general_panel_add_label(self, _("Rate Down"), 1, 2); + trg_general_panel_add_label(self, _("Rate Down"), 1, 2); priv->gen_downloaded_label = - trg_general_panel_add_label(self, _("Downloaded"), 2, 2); + trg_general_panel_add_label(self, _("Downloaded"), 2, 2); priv->gen_leechers_label = - trg_general_panel_add_label(self, _("Leechers"), 0, 3); + trg_general_panel_add_label(self, _("Leechers"), 0, 3); priv->gen_up_rate_label = - trg_general_panel_add_label(self, _("Rate Up"), 1, 3); + trg_general_panel_add_label(self, _("Rate Up"), 1, 3); priv->gen_uploaded_label = - trg_general_panel_add_label(self, _("Uploaded"), 2, 3); + trg_general_panel_add_label(self, _("Uploaded"), 2, 3); priv->gen_status_label = - trg_general_panel_add_label(self, _("Status"), 0, 4); + trg_general_panel_add_label(self, _("Status"), 0, 4); priv->gen_ratio_label = - trg_general_panel_add_label(self, _("Ratio"), 1, 4); + trg_general_panel_add_label(self, _("Ratio"), 1, 4); priv->gen_downloaddir_label = - trg_general_panel_add_label_with_width(self, _("Location"), 0, 5, - -1); + trg_general_panel_add_label_with_width(self, _("Location"), 0, 5, + -1); priv->gen_error_label = - trg_general_panel_add_label_with_width(self, "", 0, 6, -1); + trg_general_panel_add_label_with_width(self, "", 0, 6, -1); for (i = 0; i < TRG_GENERAL_PANEL_COLUMNS_TOTAL; i++) - gtk_table_set_col_spacing(GTK_TABLE(self), i, - i % 2 == - 0 ? TRG_GENERAL_PANEL_WIDTH_FROM_KEY : - TRG_GENERAL_PANEL_WIDTH_FROM_VALUE); + gtk_table_set_col_spacing(GTK_TABLE(self), i, + i % 2 == + 0 ? TRG_GENERAL_PANEL_WIDTH_FROM_KEY : + TRG_GENERAL_PANEL_WIDTH_FROM_VALUE); gtk_widget_set_sensitive(GTK_WIDGET(self), FALSE); } TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model, - TrgClient * tc) + TrgClient * tc) { GObject *obj; TrgGeneralPanelPrivate *priv; diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h index ab7e2d3..33cbde3 100644 --- a/src/trg-general-panel.h +++ b/src/trg-general-panel.h @@ -51,11 +51,11 @@ typedef struct { GType trg_general_panel_get_type(void); TrgGeneralPanel *trg_general_panel_new(GtkTreeModel * model, - TrgClient * tc); + TrgClient * tc); G_END_DECLS void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter); + GtkTreeIter * iter); void trg_general_panel_clear(TrgGeneralPanel * panel); -#endif /* TRG_GENERAL_PANEL_H_ */ +#endif /* TRG_GENERAL_PANEL_H_ */ diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index 64cc757..e4e5ac5 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -35,8 +35,8 @@ void trg_json_widgets_save(GList * list, JsonObject * out) { GList *li; for (li = list; li; li = g_list_next(li)) { - trg_json_widget_desc *wd = (trg_json_widget_desc *) li->data; - wd->saveFunc(wd->widget, out, wd->key); + trg_json_widget_desc *wd = (trg_json_widget_desc *) li->data; + wd->saveFunc(wd->widget, out, wd->key); } } @@ -50,7 +50,7 @@ void trg_json_widget_desc_list_free(GList * list) { GList *li; for (li = list; li; li = g_list_next(li)) - trg_json_widget_desc_free((trg_json_widget_desc *) li->data); + trg_json_widget_desc_free((trg_json_widget_desc *) li->data); g_list_free(list); } @@ -58,13 +58,13 @@ void trg_json_widget_desc_list_free(GList * list) void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_toggle_button_get_active(b)); + gtk_toggle_button_get_active(b)); } GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj, - const gchar * key, - const gchar * label, - GtkWidget * toggleDep) + const gchar * key, + const gchar * label, + GtkWidget * toggleDep) { GtkWidget *w = gtk_check_button_new_with_mnemonic(label); trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1); @@ -74,15 +74,15 @@ GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj, wd->widget = w; if (toggleDep) { - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(toggleDep))); - g_signal_connect(G_OBJECT(toggleDep), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(toggleDep))); + g_signal_connect(G_OBJECT(toggleDep), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), - json_object_get_boolean_member(obj, key)); + json_object_get_boolean_member(obj, key)); *wl = g_list_append(*wl, wd); @@ -90,8 +90,8 @@ GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj, } GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep) + const gchar * key, + GtkWidget * toggleDep) { GtkWidget *w = gtk_entry_new(); trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1); @@ -101,15 +101,15 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, wd->widget = w; if (toggleDep) { - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(toggleDep))); - g_signal_connect(G_OBJECT(toggleDep), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(toggleDep))); + g_signal_connect(G_OBJECT(toggleDep), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); } gtk_entry_set_text(GTK_ENTRY(w), - json_object_get_string_member(obj, key)); + json_object_get_string_member(obj, key)); *wl = g_list_append(*wl, wd); @@ -117,35 +117,35 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, } static GtkWidget *trg_json_widget_spin_common_new(GList ** wl, - JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep, - trg_json_widget_spin_type - type, gint min, gint max, - gdouble step) + JsonObject * obj, + const gchar * key, + GtkWidget * toggleDep, + trg_json_widget_spin_type + type, gint min, gint max, + gdouble step) { GtkWidget *w = gtk_spin_button_new_with_range(min, max, step); trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1); JsonNode *node = json_object_get_member(obj, key); if (type == TRG_JSON_WIDGET_SPIN_DOUBLE) - wd->saveFunc = trg_json_widget_spin_save_double; + wd->saveFunc = trg_json_widget_spin_save_double; else - wd->saveFunc = trg_json_widget_spin_save_int; + wd->saveFunc = trg_json_widget_spin_save_int; wd->key = g_strdup(key); wd->widget = w; if (toggleDep) { - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(toggleDep))); - g_signal_connect(G_OBJECT(toggleDep), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(toggleDep))); + g_signal_connect(G_OBJECT(toggleDep), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); } gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), - json_node_really_get_double(node)); + json_node_really_get_double(node)); *wl = g_list_append(*wl, wd); @@ -153,53 +153,52 @@ static GtkWidget *trg_json_widget_spin_common_new(GList ** wl, } GtkWidget *trg_json_widget_spin_new_int(GList ** wl, JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep, gint min, - gint max, gint step) + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gint step) { return trg_json_widget_spin_common_new(wl, obj, key, toggleDep, - TRG_JSON_WIDGET_SPIN_INT, min, - max, (gdouble) step); + TRG_JSON_WIDGET_SPIN_INT, min, + max, (gdouble) step); } GtkWidget *trg_json_widget_spin_new_double(GList ** wl, JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep, gint min, - gint max, gdouble step) + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gdouble step) { return trg_json_widget_spin_common_new(wl, obj, key, toggleDep, - TRG_JSON_WIDGET_SPIN_DOUBLE, - min, max, step); + TRG_JSON_WIDGET_SPIN_DOUBLE, + min, max, step); } void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj, - gchar * key) + gchar * key) { gboolean active = - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); json_object_set_boolean_member(obj, key, active); } void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj, - gchar * key) + gchar * key) { json_object_set_string_member(obj, key, - gtk_entry_get_text(GTK_ENTRY(widget))); + gtk_entry_get_text(GTK_ENTRY(widget))); } void trg_json_widget_spin_save_int(GtkWidget * widget, JsonObject * obj, - gchar * key) + gchar * key) { - json_object_set_int_member(obj, key, - (gint) - gtk_spin_button_get_value(GTK_SPIN_BUTTON - (widget))); + json_object_set_int_member(obj, key, (gint) + gtk_spin_button_get_value(GTK_SPIN_BUTTON + (widget))); } void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj, - gchar * key) + gchar * key) { json_object_set_double_member(obj, key, - gtk_spin_button_get_value(GTK_SPIN_BUTTON - (widget))); + gtk_spin_button_get_value(GTK_SPIN_BUTTON + (widget))); } diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h index 2f53d1e..9d9c0f8 100644 --- a/src/trg-json-widgets.h +++ b/src/trg-json-widgets.h @@ -37,32 +37,32 @@ typedef enum { void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data); GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj, - const gchar * key, - const gchar * label, - GtkWidget * toggleDep); + const gchar * key, + const gchar * label, + GtkWidget * toggleDep); GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep); + const gchar * key, + GtkWidget * toggleDep); GtkWidget *trg_json_widget_spin_new_int(GList ** wl, JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep, gint min, - gint max, gint step); + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gint step); GtkWidget *trg_json_widget_spin_new_double(GList ** wl, JsonObject * obj, - const gchar * key, - GtkWidget * toggleDep, gint min, - gint max, gdouble step); + const gchar * key, + GtkWidget * toggleDep, gint min, + gint max, gdouble step); void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj, - gchar * key); + gchar * key); void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj, - gchar * key); + gchar * key); void trg_json_widget_spin_save_int(GtkWidget * widget, JsonObject * obj, - gchar * key); + gchar * key); void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj, - gchar * key); + gchar * key); void trg_json_widget_desc_free(trg_json_widget_desc * wd); void trg_json_widget_desc_list_free(GList * list); void trg_json_widgets_save(GList * list, JsonObject * out); -#endif /* TRG_JSON_WIDGETS_H_ */ +#endif /* TRG_JSON_WIDGETS_H_ */ diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 47c6a9f..20a8497 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -82,30 +82,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); + 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); + const gchar * speedLabel, + trg_torrent_model_update_stats * + stats); static void on_torrent_completed(TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data); + GtkTreeIter * iter, gpointer data); static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter, - gpointer data); + gpointer data); static gboolean delete_event(GtkWidget * w, GdkEvent * event, - gpointer data); + 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); @@ -123,10 +123,10 @@ 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); + 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); @@ -140,67 +140,67 @@ 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); + GtkTreeIter * iter, + gpointer data); static TrgTorrentTreeView - *trg_main_window_torrent_tree_view_new(TrgMainWindow * win, - GtkTreeModel * model); + * 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); + gboolean connected); static void trg_main_window_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec); + guint property_id, GValue * value, + GParamSpec * pspec); static void trg_main_window_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec); + 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 gboolean torrent_tv_key_press_event(GtkWidget * w, - GdkEventKey * key, - gpointer data); + GdkEventKey * key, + gpointer 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); + gpointer userdata); 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) \ @@ -216,7 +216,7 @@ struct _TrgMainWindowPrivate { #ifdef HAVE_LIBAPPINDICATOR AppIndicator *appIndicator; GtkWidget *appIndicatorStatusItem, *appIndicatorDownloadingItem, - *appIndicatorSeedingItem, *appIndicatorSepItem; + *appIndicatorSeedingItem, *appIndicatorSepItem; #else GtkStatusIcon *statusIcon; #endif @@ -265,8 +265,8 @@ static void reset_connect_args(TrgMainWindow * win) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); if (priv->args) { - g_strfreev(priv->args); - priv->args = NULL; + g_strfreev(priv->args); + priv->args = NULL; } } @@ -287,7 +287,7 @@ gint trg_mw_get_selected_torrent_id(TrgMainWindow * win) } static void update_selected_torrent_notebook(TrgMainWindow * win, - gint mode, gint64 id) + gint mode, gint64 id) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); TrgClient *client = priv->client; @@ -295,20 +295,20 @@ static void update_selected_torrent_notebook(TrgMainWindow * win, GtkTreeIter iter; if (id >= 0 - && 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_peers_model_update(priv->peersModel, - TRG_TREE_VIEW(priv->peersTreeView), - trg_client_get_serial(client), t, mode); + && 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_peers_model_update(priv->peersModel, + TRG_TREE_VIEW(priv->peersTreeView), + trg_client_get_serial(client), t, mode); } else if (id < 0) { - trg_main_window_torrent_scrub(win); + trg_main_window_torrent_scrub(win); } priv->selectedTorrentId = id; @@ -316,9 +316,9 @@ static void update_selected_torrent_notebook(TrgMainWindow * win, #ifdef HAVE_LIBNOTIFY static void torrent_event_notification(TrgTorrentModel * model, - gchar * icon, gchar * desc, - gint tmout, gchar * prefKey, - GtkTreeIter * iter, gpointer data) + 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); @@ -326,22 +326,22 @@ static void torrent_event_notification(TrgTorrentModel * model, NotifyNotification *notify; if (!trg_prefs_get_bool(prefs, prefKey, TRG_PREFS_NOFLAGS)) - return; + return; gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_NAME, - &name, -1); + &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 @@ -355,13 +355,13 @@ static void torrent_event_notification(TrgTorrentModel * model, #endif static void on_torrent_completed(TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data) + 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 } @@ -372,18 +372,18 @@ static void on_update_filters(TrgTorrentModel * model, gpointer data) } 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; } @@ -394,15 +394,15 @@ static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED) 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); @@ -417,16 +417,16 @@ static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgTorrentPropsDialog *dialog = - trg_torrent_props_dialog_new(GTK_WINDOW(data), - priv->torrentTreeView, priv->client); + trg_torrent_props_dialog_new(GTK_WINDOW(data), + 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); } @@ -437,7 +437,8 @@ static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer 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)); } @@ -453,9 +454,9 @@ static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); 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) @@ -463,7 +464,7 @@ static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); 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) @@ -475,28 +476,28 @@ gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) int i; for (i = 0; uris[i]; i++) - filesList = g_slist_append(filesList, uris[i]); + 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)); + gtk_widget_show_all(GTK_WIDGET(dialog)); } else { - struct add_torrent_threadfunc_args *args = - g_new0(struct add_torrent_threadfunc_args, 1); - args->list = filesList; - args->cb_data = win; - args->client = client; - args->extraArgs = FALSE; - args->flags = trg_prefs_get_add_flags(prefs); - - launch_add_thread(args); + struct add_torrent_threadfunc_args *args = + g_new0(struct add_torrent_threadfunc_args, 1); + args->list = filesList; + args->cb_data = win; + args->client = client; + args->extraArgs = FALSE; + args->flags = trg_prefs_get_add_flags(prefs); + + 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; @@ -508,7 +509,7 @@ static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); 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) @@ -516,9 +517,9 @@ static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); 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) @@ -539,42 +540,42 @@ void connect_cb(GtkWidget * w, gpointer data) int populate_result; if (w) - profile = (JsonObject *) g_object_get_data(G_OBJECT(w), "profile"); + profile = (JsonObject *) g_object_get_data(G_OBJECT(w), "profile"); if (trg_client_is_connected(priv->client)) - disconnect_cb(NULL, data); + disconnect_cb(NULL, data); if (profile && currentProfile != profile) - trg_prefs_set_profile(prefs, profile); + trg_prefs_set_profile(prefs, profile); else - trg_prefs_profile_change_emit_signal(prefs); + trg_prefs_profile_change_emit_signal(prefs); populate_result = trg_client_populate_with_settings(priv->client); if (populate_result < 0) { - gchar *msg; - - switch (populate_result) { - case TRG_NO_HOSTNAME_SET: - msg = _("No hostname set"); - break; - default: - msg = _("Unknown error getting settings"); - break; - } - - dialog = gtk_message_dialog_new(GTK_WINDOW(data), - 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; + gchar *msg; + + switch (populate_result) { + case TRG_NO_HOSTNAME_SET: + msg = _("No hostname set"); + break; + default: + msg = _("Unknown error getting settings"); + break; + } + + dialog = gtk_message_dialog_new(GTK_WINDOW(data), + 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...")); + _("Connecting...")); trg_client_inc_connid(priv->client); dispatch_async(priv->client, session_get(), on_session_get, data); } @@ -584,38 +585,38 @@ 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); + 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) + gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgRemotePrefsDialog *dlg = - trg_remote_prefs_dialog_get_instance(TRG_MAIN_WINDOW(data), - priv->client); + trg_remote_prefs_dialog_get_instance(TRG_MAIN_WINDOW(data), + priv->client); gtk_widget_show_all(GTK_WIDGET(dlg)); } static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w, - gpointer win) + 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)); + 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)); + gtk_check_menu_item_get_active + (w)); } static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) @@ -625,21 +626,21 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause; GObject *b_remove, *b_delete, *b_props, *b_local_prefs, - *b_remote_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); + "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_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); @@ -647,9 +648,9 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * 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_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; } @@ -659,9 +660,9 @@ static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); dispatch_async(priv->client, - torrent_reannounce(build_json_id_array - (priv->torrentTreeView)), - on_generic_interactive_action, data); + torrent_reannounce(build_json_id_array + (priv->torrentTreeView)), + on_generic_interactive_action, data); } static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) @@ -669,9 +670,9 @@ static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(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) @@ -679,9 +680,9 @@ static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(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) @@ -689,9 +690,9 @@ static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); dispatch_async(priv->client, - torrent_queue_move_up(build_json_id_array - (priv->torrentTreeView)), - on_generic_interactive_action, data); + 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) @@ -699,9 +700,9 @@ static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); dispatch_async(priv->client, - torrent_queue_move_top(build_json_id_array - (priv->torrentTreeView)), - on_generic_interactive_action, data); + 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) @@ -709,9 +710,9 @@ static void bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); dispatch_async(priv->client, - torrent_queue_move_bottom(build_json_id_array - (priv->torrentTreeView)), - on_generic_interactive_action, data); + 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) @@ -719,16 +720,16 @@ static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); dispatch_async(priv->client, - torrent_queue_move_down(build_json_id_array - (priv->torrentTreeView)), - on_generic_interactive_action, data); + 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) + GtkTreeSelection * selection, + gchar * question_single, + gchar * question_multi, + gchar * action_stock) { TrgMainWindowPrivate *priv; gint selectCount; @@ -740,48 +741,48 @@ static gint confirm_action_dialog(GtkWindow * win, selectCount = gtk_tree_selection_count_selected_rows(selection); if (selectCount == 1) { - GList *list; - GList *firstNode; - GtkTreeIter firstIter; - gchar *name = NULL; - - list = gtk_tree_selection_get_selected_rows(selection, NULL); - firstNode = g_list_first(list); - - gtk_tree_model_get_iter(GTK_TREE_MODEL - (priv->filteredTorrentModel), &firstIter, - firstNode->data); - gtk_tree_model_get(GTK_TREE_MODEL(priv->filteredTorrentModel), - &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); - g_free(name); + GList *list; + GList *firstNode; + GtkTreeIter firstIter; + gchar *name = NULL; + + list = gtk_tree_selection_get_selected_rows(selection, NULL); + firstNode = g_list_first(list); + + gtk_tree_model_get_iter(GTK_TREE_MODEL + (priv->filteredTorrentModel), &firstIter, + firstNode->data); + gtk_tree_model_get(GTK_TREE_MODEL(priv->filteredTorrentModel), + &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); + 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); + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(win), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_NONE, + question_multi, + selectCount); } else { - return 0; + return 0; } gtk_dialog_add_buttons(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, action_stock, - GTK_RESPONSE_ACCEPT, NULL); + GTK_RESPONSE_CANCEL, action_stock, + GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), - GTK_RESPONSE_CANCEL); + 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); @@ -792,8 +793,8 @@ static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); TrgTorrentMoveDialog *dlg = - trg_torrent_move_dialog_new(TRG_MAIN_WINDOW(data), priv->client, - priv->torrentTreeView); + trg_torrent_move_dialog_new(TRG_MAIN_WINDOW(data), priv->client, + priv->torrentTreeView); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -806,18 +807,18 @@ static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); + 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, - _ - ("Remove torrent \"%s\"?"), - _("Remove %d torrents?"), - GTK_STOCK_REMOVE) - == GTK_RESPONSE_ACCEPT) - dispatch_async(priv->client, torrent_remove(ids, FALSE), - on_generic_interactive_action, data); + _ + ("Remove torrent \"%s\"?"), + _("Remove %d torrents?"), + GTK_STOCK_REMOVE) + == GTK_RESPONSE_ACCEPT) + dispatch_async(priv->client, torrent_remove(ids, FALSE), + on_generic_interactive_action, data); else - json_array_unref(ids); + json_array_unref(ids); } static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) @@ -829,19 +830,19 @@ static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); + 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, - _ - ("Remove and delete torrent \"%s\"?"), - _ - ("Remove and delete %d torrents?"), - GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT) - dispatch_async(priv->client, torrent_remove(ids, TRUE), - on_generic_interactive_action, data); + _ + ("Remove and delete torrent \"%s\"?"), + _ + ("Remove and delete %d torrents?"), + GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT) + dispatch_async(priv->client, torrent_remove(ids, TRUE), + on_generic_interactive_action, data); else - json_array_unref(ids); + json_array_unref(ids); } static void view_stats_toggled_cb(GtkWidget * w, gpointer data) @@ -849,8 +850,8 @@ 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); + trg_stats_dialog_get_instance(TRG_MAIN_WINDOW(data), + priv->client); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -859,33 +860,33 @@ 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) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); trg_widget_set_visible(priv->notebook, - gtk_check_menu_item_get_active(w)); + gtk_check_menu_item_get_active(w)); } #ifndef TRG_NO_GRAPH static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, - gpointer win) + gpointer win) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); if (gtk_check_menu_item_get_active(w)) { - if (priv->graphNotebookIndex < 0) - trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE); + if (priv->graphNotebookIndex < 0) + trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE); } else { - if (priv->graphNotebookIndex >= 0) - trg_main_window_remove_graph(TRG_MAIN_WINDOW(win)); + if (priv->graphNotebookIndex >= 0) + trg_main_window_remove_graph(TRG_MAIN_WINDOW(win)); } } #endif void trg_main_window_notebook_set_visible(TrgMainWindow * win, - gboolean visible) + gboolean visible) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); trg_widget_set_visible(priv->notebook, visible); @@ -899,41 +900,41 @@ static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) GtkWidget *notebook = priv->notebook = gtk_notebook_new(); priv->genDetails = - trg_general_panel_new(GTK_TREE_MODEL(priv->torrentModel), - priv->client); + trg_general_panel_new(GTK_TREE_MODEL(priv->torrentModel), + priv->client); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - GTK_WIDGET(priv->genDetails), - gtk_label_new(_("General"))); + GTK_WIDGET(priv->genDetails), + gtk_label_new(_("General"))); priv->trackersModel = trg_trackers_model_new(); priv->trackersTreeView = - trg_trackers_tree_view_new(priv->trackersModel, priv->client, win); + 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)) - trg_main_window_add_graph(win, FALSE); + (prefs, TRG_PREFS_KEY_SHOW_GRAPH, TRG_PREFS_GLOBAL)) + trg_main_window_add_graph(win, FALSE); else - priv->graphNotebookIndex = -1; + priv->graphNotebookIndex = -1; #endif return notebook; @@ -943,12 +944,12 @@ gboolean on_session_set(gpointer data) { trg_response *response = (trg_response *) data; TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); + TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); if (response->status == CURLE_OK - || response->status == FAIL_RESPONSE_UNSUCCESSFUL) - dispatch_async(priv->client, session_get(), on_session_get, - response->cb_data); + || response->status == FAIL_RESPONSE_UNSUCCESSFUL) + dispatch_async(priv->client, session_get(), on_session_get, + response->cb_data); trg_dialog_error_handler(TRG_MAIN_WINDOW(response->cb_data), response); trg_response_free(response); @@ -961,56 +962,56 @@ 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); + TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); TrgClient *client = priv->client; gboolean isConnected = trg_client_is_connected(client); JsonObject *newSession = NULL; if (response->obj) - newSession = get_arguments(response->obj); + newSession = get_arguments(response->obj); if (!isConnected) { - float version; - - if (trg_dialog_error_handler(win, response) == TRUE) { - trg_response_free(response); - reset_connect_args(win); - return FALSE; - } - - if (session_get_version(newSession, &version) == 0 - || version < TRANSMISSION_MIN_SUPPORTED) { - gchar *msg = - g_strdup_printf(_ - ("This application supports Transmission %.2f and later, you have %.2f."), + float version; + + if (trg_dialog_error_handler(win, response) == TRUE) { + trg_response_free(response); + reset_connect_args(win); + return FALSE; + } + + if (session_get_version(newSession, &version) == 0 + || version < TRANSMISSION_MIN_SUPPORTED) { + gchar *msg = + 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_window_set_title(GTK_WINDOW(dialog), _("Error")); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); - g_free(msg); - trg_response_free(response); - reset_connect_args(win); - return FALSE; - } - - trg_status_bar_connect(priv->statusBar, newSession); + GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(win), + 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); + g_free(msg); + trg_response_free(response); + reset_connect_args(win); + return FALSE; + } + + trg_status_bar_connect(priv->statusBar, newSession); } if (newSession) { - trg_client_set_session(client, newSession); - json_object_ref(newSession); + trg_client_set_session(client, newSession); + json_object_ref(newSession); } if (!isConnected) { - trg_main_window_conn_changed(win, TRUE); - trg_trackers_tree_view_new_connection(priv->trackersTreeView, - client); - dispatch_async(client, torrent_get(-1), on_torrent_get_first, win); + trg_main_window_conn_changed(win, TRUE); + trg_trackers_tree_view_new_connection(priv->trackersTreeView, + client); + dispatch_async(client, torrent_get(-1), on_torrent_get_first, win); } trg_response_free(response); @@ -1019,69 +1020,69 @@ TRANSMISSION_MIN_SUPPORTED, version); } 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"); #ifdef HAVE_LIBAPPINDICATOR if (priv->appIndicator) - app_indicator_set_menu(priv->appIndicator, - trg_status_icon_view_menu(win, display)); + app_indicator_set_menu(priv->appIndicator, + trg_status_icon_view_menu(win, display)); #else if (priv->statusIcon) - gtk_status_icon_set_tooltip_text(priv->statusIcon, display); + gtk_status_icon_set_tooltip_text(priv->statusIcon, display); #endif } 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); #ifdef HAVE_LIBAPPINDICATOR gtk_widget_set_visible(priv->appIndicatorSeedingItem, stats != NULL); gtk_widget_set_visible(priv->appIndicatorDownloadingItem, - stats != NULL); + stats != NULL); gtk_widget_set_visible(priv->appIndicatorSepItem, stats != NULL); 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->appIndicatorSeedingItem), - seedingLabel); - gtk_menu_item_set_label(GTK_MENU_ITEM - (priv->appIndicatorDownloadingItem), - downloadingLabel); - g_free(downloadingLabel); - g_free(seedingLabel); + 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->appIndicatorSeedingItem), + seedingLabel); + gtk_menu_item_set_label(GTK_MENU_ITEM + (priv->appIndicatorDownloadingItem), + downloadingLabel); + g_free(downloadingLabel); + g_free(seedingLabel); } if (priv->appIndicatorStatusItem) - gtk_menu_item_set_label(GTK_MENU_ITEM - (priv->appIndicatorStatusItem), - speedLabel); + gtk_menu_item_set_label(GTK_MENU_ITEM + (priv->appIndicatorStatusItem), + speedLabel); #else if (priv->statusIcon) - gtk_status_icon_set_tooltip_text(priv->statusIcon, speedLabel); + gtk_status_icon_set_tooltip_text(priv->statusIcon, speedLabel); #endif } - /* - * The callback for a torrent-get response. - */ + /* + * The callback for a torrent-get response. + */ 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); + 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; @@ -1089,68 +1090,68 @@ static gboolean on_torrent_get(gpointer data, int mode) /* Disconnected between request and response callback */ if (!trg_client_is_connected(client)) { - trg_response_free(response); - return FALSE; + trg_response_free(response); + return FALSE; } 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, - TRG_PREFS_CONNECTION); + = + 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; + interval = TRG_INTERVAL_DEFAULT; if (response->status != CURLE_OK) { - if (trg_client_inc_failcount(client) >= TRG_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), - TRG_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_client_updateunlock(client); - trg_response_free(response); - return FALSE; + if (trg_client_inc_failcount(client) >= TRG_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), + TRG_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_client_updateunlock(client); + trg_response_free(response); + return FALSE; } trg_client_reset_failcount(client); trg_client_inc_serial(client); stats = - trg_torrent_model_update(priv->torrentModel, client, response->obj, - mode); + trg_torrent_model_update(priv->torrentModel, client, response->obj, + mode); trg_state_selector_stats_update(priv->stateSelector, stats); 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) - trg_torrent_graph_set_speed(priv->graph, stats); + trg_torrent_graph_set_speed(priv->graph, stats); #endif if (mode != TORRENT_GET_MODE_INTERACTION) - priv->timerId = - g_timeout_add_seconds(interval, trg_update_torrents_timerfunc, - win); + priv->timerId = + g_timeout_add_seconds(interval, trg_update_torrents_timerfunc, + win); trg_client_updateunlock(client); trg_response_free(response); @@ -1166,13 +1167,13 @@ static gboolean on_torrent_get_first(gpointer data) { trg_response *response = (trg_response *) data; TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); + 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); if (priv->args) - trg_add_from_filename(win, priv->args); + trg_add_from_filename(win, priv->args); return result; } @@ -1194,25 +1195,25 @@ static gboolean trg_update_torrents_timerfunc(gpointer data) 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_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); - - if (trg_client_get_serial(tc) % SESSION_UPDATE_DIVISOR == 0) - dispatch_async(priv->client, session_get(), on_session_get, - data); + 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_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); + + if (trg_client_get_serial(tc) % SESSION_UPDATE_DIVISOR == 0) + dispatch_async(priv->client, session_get(), on_session_get, + data); } return FALSE; @@ -1227,8 +1228,8 @@ 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); @@ -1242,50 +1243,50 @@ static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model, gtk_tree_model_get(model, iter, TORRENT_COLUMN_FLAGS, &flags, -1); if (criteria != 0) { - if (criteria & FILTER_FLAG_TRACKER) { - gchar *text = - trg_state_selector_get_selected_text(priv->stateSelector); - JsonObject *json; - gtk_tree_model_get(model, iter, TORRENT_COLUMN_JSON, &json, - -1); - - if (!json || !torrent_has_tracker(json, - trg_state_selector_get_url_host_regex - (priv->stateSelector), text)) - return FALSE; - } else if (criteria & FILTER_FLAG_DIR) { - 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); - cmp = g_strcmp0(text, dd); - g_free(dd); - g_free(text); - if (cmp) - return FALSE; - } else if (!(flags & criteria)) { - return FALSE; - } + if (criteria & FILTER_FLAG_TRACKER) { + gchar *text = + trg_state_selector_get_selected_text(priv->stateSelector); + JsonObject *json; + gtk_tree_model_get(model, iter, TORRENT_COLUMN_JSON, &json, + -1); + + if (!json || !torrent_has_tracker(json, + trg_state_selector_get_url_host_regex + (priv->stateSelector), text)) + return FALSE; + } else if (criteria & FILTER_FLAG_DIR) { + 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); + cmp = g_strcmp0(text, dd); + g_free(dd); + g_free(text); + if (cmp) + return FALSE; + } else if (!(flags & criteria)) { + return FALSE; + } } visible = TRUE; filterText = gtk_entry_get_text(GTK_ENTRY(priv->filterEntry)); if (strlen(filterText) > 0) { - gtk_tree_model_get(model, iter, TORRENT_COLUMN_NAME, &name, -1); - if (name) { - gchar *filterCmp = g_utf8_casefold(filterText, -1); - gchar *nameCmp = g_utf8_casefold(name, -1); - - if (!strstr(nameCmp, filterCmp)) - visible = FALSE; - - g_free(nameCmp); - g_free(filterCmp); - g_free(name); - } + gtk_tree_model_get(model, iter, TORRENT_COLUMN_NAME, &name, -1); + if (name) { + gchar *filterCmp = g_utf8_casefold(filterText, -1); + gchar *nameCmp = g_utf8_casefold(name, -1); + + if (!strstr(nameCmp, filterCmp)) + visible = FALSE; + + g_free(nameCmp); + g_free(filterCmp); + g_free(name); + } } return visible; @@ -1295,56 +1296,56 @@ 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)); + GTK_TREE_MODEL + (priv->torrentModel)); trg_state_selector_update(priv->stateSelector); } static TrgTorrentTreeView * trg_main_window_torrent_tree_view_new(TrgMainWindow * win, - GtkTreeModel * model) + GtkTreeModel * model) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); TrgTorrentTreeView *torrentTreeView = - trg_torrent_tree_view_new(trg_client_get_prefs(priv->client), - model); + trg_torrent_tree_view_new(trg_client_get_prefs(priv->client), + model); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(torrentTreeView)); + 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) { - GtkWidget *dialog; - const gchar *msg; - - msg = make_error_message(response->obj, response->status); - 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_window_set_title(GTK_WINDOW(dialog), _("Error")); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); - g_free((gpointer) msg); - return TRUE; + GtkWidget *dialog; + const gchar *msg; + + msg = make_error_message(response->obj, response->status); + 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_window_set_title(GTK_WINDOW(dialog), _("Error")); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + g_free((gpointer) msg); + return TRUE; } else { - return FALSE; + return FALSE; } } 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); @@ -1353,8 +1354,8 @@ static gboolean torrent_selection_changed(GtkTreeSelection * selection, gint64 id; if (trg_torrent_model_is_remove_in_progress(priv->torrentModel)) { - trg_main_window_torrent_scrub(win); - return TRUE; + trg_main_window_torrent_scrub(win); + return TRUE; } selectionList = gtk_tree_selection_get_selected_rows(selection, NULL); @@ -1362,12 +1363,12 @@ static gboolean torrent_selection_changed(GtkTreeSelection * selection, id = -1; if (firstNode) { - GtkTreeIter iter; - if (gtk_tree_model_get_iter(priv->filteredTorrentModel, &iter, - (GtkTreePath *) firstNode->data)) { - gtk_tree_model_get(priv->filteredTorrentModel, &iter, - TORRENT_COLUMN_ID, &id, -1); - } + GtkTreeIter iter; + if (gtk_tree_model_get_iter(priv->filteredTorrentModel, &iter, + (GtkTreePath *) firstNode->data)) { + gtk_tree_model_get(priv->filteredTorrentModel, &iter, + TORRENT_COLUMN_ID, &id, -1); + } } g_list_foreach(selectionList, (GFunc) gtk_tree_path_free, NULL); @@ -1383,27 +1384,27 @@ 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); + TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); TrgClient *tc = priv->client; TrgPrefs *prefs = trg_client_get_prefs(tc); if (trg_client_is_connected(tc)) { - trg_dialog_error_handler(win, response); - - if (response->status == CURLE_OK) { - 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)) - id = -2; - else - id = -1; - - dispatch_async(tc, torrent_get(id), on_torrent_get_interactive, - win); - } + trg_dialog_error_handler(win, response); + + if (response->status == CURLE_OK) { + 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)) + id = -2; + else + id = -1; + + dispatch_async(tc, torrent_get(id), on_torrent_get_interactive, + win); + } } trg_response_free(response); @@ -1420,7 +1421,7 @@ 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); @@ -1432,16 +1433,16 @@ static void entry_filter_changed_cb(GtkWidget * w, gpointer 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); + clearSensitive, NULL); } static void torrent_state_selection_changed(TrgStateSelector * - selector G_GNUC_UNUSED, - guint flag G_GNUC_UNUSED, - gpointer data) + selector G_GNUC_UNUSED, + guint flag G_GNUC_UNUSED, + gpointer data) { gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data)); } @@ -1459,21 +1460,21 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean 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); + connected); gtk_widget_set_sensitive(GTK_WIDGET(priv->genDetails), connected); if (!connected) { - trg_main_window_torrent_scrub(win); - trg_state_selector_disconnect(priv->stateSelector); + trg_main_window_torrent_scrub(win); + trg_state_selector_disconnect(priv->stateSelector); #ifndef TRG_NO_GRAPH - if (priv->graphNotebookIndex >= 0) - trg_torrent_graph_set_nothing(priv->graph); + if (priv->graphNotebookIndex >= 0) + trg_torrent_graph_set_nothing(priv->graph); #endif - trg_torrent_model_remove_all(priv->torrentModel); + trg_torrent_model_remove_all(priv->torrentModel); - priv->timerId = 0; + priv->timerId = 0; } trg_client_status_change(tc, connected); @@ -1481,39 +1482,39 @@ 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) + guint property_id, GValue * value, + GParamSpec * pspec) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; case PROP_MINIMISE_ON_START: - g_value_set_boolean(value, priv->min_on_start); - break; + g_value_set_boolean(value, priv->min_on_start); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_main_window_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_MINIMISE_ON_START: - priv->min_on_start = g_value_get_boolean(value); - break; + priv->min_on_start = g_value_get_boolean(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -1527,11 +1528,11 @@ 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, + *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, #endif @@ -1541,74 +1542,74 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) menuBar = trg_menu_bar_new(win, trg_client_get_prefs(priv->client)); 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_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, #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_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); + 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); + win); g_signal_connect(b_verify, "activate", G_CALLBACK(verify_cb), win); g_signal_connect(b_reannounce, "activate", G_CALLBACK(reannounce_cb), - win); + 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); + win); g_signal_connect(b_top_queue, "activate", G_CALLBACK(top_queue_cb), - win); + win); g_signal_connect(b_bottom_queue, "activate", - G_CALLBACK(bottom_queue_cb), win); + G_CALLBACK(bottom_queue_cb), win); g_signal_connect(b_start_now, "activate", G_CALLBACK(start_now_cb), - win); + 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_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_CALLBACK(main_window_toggle_filter_dirs), win); g_signal_connect(b_tracker_filters, "toggled", - G_CALLBACK(main_window_toggle_filter_trackers), win); + G_CALLBACK(main_window_toggle_filter_trackers), win); #ifndef TRG_NO_GRAPH g_signal_connect(b_tracker_filters, "toggled", - G_CALLBACK(trg_main_window_toggle_graph_cb), win); + G_CALLBACK(trg_main_window_toggle_graph_cb), win); #endif 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); @@ -1618,7 +1619,7 @@ 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); @@ -1626,18 +1627,18 @@ static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED, gtk_window_present(GTK_WINDOW(data)); 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); + g_source_remove(priv->timerId); + 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) { GtkMenu *menu = - trg_status_icon_view_menu(TRG_MAIN_WINDOW(userdata), NULL); + trg_status_icon_view_menu(TRG_MAIN_WINDOW(userdata), NULL); gtk_menu_popup(menu, NULL, NULL, NULL, NULL, 0, 0); @@ -1645,59 +1646,59 @@ static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon, } 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) { - GtkMenu *menu = - trg_status_icon_view_menu(TRG_MAIN_WINDOW(data), NULL); - gtk_menu_popup(menu, NULL, NULL, NULL, NULL, - (event != NULL) ? event->button : 0, - gdk_event_get_time((GdkEvent *) event)); - return TRUE; + GtkMenu *menu = + trg_status_icon_view_menu(TRG_MAIN_WINDOW(data), NULL); + gtk_menu_popup(menu, NULL, NULL, NULL, NULL, + (event != NULL) ? event->button : 0, + gdk_event_get_time((GdkEvent *) event)); + return TRUE; } else { - return FALSE; + return FALSE; } } #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 gboolean torrent_tv_key_press_event(GtkWidget * w, - GdkEventKey * key, - gpointer data) + GdkEventKey * key, + gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); if (key->keyval == GDK_Delete) { - if (key->state & GDK_SHIFT_MASK) - delete_cb(w, data); - else - remove_cb(w, data); + if (key->state & GDK_SHIFT_MASK) + delete_cb(w, data); + else + remove_cb(w, data); } else if (priv->queuesEnabled && (key->state & GDK_MOD1_MASK) - && key->keyval == GDK_Up) { - up_queue_cb(w, data); + && key->keyval == GDK_Up) { + up_queue_cb(w, data); } else if (priv->queuesEnabled && (key->state & GDK_MOD1_MASK) - && key->keyval == GDK_Down) { - down_queue_cb(w, data); + && key->keyval == GDK_Down) { + down_queue_cb(w, data); } return FALSE; } 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); @@ -1721,41 +1722,41 @@ static void set_limit_cb(GtkWidget * w, gpointer data) JsonObject *args; if (limitIds) - req = torrent_set((JsonArray *) limitIds); + req = torrent_set((JsonArray *) limitIds); else - req = session_set(); + req = session_set(); args = node_get_arguments(req); if (speed >= 0) - json_object_set_int_member(args, speedKey, speed); + json_object_set_int_member(args, speedKey, speed); 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); + 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); if (limit >= 1000) - g_snprintf(speed, sizeof(speed), "%.2f MB/s", limit / 1024); + g_snprintf(speed, sizeof(speed), "%.2f MB/s", limit / 1024); else - g_snprintf(speed, sizeof(speed), "%.0f KB/s", limit); + g_snprintf(speed, sizeof(speed), "%.0f KB/s", limit); item = gtk_check_menu_item_new_with_label(speed); /* Yeah, I know it's unsafe to cast from a float to an int, but its safe here */ g_object_set_data(G_OBJECT(item), "limit", - GINT_TO_POINTER((gint) 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); @@ -1764,8 +1765,8 @@ 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; @@ -1775,31 +1776,31 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, gint64 limit; if (ids) - get_torrent_data(trg_client_get_torrent_table(client), - priv->selectedTorrentId, ¤t, &iter); + get_torrent_data(trg_client_get_torrent_table(client), + priv->selectedTorrentId, ¤t, &iter); else - current = trg_client_get_session(client); + 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_free); g_object_set_data_full(G_OBJECT(menu), "enabledKey", - g_strdup(enabledKey), g_free); + 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); @@ -1808,7 +1809,7 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); limit_item_new(win, menu, limit, 0); limit_item_new(win, menu, limit, 5); @@ -1839,32 +1840,32 @@ 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"); + "cmd-object"); GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); GtkTreeModel *model; GList *selectedRows = - gtk_tree_selection_get_selected_rows(selection, &model); + gtk_tree_selection_get_selected_rows(selection, &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)); + model, + selectedRows, + json_object_get_string_member(cmd_obj, + TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD)); g_debug("Exec: %s", cmd_line); if (!cmd_line) - return; + return; //GTK has bug, won't let you pass a string here containing a quoted param, so use parse and then spawn // rather than g_spawn_command_line_async(cmd_line,&cmd_error); 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); @@ -1872,20 +1873,20 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) g_free(cmd_line); 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_window_set_title(GTK_WINDOW(dialog), _("Error")); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); - g_error_free(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_window_set_title(GTK_WINDOW(dialog), _("Error")); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + g_error_free(cmd_error); } } 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); @@ -1898,119 +1899,119 @@ 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); + 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_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); + 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); + 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_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_get_array(prefs, TRG_PREFS_KEY_EXEC_COMMANDS, + TRG_PREFS_CONNECTION); n_cmds = json_array_get_length(cmds); if (n_cmds > 0) { - GList *cmds_list = json_array_get_elements(cmds); - GtkMenuShell *cmds_shell; - GList *cmds_li; - - if (n_cmds < 3) { - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - 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_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")); - - 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)); - } - - 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); - const gchar *cmd_label = - json_object_get_string_member(cmd_obj, "label"); - GtkWidget *item = trg_imagemenuitem_new(cmds_shell, cmd_label, - 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); + GList *cmds_list = json_array_get_elements(cmds); + GtkMenuShell *cmds_shell; + GList *cmds_li; + + if (n_cmds < 3) { + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + 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_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")); + + 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)); + } + + 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); + const gchar *cmd_label = + json_object_get_string_member(cmd_obj, "label"); + GtkWidget *item = trg_imagemenuitem_new(cmds_shell, cmd_label, + 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_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); - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Up Queue"), - 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); - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Bottom Of Queue"), - 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_menu_shell_append(GTK_MENU_SHELL(menu), - gtk_separator_menu_item_new()); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Start Now"), + 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); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Down Queue"), + 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); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Top Of Queue"), + 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_menu_shell_append(GTK_MENU_SHELL(menu), - limit_menu_new(TRG_MAIN_WINDOW(data), - _("Down Limit"), - FIELD_DOWNLOAD_LIMITED, - FIELD_DOWNLOAD_LIMIT, ids)); + 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)); + 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); @@ -2021,79 +2022,79 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win, #ifdef HAVE_LIBAPPINDICATOR if (msg) { - priv->appIndicatorStatusItem = gtk_menu_item_new_with_label(msg); - gtk_widget_set_sensitive(priv->appIndicatorStatusItem, FALSE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - priv->appIndicatorStatusItem); - - if (connected) { - priv->appIndicatorDownloadingItem = gtk_menu_item_new(); - gtk_widget_set_visible(priv->appIndicatorDownloadingItem, - FALSE); - gtk_widget_set_sensitive(priv->appIndicatorDownloadingItem, - FALSE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - priv->appIndicatorDownloadingItem); - - priv->appIndicatorSeedingItem = gtk_menu_item_new(); - gtk_widget_set_visible(priv->appIndicatorSeedingItem, FALSE); - gtk_widget_set_sensitive(priv->appIndicatorSeedingItem, FALSE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - priv->appIndicatorSeedingItem); - } - - priv->appIndicatorSepItem = gtk_separator_menu_item_new(); - gtk_widget_set_sensitive(priv->appIndicatorSepItem, FALSE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), - priv->appIndicatorSepItem); + priv->appIndicatorStatusItem = gtk_menu_item_new_with_label(msg); + gtk_widget_set_sensitive(priv->appIndicatorStatusItem, FALSE); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + priv->appIndicatorStatusItem); + + if (connected) { + priv->appIndicatorDownloadingItem = gtk_menu_item_new(); + gtk_widget_set_visible(priv->appIndicatorDownloadingItem, + FALSE); + gtk_widget_set_sensitive(priv->appIndicatorDownloadingItem, + FALSE); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + priv->appIndicatorDownloadingItem); + + priv->appIndicatorSeedingItem = gtk_menu_item_new(); + gtk_widget_set_visible(priv->appIndicatorSeedingItem, FALSE); + gtk_widget_set_sensitive(priv->appIndicatorSeedingItem, FALSE); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + priv->appIndicatorSeedingItem); + } + + priv->appIndicatorSepItem = gtk_separator_menu_item_new(); + gtk_widget_set_sensitive(priv->appIndicatorSepItem, FALSE); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + priv->appIndicatorSepItem); } #endif 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); - - 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_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)); - - trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume All"), - 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); + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Disconnect"), + 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 from URL"), + GTK_STOCK_ADD, connected, + G_CALLBACK(add_url_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)); + + trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume All"), + 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), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Quit"), GTK_STOCK_QUIT, - TRUE, G_CALLBACK(quit_cb), win); + TRUE, G_CALLBACK(quit_cb), win); gtk_widget_show_all(menu); @@ -2101,56 +2102,56 @@ 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; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } + if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview), + (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); + } - gtk_tree_path_free(path); + gtk_tree_path_free(path); - trg_torrent_tv_view_menu(treeview, event, userdata); - return TRUE; - } + trg_torrent_tv_view_menu(treeview, event, userdata); + return TRUE; + } } return FALSE; } 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)) { - gtk_widget_hide(GTK_WIDGET(widget)); + && 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)); } return TRUE; @@ -2164,13 +2165,13 @@ 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 if (priv->statusIcon) - g_object_unref(G_OBJECT(priv->statusIcon)); + g_object_unref(G_OBJECT(priv->statusIcon)); priv->statusIcon = NULL; #endif @@ -2182,14 +2183,14 @@ 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)); + 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"))); + gtk_notebook_append_page(GTK_NOTEBOOK(priv->notebook), + GTK_WIDGET(priv->graph), + gtk_label_new(_("Graph"))); if (show) - gtk_widget_show_all(priv->notebook); + gtk_widget_show_all(priv->notebook); trg_torrent_graph_start(priv->graph); } @@ -2199,9 +2200,9 @@ 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 = -1; + gtk_notebook_remove_page(GTK_NOTEBOOK(priv->notebook), + priv->graphNotebookIndex); + priv->graphNotebookIndex = -1; } } #endif @@ -2211,32 +2212,32 @@ 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_set_status(priv->appIndicator, - APP_INDICATOR_STATUS_ACTIVE); - app_indicator_set_menu(priv->appIndicator, - trg_status_icon_view_menu(win, NULL)); + app_indicator_new(PACKAGE_NAME, PACKAGE_NAME, + APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) { + app_indicator_set_status(priv->appIndicator, + APP_INDICATOR_STATUS_ACTIVE); + app_indicator_set_menu(priv->appIndicator, + trg_status_icon_view_menu(win, NULL)); } #else if (!priv->icon) - return; + return; 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)); + trg_client_is_connected(priv->client)); } TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win) @@ -2246,9 +2247,9 @@ TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win) } 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; @@ -2257,8 +2258,8 @@ static gboolean trg_main_window_config_event(GtkWidget * widget, } static void trg_client_session_updated_cb(TrgClient * tc, - JsonObject * session, - gpointer data) + JsonObject * session, + gpointer data) { TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); gboolean queuesEnabled; @@ -2266,18 +2267,18 @@ static void trg_client_session_updated_cb(TrgClient * tc, trg_status_bar_session_update(priv->statusBar, 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); + queuesEnabled = json_object_get_boolean_member(session, + SGET_DOWNLOAD_QUEUE_ENABLED) + || json_object_get_boolean_member(session, + SGET_SEED_QUEUE_ENABLED); } else { - queuesEnabled = FALSE; + queuesEnabled = FALSE; } if (priv->queuesEnabled != queuesEnabled) { - trg_menu_bar_set_supports_queues(priv->menuBar, queuesEnabled); - trg_state_selector_set_queues_enabled(priv->stateSelector, - queuesEnabled); + trg_menu_bar_set_supports_queues(priv->menuBar, queuesEnabled); + trg_state_selector_set_queues_enabled(priv->stateSelector, + queuesEnabled); } priv->queuesEnabled = queuesEnabled; @@ -2292,38 +2293,38 @@ static GtkTargetEntry target_list[] = { 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)) { - 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]); - } - g_strfreev(uri_list); - gtk_drag_finish(context, TRUE, FALSE, time); - trg_add_from_filename(win, file_list); - return; - } + && (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]); + } + g_strfreev(uri_list); + gtk_drag_finish(context, TRUE, FALSE, time); + trg_add_from_filename(win, file_list); + return; + } } gtk_drag_finish(context, FALSE, FALSE, time); } 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; @@ -2336,9 +2337,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; @@ -2347,87 +2348,88 @@ static GObject *trg_main_window_constructor(GType type, theme = gtk_icon_theme_get_default(); 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); #endif if (priv->icon) - gtk_window_set_default_icon(priv->icon); + gtk_window_set_default_icon(priv->icon); 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_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); g_signal_connect(priv->torrentModel, "update-filters", - G_CALLBACK(on_update_filters), self); + G_CALLBACK(on_update_filters), self); priv->sortedTorrentModel = - gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL - (priv->torrentModel)); + 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); + 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, "key-press-event", - G_CALLBACK(torrent_tv_key_press_event), self); + G_CALLBACK(torrent_tv_key_press_event), self); 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); + 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); + 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); + G_CALLBACK(clear_filter_entry_cb), 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(); @@ -2436,81 +2438,82 @@ static GObject *trg_main_window_constructor(GType type, priv->stateSelector = trg_state_selector_new(priv->client); priv->stateSelectorScroller = - my_scrolledwin_new(GTK_WIDGET(priv->stateSelector)); + my_scrolledwin_new(GTK_WIDGET(priv->stateSelector)); gtk_paned_pack1(GTK_PANED(priv->hpaned), priv->stateSelectorScroller, - FALSE, FALSE); + 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); + "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); + trg_main_window_add_status_icon(self); else - trg_main_window_remove_status_icon(self); + trg_main_window_remove_status_icon(self); priv->statusBar = trg_status_bar_new(); 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); + 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); if (width > 0 && height > 0) - gtk_window_set_default_size(GTK_WINDOW(self), width, height); + gtk_window_set_default_size(GTK_WINDOW(self), width, height); 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_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_prefs_get_bool(prefs, + TRG_PREFS_KEY_SHOW_NOTEBOOK, + TRG_PREFS_GLOBAL)); pos = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_NOTEBOOK_PANED_POS, - TRG_PREFS_GLOBAL); + trg_prefs_get_int(prefs, TRG_PREFS_KEY_NOTEBOOK_PANED_POS, + TRG_PREFS_GLOBAL); if (pos > 0) - gtk_paned_set_position(GTK_PANED(priv->vpaned), pos); + gtk_paned_set_position(GTK_PANED(priv->vpaned), pos); pos = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_STATES_PANED_POS, - TRG_PREFS_GLOBAL); + trg_prefs_get_int(prefs, TRG_PREFS_KEY_STATES_PANED_POS, + TRG_PREFS_GLOBAL); if (pos > 0) - gtk_paned_set_position(GTK_PANED(priv->hpaned), pos); + gtk_paned_set_position(GTK_PANED(priv->hpaned), pos); if (tray && priv->min_on_start) - gtk_widget_hide(GTK_WIDGET(self)); + gtk_widget_hide(GTK_WIDGET(self)); /* 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_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 + ); //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_CALLBACK(on_dropped_file), self); return G_OBJECT(self); } @@ -2526,35 +2529,35 @@ static void trg_main_window_class_init(TrgMainWindowClass * klass) 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)); + 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)); + 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) @@ -2562,26 +2565,26 @@ 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)) { - priv->args = args; - connect_cb(NULL, win); - return; - } + gint len = strlen(host); + g_free(host); + if (len > 0 + && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_AUTO_CONNECT, + TRG_PREFS_PROFILE)) { + priv->args = args; + connect_cb(NULL, win); + return; + } } if (args) - g_strfreev(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); + "min-on-start", minonstart, NULL); } diff --git a/src/trg-main-window.h b/src/trg-main-window.h index 9374c15..9a60ea3 100644 --- a/src/trg-main-window.h +++ b/src/trg-main-window.h @@ -70,7 +70,7 @@ TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win); gint trg_mw_get_selected_torrent_id(TrgMainWindow * win); GtkTreeModel *trg_main_window_get_torrent_model(TrgMainWindow * win); void trg_main_window_notebook_set_visible(TrgMainWindow * win, - gboolean visible); + gboolean visible); void connect_cb(GtkWidget * w, gpointer data); void trg_main_window_reload_dir_aliases(TrgMainWindow * win); @@ -79,4 +79,4 @@ void trg_main_window_reload_dir_aliases(TrgMainWindow * win); #endif G_END_DECLS -#endif /* MAIN_WINDOW_H_ */ +#endif /* MAIN_WINDOW_H_ */ diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index bc1118f..b3d7e18 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -101,7 +101,7 @@ struct _TrgMenuBarPrivate { }; void trg_menu_bar_set_supports_queues(TrgMenuBar * mb, - gboolean supportsQueues) + gboolean supportsQueues) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb); @@ -128,7 +128,7 @@ void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected) } void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive) + gboolean sensitive) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb); @@ -148,148 +148,148 @@ void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, } static void trg_menu_bar_set_property(GObject * object, - guint prop_id, const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(object); switch (prop_id) { case PROP_PREFS: - priv->prefs = g_value_get_object(value); - break; + priv->prefs = g_value_get_object(value); + break; case PROP_MAIN_WINDOW: - priv->main_window = g_value_get_object(value); - break; + priv->main_window = g_value_get_object(value); + break; } } static void trg_menu_bar_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(object); switch (property_id) { case PROP_CONNECT_BUTTON: - g_value_set_object(value, priv->mb_connect); - break; + g_value_set_object(value, priv->mb_connect); + break; case PROP_DISCONNECT_BUTTON: - g_value_set_object(value, priv->mb_disconnect); - break; + g_value_set_object(value, priv->mb_disconnect); + break; case PROP_ADD_BUTTON: - g_value_set_object(value, priv->mb_add); - break; + g_value_set_object(value, priv->mb_add); + break; case PROP_ADD_URL_BUTTON: - g_value_set_object(value, priv->mb_add_url); - break; + g_value_set_object(value, priv->mb_add_url); + break; case PROP_REMOVE_BUTTON: - g_value_set_object(value, priv->mb_remove); - break; + g_value_set_object(value, priv->mb_remove); + break; case PROP_DELETE_BUTTON: - g_value_set_object(value, priv->mb_delete); - break; + g_value_set_object(value, priv->mb_delete); + break; case PROP_MOVE_UP_QUEUE: - g_value_set_object(value, priv->mb_up_queue); - break; + g_value_set_object(value, priv->mb_up_queue); + break; case PROP_MOVE_DOWN_QUEUE: - g_value_set_object(value, priv->mb_down_queue); - break; + g_value_set_object(value, priv->mb_down_queue); + break; case PROP_MOVE_TOP_QUEUE: - g_value_set_object(value, priv->mb_top_queue); - break; + g_value_set_object(value, priv->mb_top_queue); + break; case PROP_MOVE_BOTTOM_QUEUE: - g_value_set_object(value, priv->mb_bottom_queue); - break; + g_value_set_object(value, priv->mb_bottom_queue); + break; case PROP_START_NOW: - g_value_set_object(value, priv->mb_start_now); - break; + g_value_set_object(value, priv->mb_start_now); + break; case PROP_MOVE_BUTTON: - g_value_set_object(value, priv->mb_move); - break; + g_value_set_object(value, priv->mb_move); + break; case PROP_RESUME_BUTTON: - g_value_set_object(value, priv->mb_resume); - break; + g_value_set_object(value, priv->mb_resume); + break; case PROP_RESUME_ALL_BUTTON: - g_value_set_object(value, priv->mb_resume_all); - break; + g_value_set_object(value, priv->mb_resume_all); + break; case PROP_PAUSE_BUTTON: - g_value_set_object(value, priv->mb_pause); - break; + g_value_set_object(value, priv->mb_pause); + break; case PROP_PAUSE_ALL_BUTTON: - g_value_set_object(value, priv->mb_pause_all); - break; + g_value_set_object(value, priv->mb_pause_all); + break; case PROP_VERIFY_BUTTON: - g_value_set_object(value, priv->mb_verify); - break; + g_value_set_object(value, priv->mb_verify); + break; case PROP_REANNOUNCE_BUTTON: - g_value_set_object(value, priv->mb_reannounce); - break; + g_value_set_object(value, priv->mb_reannounce); + break; case PROP_PROPS_BUTTON: - g_value_set_object(value, priv->mb_props); - break; + g_value_set_object(value, priv->mb_props); + break; case PROP_REMOTE_PREFS_BUTTON: - g_value_set_object(value, priv->mb_remote_prefs); - break; + g_value_set_object(value, priv->mb_remote_prefs); + break; case PROP_LOCAL_PREFS_BUTTON: - g_value_set_object(value, priv->mb_local_prefs); - break; + g_value_set_object(value, priv->mb_local_prefs); + break; case PROP_ABOUT_BUTTON: - g_value_set_object(value, priv->mb_about); - break; + g_value_set_object(value, priv->mb_about); + break; case PROP_VIEW_SHOW_GRAPH: - g_value_set_object(value, priv->mb_view_graph); - break; + g_value_set_object(value, priv->mb_view_graph); + break; case PROP_VIEW_STATES_BUTTON: - g_value_set_object(value, priv->mb_view_states); - break; + g_value_set_object(value, priv->mb_view_states); + break; case PROP_VIEW_NOTEBOOK_BUTTON: - g_value_set_object(value, priv->mb_view_notebook); - break; + g_value_set_object(value, priv->mb_view_notebook); + break; case PROP_VIEW_STATS_BUTTON: - g_value_set_object(value, priv->mb_view_stats); - break; + g_value_set_object(value, priv->mb_view_stats); + break; case PROP_QUIT: - g_value_set_object(value, priv->mb_quit); - break; + g_value_set_object(value, priv->mb_quit); + break; case PROP_DIR_FILTERS: - g_value_set_object(value, priv->mb_directory_filters); - break; + g_value_set_object(value, priv->mb_directory_filters); + break; case PROP_TRACKER_FILTERS: - g_value_set_object(value, priv->mb_tracker_filters); - break; + g_value_set_object(value, priv->mb_tracker_filters); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_menu_bar_install_widget_prop(GObjectClass * class, guint propId, - const gchar * name, const gchar * nick) + const gchar * name, const gchar * nick) { g_object_class_install_property(class, - propId, - g_param_spec_object(name, - nick, - nick, - GTK_TYPE_WIDGET, - G_PARAM_READABLE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + propId, + g_param_spec_object(name, + nick, + nick, + GTK_TYPE_WIDGET, + G_PARAM_READABLE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text, - const gchar * stock_id, - gboolean sensitive) + const gchar * stock_id, + gboolean sensitive) { 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_use_underline(GTK_MENU_ITEM(item), TRUE); gtk_menu_item_set_label(GTK_MENU_ITEM(item), text); gtk_widget_set_sensitive(item, sensitive); @@ -303,55 +303,55 @@ static void view_menu_item_toggled_cb(GtkCheckMenuItem * w, gpointer data) { TrgPrefs *p = TRG_PREFS(data); gchar *key = - (gchar *) g_object_get_data(G_OBJECT(w), G_DATAKEY_CONF_KEY); + (gchar *) g_object_get_data(G_OBJECT(w), G_DATAKEY_CONF_KEY); trg_prefs_set_bool(p, key, gtk_check_menu_item_get_active(w), - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); } static void view_menu_bar_toggled_dependency_cb(GtkCheckMenuItem * w, - gpointer data) + gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_check_menu_item_get_active - (GTK_CHECK_MENU_ITEM(w))); + gtk_check_menu_item_get_active + (GTK_CHECK_MENU_ITEM(w))); } static void trg_menu_bar_view_item_update(TrgPrefs * p, gchar * updatedKey, - gpointer data) + gpointer data) { gchar *key = - (gchar *) g_object_get_data(G_OBJECT(data), G_DATAKEY_CONF_KEY); + (gchar *) g_object_get_data(G_OBJECT(data), G_DATAKEY_CONF_KEY); if (!g_strcmp0(updatedKey, key)) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data), - trg_prefs_get_bool(p, key, - TRG_PREFS_GLOBAL)); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data), + trg_prefs_get_bool(p, key, + TRG_PREFS_GLOBAL)); } static GtkWidget *trg_menu_bar_view_item_new(TrgPrefs * prefs, gchar * key, - gchar * label, - GtkWidget * dependency) + gchar * label, + GtkWidget * dependency) { GtkWidget *w = gtk_check_menu_item_new_with_label(label); g_object_set_data_full(G_OBJECT(w), G_DATAKEY_CONF_KEY, g_strdup(key), - g_free); + g_free); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), - trg_prefs_get_bool(prefs, key, - TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, key, + TRG_PREFS_GLOBAL)); if (dependency) { - gtk_widget_set_sensitive(w, - gtk_check_menu_item_get_active - (GTK_CHECK_MENU_ITEM(dependency))); - g_signal_connect(dependency, "toggled", - G_CALLBACK(view_menu_bar_toggled_dependency_cb), - w); + gtk_widget_set_sensitive(w, + gtk_check_menu_item_get_active + (GTK_CHECK_MENU_ITEM(dependency))); + g_signal_connect(dependency, "toggled", + G_CALLBACK(view_menu_bar_toggled_dependency_cb), + w); } g_signal_connect(w, "toggled", - G_CALLBACK(view_menu_item_toggled_cb), prefs); + G_CALLBACK(view_menu_item_toggled_cb), prefs); g_signal_connect(prefs, "pref-changed", - G_CALLBACK(trg_menu_bar_view_item_update), w); + G_CALLBACK(trg_menu_bar_view_item_update), w); return w; } @@ -365,40 +365,40 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb) gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), viewMenu); priv->mb_view_states = - trg_menu_bar_view_item_new(priv->prefs, - TRG_PREFS_KEY_SHOW_STATE_SELECTOR, - _("State selector"), NULL); + trg_menu_bar_view_item_new(priv->prefs, + TRG_PREFS_KEY_SHOW_STATE_SELECTOR, + _("State selector"), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_states); priv->mb_directory_filters = - trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, - _("Directory filters"), - priv->mb_view_states); + trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, + _("Directory filters"), + priv->mb_view_states); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_directory_filters); + priv->mb_directory_filters); priv->mb_tracker_filters = - trg_menu_bar_view_item_new(priv->prefs, - TRG_PREFS_KEY_FILTER_TRACKERS, - _("Tracker filters"), - priv->mb_view_states); + trg_menu_bar_view_item_new(priv->prefs, + TRG_PREFS_KEY_FILTER_TRACKERS, + _("Tracker filters"), + priv->mb_view_states); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_tracker_filters); + priv->mb_tracker_filters); priv->mb_view_notebook = - trg_menu_bar_view_item_new(priv->prefs, - TRG_PREFS_KEY_SHOW_NOTEBOOK, - _("Torrent Details"), NULL); + trg_menu_bar_view_item_new(priv->prefs, + TRG_PREFS_KEY_SHOW_NOTEBOOK, + _("Torrent Details"), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - priv->mb_view_notebook); + priv->mb_view_notebook); priv->mb_view_graph = - trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_GRAPH, - _("Graph"), priv->mb_view_notebook); + trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_GRAPH, + _("Graph"), priv->mb_view_notebook); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_graph); priv->mb_view_stats = - gtk_menu_item_new_with_mnemonic(_("_Statistics")); + gtk_menu_item_new_with_mnemonic(_("_Statistics")); gtk_widget_set_sensitive(priv->mb_view_stats, FALSE); gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_stats); @@ -413,34 +413,34 @@ GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(opts), optsMenu); priv->mb_local_prefs = - trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), - _("_Local Preferences"), - GTK_STOCK_PREFERENCES, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), + _("_Local Preferences"), + GTK_STOCK_PREFERENCES, TRUE); priv->mb_remote_prefs = - trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), - _("_Remote Preferences"), - GTK_STOCK_NETWORK, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu), + _("_Remote Preferences"), + GTK_STOCK_NETWORK, FALSE); return opts; } static void trg_menu_bar_file_connect_item_new(TrgMainWindow * win, - GtkMenuShell * shell, - const gchar * text, - gboolean checked, - JsonObject * profile) + GtkMenuShell * shell, + const gchar * text, + gboolean checked, + JsonObject * profile) { GtkWidget *item = gtk_check_menu_item_new_with_label(text); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), checked); g_object_set_data(G_OBJECT(item), "profile", profile); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(connect_cb), - win); + win); gtk_menu_shell_append(shell, item); } GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow * win, - TrgPrefs * p) + TrgPrefs * p) { GtkWidget *menu = gtk_menu_new(); GList *profiles = json_array_get_elements(trg_prefs_get_profiles(p)); @@ -448,20 +448,20 @@ GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow * win, GList *li; for (li = profiles; li; li = g_list_next(li)) { - JsonObject *profile = json_node_get_object((JsonNode *) li->data); - const gchar *name_value; - - if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { - name_value = json_object_get_string_member(profile, - TRG_PREFS_KEY_PROFILE_NAME); - } else { - name_value = _(TRG_PROFILE_NAME_DEFAULT); - } - - trg_menu_bar_file_connect_item_new(win, GTK_MENU_SHELL(menu), - name_value, - profile == currentProfile, - profile); + JsonObject *profile = json_node_get_object((JsonNode *) li->data); + const gchar *name_value; + + if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { + name_value = json_object_get_string_member(profile, + TRG_PREFS_KEY_PROFILE_NAME); + } else { + name_value = _(TRG_PROFILE_NAME_DEFAULT); + } + + trg_menu_bar_file_connect_item_new(win, GTK_MENU_SHELL(menu), + name_value, + profile == currentProfile, + profile); } g_list_free(profiles); @@ -476,27 +476,27 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBarPrivate * priv) GtkWidget *fileMenu = gtk_menu_new(); GtkWidget *connectMenu = - trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); priv->mb_connect = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Connect"), - GTK_STOCK_CONNECT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Connect"), + GTK_STOCK_CONNECT, TRUE); gtk_menu_item_set_submenu(GTK_MENU_ITEM(priv->mb_connect), - connectMenu); + connectMenu); priv->mb_disconnect = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Disconnect"), - GTK_STOCK_DISCONNECT, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Disconnect"), + GTK_STOCK_DISCONNECT, FALSE); priv->mb_add = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Add"), - GTK_STOCK_ADD, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Add"), + GTK_STOCK_ADD, FALSE); priv->mb_add_url = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Add from _URL"), - GTK_STOCK_ADD, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Add from _URL"), + GTK_STOCK_ADD, FALSE); priv->mb_quit = - trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Quit"), - GTK_STOCK_QUIT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Quit"), + GTK_STOCK_QUIT, TRUE); gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), fileMenu); @@ -511,69 +511,69 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBarPrivate * priv) gtk_menu_item_set_submenu(GTK_MENU_ITEM(torrent), torrentMenu); priv->mb_props = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Properties"), GTK_STOCK_PROPERTIES, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Properties"), GTK_STOCK_PROPERTIES, + FALSE); priv->mb_resume = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Resume"), - GTK_STOCK_MEDIA_PLAY, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Resume"), + GTK_STOCK_MEDIA_PLAY, FALSE); priv->mb_pause = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause"), - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause"), + GTK_STOCK_MEDIA_PAUSE, FALSE); priv->mb_verify = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Verify"), - GTK_STOCK_REFRESH, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Verify"), + GTK_STOCK_REFRESH, FALSE); priv->mb_reannounce = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Re-_announce"), GTK_STOCK_REFRESH, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Re-_announce"), GTK_STOCK_REFRESH, FALSE); priv->mb_move = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Move"), - GTK_STOCK_HARDDISK, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Move"), + GTK_STOCK_HARDDISK, FALSE); priv->mb_remove = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("Remove"), - GTK_STOCK_REMOVE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("Remove"), + GTK_STOCK_REMOVE, FALSE); priv->mb_delete = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Remove and Delete"), GTK_STOCK_CLEAR, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Remove and Delete"), GTK_STOCK_CLEAR, + FALSE); priv->mb_queues_seperator = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(torrentMenu), - priv->mb_queues_seperator); + priv->mb_queues_seperator); priv->mb_start_now = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Start Now"), - GTK_STOCK_MEDIA_PLAY, - FALSE); + _("Start Now"), + GTK_STOCK_MEDIA_PLAY, + FALSE); priv->mb_up_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Move Up Queue"), - GTK_STOCK_GO_UP, FALSE); + _("Move Up Queue"), + GTK_STOCK_GO_UP, FALSE); priv->mb_down_queue = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Move Down Queue"), GTK_STOCK_GO_DOWN, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Move Down Queue"), GTK_STOCK_GO_DOWN, + FALSE); priv->mb_bottom_queue = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Bottom Of Queue"), GTK_STOCK_GOTO_BOTTOM, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("Bottom Of Queue"), GTK_STOCK_GOTO_BOTTOM, + FALSE); priv->mb_top_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("Top Of Queue"), - GTK_STOCK_GOTO_TOP, FALSE); + _("Top Of Queue"), + GTK_STOCK_GOTO_TOP, FALSE); gtk_menu_shell_append(GTK_MENU_SHELL(torrentMenu), - gtk_separator_menu_item_new()); + gtk_separator_menu_item_new()); priv->mb_resume_all = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), - _("_Resume All"), GTK_STOCK_MEDIA_PLAY, - FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), + _("_Resume All"), GTK_STOCK_MEDIA_PLAY, + FALSE); priv->mb_pause_all = - trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause All"), - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause All"), + GTK_STOCK_MEDIA_PAUSE, FALSE); return torrent; } @@ -589,8 +589,8 @@ GtkWidget *trg_menu_bar_help_menu_new(TrgMenuBar * menuBar) gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), help); priv->mb_about = - trg_menu_bar_item_new(GTK_MENU_SHELL(helpMenu), _("_About"), - GTK_STOCK_ABOUT, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(helpMenu), _("_About"), + GTK_STOCK_ABOUT, TRUE); return helpMenu; } @@ -599,9 +599,9 @@ static void menu_bar_refresh_menu(GtkWidget * w, gpointer data) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(data); GtkWidget *old = - gtk_menu_item_get_submenu(GTK_MENU_ITEM(priv->mb_connect)); + gtk_menu_item_get_submenu(GTK_MENU_ITEM(priv->mb_connect)); GtkWidget *new = - trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); gtk_widget_destroy(old); gtk_menu_item_set_submenu(GTK_MENU_ITEM(priv->mb_connect), new); @@ -609,32 +609,32 @@ static void menu_bar_refresh_menu(GtkWidget * w, gpointer data) } static GObject *trg_menu_bar_constructor(GType type, - guint n_construct_properties, - GObjectConstructParam * - construct_params) + guint n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgMenuBarPrivate *priv; object = G_OBJECT_CLASS - (trg_menu_bar_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_menu_bar_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_MENU_BAR_GET_PRIVATE(object); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_file_file_menu_new(priv)); + trg_menu_bar_file_file_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_torrent_menu_new(priv)); + trg_menu_bar_torrent_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_options_menu_new(priv)); + trg_menu_bar_options_menu_new(priv)); gtk_menu_shell_append(GTK_MENU_SHELL(object), - trg_menu_bar_view_menu_new(TRG_MENU_BAR - (object))); + trg_menu_bar_view_menu_new(TRG_MENU_BAR + (object))); trg_menu_bar_help_menu_new(TRG_MENU_BAR(object)); g_signal_connect(G_OBJECT(priv->prefs), "pref-profile-changed", - G_CALLBACK(menu_bar_refresh_menu), object); + G_CALLBACK(menu_bar_refresh_menu), object); return object; } @@ -649,105 +649,105 @@ static void trg_menu_bar_class_init(TrgMenuBarClass * klass) g_type_class_add_private(klass, sizeof(TrgMenuBarPrivate)); trg_menu_bar_install_widget_prop(object_class, PROP_CONNECT_BUTTON, - "connect-button", "Connect Button"); + "connect-button", "Connect Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_DISCONNECT_BUTTON, - "disconnect-button", - "Disconnect Button"); + PROP_DISCONNECT_BUTTON, + "disconnect-button", + "Disconnect Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ADD_BUTTON, - "add-button", "Add Button"); + "add-button", "Add Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ADD_URL_BUTTON, - "add-url-button", "Add URL Button"); + "add-url-button", "Add URL Button"); trg_menu_bar_install_widget_prop(object_class, PROP_REMOVE_BUTTON, - "remove-button", "Remove Button"); + "remove-button", "Remove Button"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_BUTTON, - "move-button", "Move Button"); + "move-button", "Move Button"); trg_menu_bar_install_widget_prop(object_class, PROP_DELETE_BUTTON, - "delete-button", "Delete Button"); + "delete-button", "Delete Button"); trg_menu_bar_install_widget_prop(object_class, PROP_RESUME_BUTTON, - "resume-button", "Resume Button"); + "resume-button", "Resume Button"); trg_menu_bar_install_widget_prop(object_class, PROP_RESUME_ALL_BUTTON, - "resume-all-button", - "Resume All Button"); + "resume-all-button", + "Resume All Button"); trg_menu_bar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, - "verify-button", "Verify Button"); + "verify-button", "Verify Button"); trg_menu_bar_install_widget_prop(object_class, PROP_REANNOUNCE_BUTTON, - "reannounce-button", - "Re-announce Button"); + "reannounce-button", + "Re-announce Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PAUSE_ALL_BUTTON, - "pause-all-button", - "Pause All Button"); + "pause-all-button", + "Pause All Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, - "pause-button", "Pause Button"); + "pause-button", "Pause Button"); trg_menu_bar_install_widget_prop(object_class, PROP_PROPS_BUTTON, - "props-button", "Props Button"); + "props-button", "Props Button"); trg_menu_bar_install_widget_prop(object_class, PROP_ABOUT_BUTTON, - "about-button", "About Button"); + "about-button", "About Button"); trg_menu_bar_install_widget_prop(object_class, PROP_VIEW_STATS_BUTTON, - "view-stats-button", - "View stats button"); + "view-stats-button", + "View stats button"); trg_menu_bar_install_widget_prop(object_class, PROP_VIEW_STATES_BUTTON, - "view-states-button", - "View states Button"); + "view-states-button", + "View states Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_VIEW_NOTEBOOK_BUTTON, - "view-notebook-button", - "View notebook Button"); + PROP_VIEW_NOTEBOOK_BUTTON, + "view-notebook-button", + "View notebook Button"); trg_menu_bar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, - "remote-prefs-button", - "Remote Prefs Button"); + PROP_REMOTE_PREFS_BUTTON, + "remote-prefs-button", + "Remote Prefs Button"); trg_menu_bar_install_widget_prop(object_class, PROP_LOCAL_PREFS_BUTTON, - "local-prefs-button", - "Local Prefs Button"); + "local-prefs-button", + "Local Prefs Button"); trg_menu_bar_install_widget_prop(object_class, PROP_QUIT, - "quit-button", "Quit Button"); + "quit-button", "Quit Button"); trg_menu_bar_install_widget_prop(object_class, PROP_DIR_FILTERS, - "dir-filters", "Dir Filters"); + "dir-filters", "Dir Filters"); trg_menu_bar_install_widget_prop(object_class, PROP_TRACKER_FILTERS, - "tracker-filters", "Tracker Filters"); + "tracker-filters", "Tracker Filters"); trg_menu_bar_install_widget_prop(object_class, PROP_VIEW_SHOW_GRAPH, - "show-graph", "Show Graph"); + "show-graph", "Show Graph"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_DOWN_QUEUE, - "down-queue", "Down Queue"); + "down-queue", "Down Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_UP_QUEUE, - "up-queue", "Up Queue"); + "up-queue", "Up Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_BOTTOM_QUEUE, - "bottom-queue", "Bottom Queue"); + "bottom-queue", "Bottom Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_MOVE_TOP_QUEUE, - "top-queue", "Top Queue"); + "top-queue", "Top Queue"); trg_menu_bar_install_widget_prop(object_class, PROP_START_NOW, - "start-now", "Start Now"); + "start-now", "Start Now"); g_object_class_install_property(object_class, - PROP_PREFS, - g_param_spec_object("prefs", - "prefs", - "Prefs", - TRG_TYPE_PREFS, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PREFS, + g_param_spec_object("prefs", + "prefs", + "Prefs", + TRG_TYPE_PREFS, + 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_MAIN_WINDOW, - g_param_spec_object("mainwin", - "mainwin", - "mainwin", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MAIN_WINDOW, + g_param_spec_object("mainwin", + "mainwin", + "mainwin", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } @@ -758,5 +758,5 @@ static void trg_menu_bar_init(TrgMenuBar * self) TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs) { return g_object_new(TRG_TYPE_MENU_BAR, - "prefs", prefs, "mainwin", win, NULL); + "prefs", prefs, "mainwin", win, NULL); } diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h index d8b73f0..d9538ce 100644 --- a/src/trg-menu-bar.h +++ b/src/trg-menu-bar.h @@ -50,16 +50,16 @@ GType trg_menu_bar_get_type(void); TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs); GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text, - const gchar * stock_id, - gboolean sensitive); + const gchar * stock_id, + gboolean sensitive); G_END_DECLS void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive); + gboolean sensitive); void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected); void trg_menu_bar_set_supports_queues(TrgMenuBar * mb, - gboolean supportsQueues); + gboolean supportsQueues); GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow * win, - TrgPrefs * p); + TrgPrefs * p); -#endif /* TRG_MENU_BAR_H_ */ +#endif /* TRG_MENU_BAR_H_ */ diff --git a/src/trg-model.c b/src/trg-model.c index 75c7016..e10c974 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -34,23 +34,23 @@ struct trg_model_remove_removed_foreachfunc_args { gboolean trg_model_remove_removed_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct trg_model_remove_removed_foreachfunc_args *args = - (struct trg_model_remove_removed_foreachfunc_args *) data; + (struct trg_model_remove_removed_foreachfunc_args *) data; gint64 rowSerial; gtk_tree_model_get(model, iter, args->serial_column, &rowSerial, -1); if (rowSerial != args->currentSerial) - args->toRemove = - g_list_append(args->toRemove, gtk_tree_iter_copy(iter)); + args->toRemove = + g_list_append(args->toRemove, gtk_tree_iter_copy(iter)); return FALSE; } guint trg_model_remove_removed(GtkListStore * model, gint serial_column, - gint64 currentSerial) + gint64 currentSerial) { struct trg_model_remove_removed_foreachfunc_args args; GList *li; @@ -60,15 +60,15 @@ trg_model_remove_removed(GtkListStore * model, gint serial_column, args.currentSerial = currentSerial; args.serial_column = serial_column; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_model_remove_removed_foreachfunc, &args); + trg_model_remove_removed_foreachfunc, &args); if (args.toRemove != NULL) { - for (li = g_list_last(args.toRemove); li != NULL; - li = g_list_previous(li)) { - gtk_list_store_remove(model, (GtkTreeIter *) li->data); - gtk_tree_iter_free((GtkTreeIter *) li->data); - removed++; - } - g_list_free(args.toRemove); + for (li = g_list_last(args.toRemove); li != NULL; + li = g_list_previous(li)) { + gtk_list_store_remove(model, (GtkTreeIter *) li->data); + gtk_tree_iter_free((GtkTreeIter *) li->data); + removed++; + } + g_list_free(args.toRemove); } return removed; @@ -83,17 +83,17 @@ struct find_existing_item_foreach_args { static gboolean find_existing_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct find_existing_item_foreach_args *args = - (struct find_existing_item_foreach_args *) data; + (struct find_existing_item_foreach_args *) data; gint64 currentId; gtk_tree_model_get(model, iter, args->search_column, ¤tId, -1); if (currentId == args->id) { - args->iter = iter; - return args->found = TRUE; + args->iter = iter; + return args->found = TRUE; } return FALSE; @@ -101,7 +101,7 @@ find_existing_item_foreachfunc(GtkTreeModel * model, gboolean find_existing_model_item(GtkTreeModel * model, gint search_column, - gint64 id, GtkTreeIter * iter) + gint64 id, GtkTreeIter * iter) { struct find_existing_item_foreach_args args; args.id = id; @@ -109,6 +109,6 @@ find_existing_model_item(GtkTreeModel * model, gint search_column, args.search_column = search_column; gtk_tree_model_foreach(model, find_existing_item_foreachfunc, &args); if (args.found == TRUE) - *iter = *(args.iter); + *iter = *(args.iter); return args.found; } diff --git a/src/trg-model.h b/src/trg-model.h index da92c2a..9059303 100644 --- a/src/trg-model.h +++ b/src/trg-model.h @@ -23,10 +23,10 @@ #include guint trg_model_remove_removed(GtkListStore * model, gint serial_column, - gint64 currentSerial); + gint64 currentSerial); gboolean find_existing_model_item(GtkTreeModel * model, gint search_column, - gint64 id, GtkTreeIter * iter); + gint64 id, GtkTreeIter * iter); -#endif /* TRG_MODEL_H_ */ +#endif /* TRG_MODEL_H_ */ diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index e97eb8b..507d4f9 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -50,7 +50,7 @@ struct _TrgPeersModelPrivate { #endif static void trg_peers_model_class_init(TrgPeersModelClass * - klass G_GNUC_UNUSED) + klass G_GNUC_UNUSED) { #ifdef HAVE_GEOIP g_type_class_add_private(klass, sizeof(TrgPeersModelPrivate)); @@ -58,41 +58,41 @@ static void trg_peers_model_class_init(TrgPeersModelClass * } gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { struct peerAndIter *pi = (struct peerAndIter *) data; gchar *ip; gtk_tree_model_get(model, iter, PEERSCOL_IP, &ip, -1); if (g_strcmp0(ip, pi->ip) == 0) { - pi->iter = *iter; - pi->found = TRUE; + pi->iter = *iter; + pi->found = TRUE; } g_free(ip); return pi->found; } gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, - GtkTreeIter * iter) + GtkTreeIter * iter) { struct peerAndIter pi; pi.ip = peer_get_address(p); pi.found = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - find_existing_peer_item_foreachfunc, &pi); + find_existing_peer_item_foreachfunc, &pi); if (pi.found == TRUE) - *iter = pi.iter; + *iter = pi.iter; return pi.found; } static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, - gpointer data) + gpointer data) { GtkTreeRowReference *treeRef; GtkTreeModel *model; @@ -103,36 +103,36 @@ static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, path = gtk_tree_row_reference_get_path(treeRef); if (path != NULL) { - gchar *rdns = - g_resolver_lookup_by_address_finish(G_RESOLVER(source_object), - res, NULL); - if (rdns != NULL) { - GtkTreeIter iter; - if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { - gdk_threads_enter(); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, - PEERSCOL_HOST, rdns, -1); - gdk_threads_leave(); - } - g_free(rdns); - } - gtk_tree_path_free(path); + gchar *rdns = + g_resolver_lookup_by_address_finish(G_RESOLVER(source_object), + res, NULL); + if (rdns != NULL) { + GtkTreeIter iter; + if (gtk_tree_model_get_iter(model, &iter, path) == TRUE) { + gdk_threads_enter(); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + PEERSCOL_HOST, rdns, -1); + gdk_threads_leave(); + } + g_free(rdns); + } + gtk_tree_path_free(path); } gtk_tree_row_reference_free(treeRef); } void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, - gint64 updateSerial, JsonObject * t, gint mode) + gint64 updateSerial, JsonObject * t, gint mode) { #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); gboolean doGeoLookup = - trg_tree_view_is_column_showing(tv, PEERSCOL_COUNTRY); + trg_tree_view_is_column_showing(tv, PEERSCOL_COUNTRY); #endif gboolean doHostLookup = - trg_tree_view_is_column_showing(tv, PEERSCOL_HOST); + trg_tree_view_is_column_showing(tv, PEERSCOL_HOST); JsonArray *peers; GtkTreeIter peerIter; GList *li, *peersList; @@ -141,79 +141,79 @@ void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, peers = torrent_get_peers(t); if (mode == TORRENT_GET_MODE_FIRST) - gtk_list_store_clear(GTK_LIST_STORE(model)); + gtk_list_store_clear(GTK_LIST_STORE(model)); peersList = json_array_get_elements(peers); for (li = peersList; li; li = g_list_next(li)) { - JsonObject *peer = json_node_get_object((JsonNode *) li->data); - const gchar *address = NULL, *flagStr; + JsonObject *peer = json_node_get_object((JsonNode *) li->data); + const gchar *address = NULL, *flagStr; #ifdef HAVE_GEOIP - const gchar *country = NULL; + const gchar *country = NULL; #endif - if (mode == TORRENT_GET_MODE_FIRST - || find_existing_peer_item(model, peer, &peerIter) == FALSE) { - gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); + if (mode == TORRENT_GET_MODE_FIRST + || find_existing_peer_item(model, peer, &peerIter) == FALSE) { + gtk_list_store_append(GTK_LIST_STORE(model), &peerIter); - address = peer_get_address(peer); + address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (address && doGeoLookup) { // just in case address wasn't set - if (strchr(address, ':') && priv->geoipv6) - country = - GeoIP_country_name_by_addr_v6(priv->geoipv6, - address); - else if (priv->geoip) - country = - GeoIP_country_name_by_addr(priv->geoip, address); - } + if (address && doGeoLookup) { // just in case address wasn't set + if (strchr(address, ':') && priv->geoipv6) + country = + GeoIP_country_name_by_addr_v6(priv->geoipv6, + address); + else if (priv->geoip) + country = + GeoIP_country_name_by_addr(priv->geoip, address); + } #endif - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_ICON, GTK_STOCK_NETWORK, - PEERSCOL_IP, address, + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_ICON, GTK_STOCK_NETWORK, + PEERSCOL_IP, address, #ifdef HAVE_GEOIP - PEERSCOL_COUNTRY, country ? country : "", + PEERSCOL_COUNTRY, country ? country : "", #endif - PEERSCOL_CLIENT, peer_get_client_name(peer), - -1); - - isNew = TRUE; - } else { - isNew = FALSE; - } - - flagStr = peer_get_flagstr(peer); - gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, - PEERSCOL_FLAGS, flagStr, PEERSCOL_PROGRESS, - peer_get_progress(peer), PEERSCOL_DOWNSPEED, - peer_get_rate_to_client(peer), PEERSCOL_UPSPEED, - peer_get_rate_to_peer(peer), - PEERSCOL_UPDATESERIAL, updateSerial, -1); - - if (doHostLookup && isNew == TRUE) { - GtkTreePath *path = - gtk_tree_model_get_path(GTK_TREE_MODEL(model), - &peerIter); - GtkTreeRowReference *treeRef = - gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); - GInetAddress *inetAddr; - GResolver *resolver; - - gtk_tree_path_free(path); - - inetAddr = g_inet_address_new_from_string(address); - resolver = g_resolver_get_default(); - g_resolver_lookup_by_address_async(resolver, inetAddr, NULL, - resolved_dns_cb, treeRef); - g_object_unref(resolver); - g_object_unref(inetAddr); - } + PEERSCOL_CLIENT, peer_get_client_name(peer), + -1); + + isNew = TRUE; + } else { + isNew = FALSE; + } + + flagStr = peer_get_flagstr(peer); + gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, + PEERSCOL_FLAGS, flagStr, PEERSCOL_PROGRESS, + peer_get_progress(peer), PEERSCOL_DOWNSPEED, + peer_get_rate_to_client(peer), PEERSCOL_UPSPEED, + peer_get_rate_to_peer(peer), + PEERSCOL_UPDATESERIAL, updateSerial, -1); + + if (doHostLookup && isNew == TRUE) { + GtkTreePath *path = + gtk_tree_model_get_path(GTK_TREE_MODEL(model), + &peerIter); + GtkTreeRowReference *treeRef = + gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); + GInetAddress *inetAddr; + GResolver *resolver; + + gtk_tree_path_free(path); + + inetAddr = g_inet_address_new_from_string(address); + resolver = g_resolver_get_default(); + g_resolver_lookup_by_address_async(resolver, inetAddr, NULL, + resolved_dns_cb, treeRef); + g_object_unref(resolver); + g_object_unref(inetAddr); + } } g_list_free(peersList); if (mode != TORRENT_GET_MODE_FIRST) - trg_model_remove_removed(GTK_LIST_STORE(model), - PEERSCOL_UPDATESERIAL, updateSerial); + trg_model_remove_removed(GTK_LIST_STORE(model), + PEERSCOL_UPDATESERIAL, updateSerial); } static void trg_peers_model_init(TrgPeersModel * self) @@ -238,15 +238,15 @@ static void trg_peers_model_init(TrgPeersModel * self) column_types[PEERSCOL_UPDATESERIAL] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), PEERSCOL_COLUMNS, - column_types); + column_types); #ifdef HAVE_GEOIP if (g_file_test(TRG_GEOIP_DATABASE, G_FILE_TEST_EXISTS) == TRUE) - priv->geoip = GeoIP_open(TRG_GEOIP_DATABASE, - GEOIP_STANDARD | GEOIP_CHECK_CACHE); + priv->geoip = GeoIP_open(TRG_GEOIP_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); if (g_file_test(TRG_GEOIPV6_DATABASE, G_FILE_TEST_EXISTS) == TRUE) - priv->geoipv6 = GeoIP_open(TRG_GEOIPV6_DATABASE, - GEOIP_STANDARD | GEOIP_CHECK_CACHE); + priv->geoipv6 = GeoIP_open(TRG_GEOIPV6_DATABASE, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); #endif } diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 59e9476..d9cf885 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -81,10 +81,10 @@ enum { }; void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, - gint64 updateSerial, JsonObject * t, - gboolean first); + gint64 updateSerial, JsonObject * t, + gboolean first); -#endif /* TRG_PEERS_MODEL_H_ */ +#endif /* TRG_PEERS_MODEL_H_ */ #define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" #define TRG_GEOIPV6_DATABASE "/usr/share/GeoIP/GeoIPv6.dat" diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 9d8381b..ab86d69 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -47,33 +47,33 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, - PEERSCOL_IP, _("IP"), "ip", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, + PEERSCOL_IP, _("IP"), "ip", 0); desc->model_column_icon = PEERSCOL_ICON; trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_HOST, - _("Host"), "host", 0); + _("Host"), "host", 0); #ifdef HAVE_GEOIP trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, - _("Country"), "country", 0); + _("Country"), "country", 0); #endif trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_DOWNSPEED, - _("Down Speed"), "down-speed", 0); + _("Down Speed"), "down-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_UPSPEED, - _("Up Speed"), "up-speed", 0); + _("Up Speed"), "up-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, PEERSCOL_PROGRESS, - _("Progress"), "progress", 0); + _("Progress"), "progress", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_FLAGS, - _("Flags"), "flags", 0); + _("Flags"), "flags", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CLIENT, - _("Client"), "client", 0); + _("Client"), "client", 0); gtk_tree_view_set_search_column(GTK_TREE_VIEW(self), PEERSCOL_HOST); } TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, - TrgPeersModel * model) + TrgPeersModel * model) { GObject *obj = g_object_new(TRG_TYPE_PEERS_TREE_VIEW, NULL); trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), prefs); diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index 72d4261..989d172 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -50,7 +50,7 @@ typedef struct { GType trg_peers_tree_view_get_type(void); TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, - TrgPeersModel * model); + TrgPeersModel * model); G_END_DECLS -#endif /* TRG_PEERS_TREE_VIEW_H_ */ +#endif /* TRG_PEERS_TREE_VIEW_H_ */ diff --git a/src/trg-persistent-tree-view.c b/src/trg-persistent-tree-view.c index dad8b37..9943fc3 100644 --- a/src/trg-persistent-tree-view.c +++ b/src/trg-persistent-tree-view.c @@ -30,7 +30,7 @@ */ G_DEFINE_TYPE(TrgPersistentTreeView, trg_persistent_tree_view, - GTK_TYPE_VBOX) + GTK_TYPE_VBOX) #define GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewPrivate)) typedef struct _TrgPersistentTreeViewPrivate TrgPersistentTreeViewPrivate; @@ -56,24 +56,24 @@ static void selection_changed(GtkTreeSelection * selection, gpointer data) TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); if (gtk_tree_selection_get_selected(selection, NULL, NULL)) - gtk_widget_set_sensitive(priv->delButton, TRUE); + gtk_widget_set_sensitive(priv->delButton, TRUE); else - gtk_widget_set_sensitive(priv->delButton, FALSE); + gtk_widget_set_sensitive(priv->delButton, FALSE); } static void trg_persistent_tree_view_edit(GtkCellRendererText * renderer, - gchar * path, gchar * new_text, - gpointer user_data) + gchar * path, gchar * new_text, + gpointer user_data) { trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column *) user_data; + (trg_persistent_tree_view_column *) user_data; TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(cd->tv); GtkTreeModel *model = gtk_tree_view_get_model(priv->tv); GtkTreeIter iter; gtk_tree_model_get_iter_from_string(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, cd->index, new_text, - -1); + -1); } static void trg_persistent_tree_view_refresh(TrgPrefs * prefs, void *wdp) @@ -81,7 +81,7 @@ static void trg_persistent_tree_view_refresh(TrgPrefs * prefs, void *wdp) trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(wd->widget); GtkListStore *model = - GTK_LIST_STORE(gtk_tree_view_get_model(priv->tv)); + GTK_LIST_STORE(gtk_tree_view_get_model(priv->tv)); GtkTreeIter iter; JsonArray *ja; GList *ja_list, *li; @@ -92,33 +92,33 @@ static void trg_persistent_tree_view_refresh(TrgPrefs * prefs, void *wdp) gtk_list_store_clear(model); if (!ja) - return; + return; ja_list = json_array_get_elements(ja); for (li = ja_list; li; li = g_list_next(li)) { - JsonNode *ja_node = (JsonNode *) li->data; - JsonObject *jobj = json_node_get_object(ja_node); - gtk_list_store_append(model, &iter); - for (sli = priv->columns; sli; sli = g_slist_next(sli)) { - trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column *) sli->data; - gtk_list_store_set(model, &iter, cd->index, - json_object_get_string_member(jobj, - cd->key), -1); - } + JsonNode *ja_node = (JsonNode *) li->data; + JsonObject *jobj = json_node_get_object(ja_node); + gtk_list_store_append(model, &iter); + for (sli = priv->columns; sli; sli = g_slist_next(sli)) { + trg_persistent_tree_view_column *cd = + (trg_persistent_tree_view_column *) sli->data; + gtk_list_store_set(model, &iter, cd->index, + json_object_get_string_member(jobj, + cd->key), -1); + } } g_list_free(ja_list); } static gboolean trg_persistent_tree_view_save_foreachfunc(GtkTreeModel * - model, - GtkTreePath * - path, - GtkTreeIter * - iter, - gpointer data) + model, + GtkTreePath * + path, + GtkTreeIter * + iter, + gpointer data) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); JsonObject *new = json_object_new(); @@ -126,11 +126,11 @@ static gboolean trg_persistent_tree_view_save_foreachfunc(GtkTreeModel * GSList *li; for (li = priv->columns; li; li = g_slist_next(li)) { - trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column *) li->data; - gtk_tree_model_get(model, iter, cd->index, &value, -1); - json_object_set_string_member(new, cd->key, value); - g_free(value); + trg_persistent_tree_view_column *cd = + (trg_persistent_tree_view_column *) li->data; + gtk_tree_model_get(model, iter, cd->index, &value, -1); + json_object_set_string_member(new, cd->key, value); + g_free(value); } json_array_add_object_element(priv->ja, new); @@ -145,27 +145,27 @@ static void trg_persistent_tree_view_save(TrgPrefs * prefs, void *wdp) GtkTreeModel *model = gtk_tree_view_get_model(priv->tv); JsonNode *node = trg_prefs_get_value(prefs, wd->key, JSON_NODE_ARRAY, - wd-> - flags | TRG_PREFS_REPLACENODE); + wd->flags | + TRG_PREFS_REPLACENODE); priv->ja = json_array_new(); gtk_tree_model_foreach(model, - trg_persistent_tree_view_save_foreachfunc, - wd->widget); + trg_persistent_tree_view_save_foreachfunc, + wd->widget); json_node_take_array(node, priv->ja); trg_prefs_changed_emit_signal(prefs, wd->key); } trg_persistent_tree_view_column - *trg_persistent_tree_view_add_column(TrgPersistentTreeView * ptv, - gint index, const gchar * key, - const gchar * label) + * trg_persistent_tree_view_add_column(TrgPersistentTreeView * ptv, + gint index, const gchar * key, + const gchar * label) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); trg_persistent_tree_view_column *cd = - g_new0(trg_persistent_tree_view_column, 1); + g_new0(trg_persistent_tree_view_column, 1); GtkCellRenderer *renderer; cd->key = g_strdup(key); @@ -176,10 +176,10 @@ trg_persistent_tree_view_column renderer = gtk_cell_renderer_text_new(); g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL); g_signal_connect(renderer, "edited", - G_CALLBACK(trg_persistent_tree_view_edit), cd); + G_CALLBACK(trg_persistent_tree_view_edit), cd); cd->column = gtk_tree_view_column_new_with_attributes(cd->label, - renderer, "text", - cd->index, NULL); + renderer, "text", + cd->index, NULL); gtk_tree_view_column_set_resizable(cd->column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(priv->tv), cd->column); @@ -189,8 +189,8 @@ trg_persistent_tree_view_column } static GtkTreeView - *trg_persistent_tree_view_tree_view_new(TrgPersistentTreeView * ptv, - GtkTreeModel * model) + * trg_persistent_tree_view_tree_view_new(TrgPersistentTreeView * ptv, + GtkTreeModel * model) { GtkTreeView *tv = GTK_TREE_VIEW(gtk_tree_view_new_with_model(model)); GtkTreeSelection *selection; @@ -202,7 +202,7 @@ static GtkTreeView selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); g_signal_connect(G_OBJECT(selection), "changed", - G_CALLBACK(selection_changed), ptv); + G_CALLBACK(selection_changed), ptv); return tv; } @@ -218,8 +218,8 @@ static void trg_persistent_tree_view_add_cb(GtkWidget * w, gpointer data) path = gtk_tree_model_get_path(model, &iter); if (priv->addSelect) - gtk_tree_view_set_cursor(priv->tv, path, priv->addSelect->column, - TRUE); + gtk_tree_view_set_cursor(priv->tv, path, priv->addSelect->column, + TRUE); gtk_tree_path_free(path); } @@ -232,40 +232,40 @@ static void trg_persistent_tree_view_del_cb(GtkWidget * w, gpointer data) GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, &model, &iter)) - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } static void trg_persistent_tree_view_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, + GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_persistent_tree_view_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(object); switch (property_id) { case PROP_PREFS: - priv->prefs = g_value_get_object(value); - break; + priv->prefs = g_value_get_object(value); + break; case PROP_KEY: - priv->key = g_value_get_pointer(value); - break; + priv->key = g_value_get_pointer(value); + break; case PROP_MODEL: - priv->model = g_value_get_object(value); - break; + priv->model = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -274,72 +274,72 @@ static void trg_persistent_tree_view_finalize(GObject * object) TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(object); GSList *li; for (li = priv->columns; li; li = g_slist_next(li)) { - trg_persistent_tree_view_column *cd = - (trg_persistent_tree_view_column *) li->data; - g_free(cd->key); - g_free(cd->label); - g_free(cd); + trg_persistent_tree_view_column *cd = + (trg_persistent_tree_view_column *) li->data; + g_free(cd->key); + g_free(cd->label); + g_free(cd); } g_slist_free(priv->columns); g_free(priv->key); - G_OBJECT_CLASS(trg_persistent_tree_view_parent_class)-> - finalize(object); + G_OBJECT_CLASS(trg_persistent_tree_view_parent_class)->finalize + (object); } trg_pref_widget_desc - *trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView * ptv) + * trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView * ptv) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); return priv->wd; } void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView * ptv, - trg_persistent_tree_view_column - * cd) + trg_persistent_tree_view_column + * cd) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); priv->addSelect = cd; } static GObject *trg_persistent_tree_view_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object; TrgPersistentTreeViewPrivate *priv; GtkWidget *hbox, *w; object = G_OBJECT_CLASS - (trg_persistent_tree_view_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_persistent_tree_view_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = GET_PRIVATE(object); hbox = gtk_hbox_new(FALSE, 0); w = gtk_button_new_from_stock(GTK_STOCK_ADD); g_signal_connect(w, "clicked", - G_CALLBACK(trg_persistent_tree_view_add_cb), object); + G_CALLBACK(trg_persistent_tree_view_add_cb), object); gtk_box_pack_start(GTK_BOX(hbox), w, FALSE, FALSE, 4); w = priv->delButton = gtk_button_new_from_stock(GTK_STOCK_DELETE); gtk_widget_set_sensitive(w, FALSE); g_signal_connect(w, "clicked", - G_CALLBACK(trg_persistent_tree_view_del_cb), object); + G_CALLBACK(trg_persistent_tree_view_del_cb), object); gtk_box_pack_start(GTK_BOX(hbox), w, FALSE, FALSE, 4); priv->tv = - trg_persistent_tree_view_tree_view_new(TRG_PERSISTENT_TREE_VIEW - (object), priv->model); + trg_persistent_tree_view_tree_view_new(TRG_PERSISTENT_TREE_VIEW + (object), priv->model); gtk_box_pack_start(GTK_BOX(object), - my_scrolledwin_new(GTK_WIDGET(priv->tv)), TRUE, - TRUE, 4); + my_scrolledwin_new(GTK_WIDGET(priv->tv)), TRUE, + TRUE, 4); gtk_box_pack_start(GTK_BOX(object), hbox, FALSE, FALSE, 4); priv->wd = trg_pref_widget_desc_new(GTK_WIDGET(priv->tv), priv->key, - TRG_PREFS_PROFILE); + TRG_PREFS_PROFILE); priv->wd->widget = GTK_WIDGET(object); priv->wd->saveFunc = &trg_persistent_tree_view_save; priv->wd->refreshFunc = &trg_persistent_tree_view_refresh; @@ -348,7 +348,7 @@ static GObject *trg_persistent_tree_view_constructor(GType type, } static void trg_persistent_tree_view_class_init(TrgPersistentTreeViewClass - * klass) + * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); @@ -360,49 +360,49 @@ static void trg_persistent_tree_view_class_init(TrgPersistentTreeViewClass object_class->constructor = trg_persistent_tree_view_constructor; g_object_class_install_property(object_class, - PROP_KEY, - g_param_spec_pointer("conf-key", - "Conf Key", - "Conf Key", - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_KEY, + g_param_spec_pointer("conf-key", + "Conf Key", + "Conf Key", + 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_PREFS, - g_param_spec_object("prefs", - "Prefs", - "Prefs", - TRG_TYPE_PREFS, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PREFS, + g_param_spec_object("prefs", + "Prefs", + "Prefs", + TRG_TYPE_PREFS, + 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_MODEL, - g_param_spec_object("persistent-model", - "Persistent Model", - "Persistent Model", - GTK_TYPE_LIST_STORE, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MODEL, + g_param_spec_object("persistent-model", + "Persistent Model", + "Persistent Model", + GTK_TYPE_LIST_STORE, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } static void trg_persistent_tree_view_init(TrgPersistentTreeView * self) @@ -410,13 +410,13 @@ static void trg_persistent_tree_view_init(TrgPersistentTreeView * self) } TrgPersistentTreeView *trg_persistent_tree_view_new(TrgPrefs * prefs, - GtkListStore * model, - const gchar * key) + GtkListStore * model, + const gchar * key) { GObject *obj = - g_object_new(TRG_TYPE_PERSISTENT_TREE_VIEW, "prefs", prefs, - "conf-key", g_strdup(key), "persistent-model", model, - NULL); + g_object_new(TRG_TYPE_PERSISTENT_TREE_VIEW, "prefs", prefs, + "conf-key", g_strdup(key), "persistent-model", model, + NULL); return TRG_PERSISTENT_TREE_VIEW(obj); } diff --git a/src/trg-persistent-tree-view.h b/src/trg-persistent-tree-view.h index 71d80c5..d56f502 100644 --- a/src/trg-persistent-tree-view.h +++ b/src/trg-persistent-tree-view.h @@ -56,20 +56,21 @@ typedef struct { } trg_persistent_tree_view_column; TrgPersistentTreeView *trg_persistent_tree_view_new(TrgPrefs * prefs, - GtkListStore * model, - const gchar * key); + GtkListStore * model, + const gchar * key); trg_pref_widget_desc - *trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView * ptv); + * trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView * + ptv); void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView * ptv, - trg_persistent_tree_view_column - * cd); + trg_persistent_tree_view_column + * cd); trg_persistent_tree_view_column - *trg_persistent_tree_view_add_column(TrgPersistentTreeView * ptv, - gint index, const gchar * key, - const gchar * label); + * trg_persistent_tree_view_add_column(TrgPersistentTreeView * ptv, + gint index, const gchar * key, + const gchar * label); G_END_DECLS -#endif /* _TRG_PERSISTENT_TREE_VIEW */ +#endif /* _TRG_PERSISTENT_TREE_VIEW */ diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index d9d79ed..50ceaaa 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -46,7 +46,7 @@ (G_TYPE_INSTANCE_GET_PRIVATE ((object), TRG_TYPE_PREFERENCES_DIALOG, TrgPreferencesDialogPrivate)) G_DEFINE_TYPE(TrgPreferencesDialog, trg_preferences_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) enum { PROP_0, PROP_TRG_CLIENT, PROP_MAIN_WINDOW @@ -72,7 +72,7 @@ static void trg_pref_widget_desc_free(trg_pref_widget_desc * wd) } trg_pref_widget_desc *trg_pref_widget_desc_new(GtkWidget * w, gchar * key, - int flags) + int flags) { trg_pref_widget_desc *desc = g_new0(trg_pref_widget_desc, 1); desc->widget = w; @@ -82,10 +82,10 @@ trg_pref_widget_desc *trg_pref_widget_desc_new(GtkWidget * w, gchar * key, } static void trg_pref_widget_refresh(TrgPreferencesDialog * dlg, - trg_pref_widget_desc * wd) + trg_pref_widget_desc * wd) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); wd->refreshFunc(priv->prefs, wd); } @@ -93,18 +93,18 @@ static void trg_pref_widget_refresh(TrgPreferencesDialog * dlg, static void trg_pref_widget_refresh_all(TrgPreferencesDialog * dlg) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GList *li; for (li = priv->widgets; li; li = g_list_next(li)) - trg_pref_widget_refresh(dlg, (trg_pref_widget_desc *) li->data); + trg_pref_widget_refresh(dlg, (trg_pref_widget_desc *) li->data); } static void trg_pref_widget_save(TrgPreferencesDialog * dlg, - trg_pref_widget_desc * wd) + trg_pref_widget_desc * wd) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); wd->saveFunc(priv->prefs, wd); } @@ -112,56 +112,56 @@ static void trg_pref_widget_save(TrgPreferencesDialog * dlg, static void trg_pref_widget_save_all(TrgPreferencesDialog * dlg) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GList *li; if (trg_prefs_get_profile(priv->prefs) == NULL) - return; + return; trg_client_configlock(priv->client); for (li = priv->widgets; li; li = g_list_next(li)) { - trg_pref_widget_desc *wd = (trg_pref_widget_desc *) li->data; - trg_pref_widget_save(dlg, wd); + trg_pref_widget_desc *wd = (trg_pref_widget_desc *) li->data; + trg_pref_widget_save(dlg, wd); } trg_client_configunlock(priv->client); } static void trg_preferences_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * - pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * + pspec G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_MAIN_WINDOW: - priv->win = g_value_get_object(value); - break; + priv->win = g_value_get_object(value); + break; case PROP_TRG_CLIENT: - priv->client = g_value_get_pointer(value); - priv->prefs = trg_client_get_prefs(priv->client); - break; + priv->client = g_value_get_pointer(value); + priv->prefs = trg_client_get_prefs(priv->client); + break; } } static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_OK) { - trg_pref_widget_save_all(TRG_PREFERENCES_DIALOG(dlg)); - trg_prefs_save(priv->prefs); + trg_pref_widget_save_all(TRG_PREFERENCES_DIALOG(dlg)); + trg_prefs_save(priv->prefs); } trg_main_window_reload_dir_aliases(priv->win); GList *li; for (li = priv->widgets; li; li = g_list_next(li)) - trg_pref_widget_desc_free((trg_pref_widget_desc *) li->data); + trg_pref_widget_desc_free((trg_pref_widget_desc *) li->data); g_list_free(priv->widgets); gtk_widget_destroy(GTK_WIDGET(dlg)); @@ -169,21 +169,21 @@ static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, } static void trg_preferences_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * - pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * + pspec G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_MAIN_WINDOW: - g_value_set_object(value, priv->win); - break; + g_value_set_object(value, priv->win); + break; case PROP_TRG_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; } } @@ -192,10 +192,10 @@ static void entry_refresh(TrgPrefs * prefs, void *wdp) trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; gchar *value = trg_prefs_get_string(prefs, wd->key, wd->flags); if (value) { - gtk_entry_set_text(GTK_ENTRY(wd->widget), value); - g_free(value); + gtk_entry_set_text(GTK_ENTRY(wd->widget), value); + g_free(value); } else { - gtk_entry_set_text(GTK_ENTRY(wd->widget), ""); + gtk_entry_set_text(GTK_ENTRY(wd->widget), ""); } } @@ -203,15 +203,15 @@ static void entry_save(TrgPrefs * prefs, void *wdp) { trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; trg_prefs_set_string(prefs, wd->key, - gtk_entry_get_text(GTK_ENTRY(wd->widget)), - wd->flags); + gtk_entry_get_text(GTK_ENTRY(wd->widget)), + wd->flags); } static GtkWidget *trgp_entry_new(TrgPreferencesDialog * dlg, gchar * key, - int flags) + int flags) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *w; w = gtk_entry_new(); @@ -238,23 +238,23 @@ static void check_save(TrgPrefs * prefs, void *wdp) { trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; trg_prefs_set_bool(prefs, wd->key, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (wd->widget)), - wd->flags); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (wd->widget)), + wd->flags); } static void trgp_toggle_dependent(GtkToggleButton * b, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_toggle_button_get_active(b)); + gtk_toggle_button_get_active(b)); } static GtkWidget *trgp_check_new(TrgPreferencesDialog * dlg, - const char *mnemonic, gchar * key, - int flags, GtkToggleButton * dependency) + const char *mnemonic, gchar * key, + int flags, GtkToggleButton * dependency) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic); @@ -264,10 +264,10 @@ static GtkWidget *trgp_check_new(TrgPreferencesDialog * dlg, check_refresh(priv->prefs, wd); if (dependency) { - g_signal_connect(dependency, "toggled", - G_CALLBACK(trgp_toggle_dependent), w); - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(dependency)); + g_signal_connect(dependency, "toggled", + G_CALLBACK(trgp_toggle_dependent), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active(dependency)); } priv->widgets = g_list_append(priv->widgets, wd); @@ -288,17 +288,17 @@ static void spin_save(TrgPrefs * prefs, void *wdp) { trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; trg_prefs_set_int(prefs, wd->key, - gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON - (wd->widget)), - wd->flags); + gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON + (wd->widget)), + wd->flags); } static GtkWidget *trgp_spin_new(TrgPreferencesDialog * dlg, gchar * key, - int low, int high, int step, int flags, - GtkToggleButton * dependency) + int low, int high, int step, int flags, + GtkToggleButton * dependency) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *w; w = gtk_spin_button_new_with_range(low, high, step); @@ -310,10 +310,10 @@ static GtkWidget *trgp_spin_new(TrgPreferencesDialog * dlg, gchar * key, wd->refreshFunc = &spin_refresh; if (dependency) { - g_signal_connect(dependency, "toggled", - G_CALLBACK(trgp_toggle_dependent), w); - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(dependency)); + g_signal_connect(dependency, "toggled", + G_CALLBACK(trgp_toggle_dependent), w); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active(dependency)); } spin_refresh(priv->prefs, wd); @@ -325,56 +325,56 @@ static GtkWidget *trgp_spin_new(TrgPreferencesDialog * dlg, gchar * key, static void toggle_filter_trackers(GtkToggleButton * w, gpointer win) { TrgStateSelector *selector = - trg_main_window_get_state_selector(TRG_MAIN_WINDOW(win)); + trg_main_window_get_state_selector(TRG_MAIN_WINDOW(win)); trg_state_selector_set_show_trackers(selector, - gtk_toggle_button_get_active(w)); + gtk_toggle_button_get_active(w)); } #ifndef TRG_NO_GRAPH static void toggle_graph(GtkToggleButton * w, gpointer win) { if (gtk_toggle_button_get_active(w)) - trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE); + trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE); else - trg_main_window_remove_graph(TRG_MAIN_WINDOW(win)); + trg_main_window_remove_graph(TRG_MAIN_WINDOW(win)); } #endif static void toggle_tray_icon(GtkToggleButton * w, gpointer win) { if (gtk_toggle_button_get_active(w)) - trg_main_window_add_status_icon(TRG_MAIN_WINDOW(win)); + trg_main_window_add_status_icon(TRG_MAIN_WINDOW(win)); else - trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win)); + trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win)); } static void menu_bar_toggle_filter_dirs(GtkToggleButton * w, gpointer win) { TrgStateSelector *selector = - trg_main_window_get_state_selector(TRG_MAIN_WINDOW(win)); + trg_main_window_get_state_selector(TRG_MAIN_WINDOW(win)); trg_state_selector_set_show_dirs(selector, - gtk_toggle_button_get_active(w)); + gtk_toggle_button_get_active(w)); } static void view_states_toggled_cb(GtkToggleButton * w, gpointer data) { GtkWidget *scroll = - gtk_widget_get_parent(GTK_WIDGET - (trg_main_window_get_state_selector - (TRG_MAIN_WINDOW(data)))); + gtk_widget_get_parent(GTK_WIDGET + (trg_main_window_get_state_selector + (TRG_MAIN_WINDOW(data)))); trg_widget_set_visible(scroll, gtk_toggle_button_get_active(w)); } static void notebook_toggled_cb(GtkToggleButton * b, gpointer data) { trg_main_window_notebook_set_visible(TRG_MAIN_WINDOW(data), - gtk_toggle_button_get_active(b)); + gtk_toggle_button_get_active(b)); } static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog * dlg) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *tray, *w, *dep, *t; gint row = 0; @@ -384,68 +384,68 @@ static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog * dlg) hig_workarea_add_section_title(t, &row, _("Features")); dep = w = trgp_check_new(dlg, _("State selector"), - TRG_PREFS_KEY_SHOW_STATE_SELECTOR, - TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_SHOW_STATE_SELECTOR, + TRG_PREFS_GLOBAL, NULL); g_signal_connect(G_OBJECT(w), "toggled", - G_CALLBACK(view_states_toggled_cb), priv->win); + G_CALLBACK(view_states_toggled_cb), priv->win); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Directory filters"), - TRG_PREFS_KEY_FILTER_DIRS, TRG_PREFS_GLOBAL, - GTK_TOGGLE_BUTTON(dep)); + TRG_PREFS_KEY_FILTER_DIRS, TRG_PREFS_GLOBAL, + GTK_TOGGLE_BUTTON(dep)); g_signal_connect(G_OBJECT(w), "toggled", - G_CALLBACK(menu_bar_toggle_filter_dirs), priv->win); + G_CALLBACK(menu_bar_toggle_filter_dirs), priv->win); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Tracker filters"), - TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL, - GTK_TOGGLE_BUTTON(dep)); + TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL, + GTK_TOGGLE_BUTTON(dep)); g_signal_connect(G_OBJECT(w), "toggled", - G_CALLBACK(toggle_filter_trackers), priv->win); + G_CALLBACK(toggle_filter_trackers), priv->win); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Torrent Details"), - TRG_PREFS_KEY_SHOW_NOTEBOOK, TRG_PREFS_GLOBAL, - NULL); + TRG_PREFS_KEY_SHOW_NOTEBOOK, TRG_PREFS_GLOBAL, + NULL); g_signal_connect(G_OBJECT(w), "toggled", - G_CALLBACK(notebook_toggled_cb), priv->win); + G_CALLBACK(notebook_toggled_cb), priv->win); hig_workarea_add_wide_control(t, &row, w); #ifndef TRG_NO_GRAPH w = trgp_check_new(dlg, _("Show graph"), TRG_PREFS_KEY_SHOW_GRAPH, - TRG_PREFS_GLOBAL, GTK_TOGGLE_BUTTON(w)); + TRG_PREFS_GLOBAL, GTK_TOGGLE_BUTTON(w)); g_signal_connect(G_OBJECT(w), "toggled", G_CALLBACK(toggle_graph), - priv->win); + priv->win); hig_workarea_add_wide_control(t, &row, w); #endif #ifdef HAVE_LIBNOTIFY w = trgp_check_new(dlg, _("Torrent added notifications"), - TRG_PREFS_KEY_ADD_NOTIFY, TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_ADD_NOTIFY, TRG_PREFS_GLOBAL, NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Torrent complete notifications"), - TRG_PREFS_KEY_COMPLETE_NOTIFY, TRG_PREFS_GLOBAL, - NULL); + TRG_PREFS_KEY_COMPLETE_NOTIFY, TRG_PREFS_GLOBAL, + NULL); hig_workarea_add_wide_control(t, &row, w); #endif tray = trgp_check_new(dlg, _("Show in system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, - NULL); + TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, + NULL); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_tray_icon), priv->win); + G_CALLBACK(toggle_tray_icon), priv->win); hig_workarea_add_wide_control(t, &row, tray); #ifndef HAVE_LIBAPPINDICATOR w = trgp_check_new(dlg, _("Minimise to system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, - TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, + TRG_PREFS_GLOBAL, NULL); gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tray))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (tray))); g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); + G_CALLBACK(toggle_active_arg_is_sensitive), w); hig_workarea_add_wide_control(t, &row, w); #endif @@ -462,17 +462,17 @@ static GtkWidget *trg_prefs_behaviorPage(TrgPreferencesDialog * dlg) hig_workarea_add_section_title(t, &row, _("Torrents")); w = trgp_check_new(dlg, _("Start paused"), TRG_PREFS_KEY_START_PAUSED, - TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_GLOBAL, NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Options dialog on add"), - TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRG_PREFS_GLOBAL, - NULL); + TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRG_PREFS_GLOBAL, + NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Delete local .torrent file after adding"), - TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, - TRG_PREFS_GLOBAL, NULL); + TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, + TRG_PREFS_GLOBAL, NULL); hig_workarea_add_wide_control(t, &row, w); return t; @@ -482,7 +482,7 @@ static void profile_changed_cb(GtkWidget * w, gpointer data) { GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(w)); TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); GtkTreeIter iter; JsonObject *profile; @@ -491,53 +491,53 @@ static void profile_changed_cb(GtkWidget * w, gpointer data) gint n_children = gtk_tree_model_iter_n_children(model, NULL); if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w), &iter)) { - gtk_tree_model_get(model, &iter, 0, &profile, -1); - trg_prefs_set_profile(priv->prefs, profile); - trg_pref_widget_refresh_all(TRG_PREFERENCES_DIALOG(data)); - gtk_widget_set_sensitive(priv->profileDelButton, n_children > 1); + gtk_tree_model_get(model, &iter, 0, &profile, -1); + trg_prefs_set_profile(priv->prefs, profile); + trg_pref_widget_refresh_all(TRG_PREFERENCES_DIALOG(data)); + gtk_widget_set_sensitive(priv->profileDelButton, n_children > 1); } else { - gtk_widget_set_sensitive(priv->profileDelButton, FALSE); - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); + gtk_widget_set_sensitive(priv->profileDelButton, FALSE); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); } } static void trg_prefs_profile_combo_populate(TrgPreferencesDialog * dialog, - GtkComboBox * combo, - TrgPrefs * prefs) + GtkComboBox * combo, + TrgPrefs * prefs) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dialog); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dialog); gint profile_id = trg_prefs_get_int(prefs, TRG_PREFS_KEY_PROFILE_ID, - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model(combo)); GList *profiles = - json_array_get_elements(trg_prefs_get_profiles(prefs)); + json_array_get_elements(trg_prefs_get_profiles(prefs)); GList *li; int i = 0; for (li = profiles; li; li = g_list_next(li)) { - JsonObject *profile = json_node_get_object((JsonNode *) li->data); - const gchar *name_value; - GtkTreeIter iter; - - if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { - name_value = json_object_get_string_member(profile, - TRG_PREFS_KEY_PROFILE_NAME); - } else { - name_value = _(TRG_PROFILE_NAME_DEFAULT); - } - - gtk_list_store_insert_with_values(store, &iter, INT_MAX, 0, - profile, 1, name_value, -1); - if (i == profile_id) - gtk_combo_box_set_active_iter(combo, &iter); - - i++; + JsonObject *profile = json_node_get_object((JsonNode *) li->data); + const gchar *name_value; + GtkTreeIter iter; + + if (json_object_has_member(profile, TRG_PREFS_KEY_PROFILE_NAME)) { + name_value = json_object_get_string_member(profile, + TRG_PREFS_KEY_PROFILE_NAME); + } else { + name_value = _(TRG_PROFILE_NAME_DEFAULT); + } + + gtk_list_store_insert_with_values(store, &iter, INT_MAX, 0, + profile, 1, name_value, -1); + if (i == profile_id) + gtk_combo_box_set_active_iter(combo, &iter); + + i++; } gtk_widget_set_sensitive(priv->profileDelButton, - g_list_length(profiles) > 1); + g_list_length(profiles) > 1); g_list_free(profiles); } @@ -547,7 +547,7 @@ static GtkWidget *trg_prefs_profile_combo_new(TrgClient * tc) GtkWidget *w; GtkCellRenderer *r; GtkListStore *store = - gtk_list_store_new(2, G_TYPE_POINTER, G_TYPE_STRING); + gtk_list_store_new(2, G_TYPE_POINTER, G_TYPE_STRING); w = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); r = gtk_cell_renderer_text_new(); @@ -560,7 +560,7 @@ static GtkWidget *trg_prefs_profile_combo_new(TrgClient * tc) static void name_changed_cb(GtkWidget * w, gpointer data) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); GtkTreeIter iter; GtkTreeModel *model; GtkComboBox *combo; @@ -569,8 +569,8 @@ static void name_changed_cb(GtkWidget * w, gpointer data) model = gtk_combo_box_get_model(combo); if (gtk_combo_box_get_active_iter(combo, &iter)) { - gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, - gtk_entry_get_text(GTK_ENTRY(w)), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, + gtk_entry_get_text(GTK_ENTRY(w)), -1); } } @@ -578,7 +578,7 @@ static void del_profile_cb(GtkWidget * w, gpointer data) { GtkWidget *win = gtk_widget_get_toplevel(w); TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); TrgPrefs *prefs = priv->prefs; GtkComboBox *combo = GTK_COMBO_BOX(data); GtkTreeModel *profileModel = gtk_combo_box_get_model(combo); @@ -586,11 +586,11 @@ static void del_profile_cb(GtkWidget * w, gpointer data) JsonObject *profile; if (gtk_combo_box_get_active_iter(combo, &iter)) { - gtk_tree_model_get(profileModel, &iter, 0, &profile, -1); - trg_prefs_del_profile(prefs, profile); - trg_prefs_set_profile(prefs, NULL); - gtk_list_store_remove(GTK_LIST_STORE(profileModel), &iter); - gtk_combo_box_set_active(combo, 0); + gtk_tree_model_get(profileModel, &iter, 0, &profile, -1); + trg_prefs_del_profile(prefs, profile); + trg_prefs_set_profile(prefs, NULL); + gtk_list_store_remove(GTK_LIST_STORE(profileModel), &iter); + gtk_combo_box_set_active(combo, 0); } } @@ -598,39 +598,39 @@ static void add_profile_cb(GtkWidget * w, gpointer data) { GtkWidget *win = gtk_widget_get_toplevel(w); TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(win); GtkComboBox *combo = GTK_COMBO_BOX(data); GtkTreeModel *profileModel = gtk_combo_box_get_model(combo); GtkTreeIter iter; JsonObject *profile = trg_prefs_new_profile(priv->prefs); gtk_list_store_insert_with_values(GTK_LIST_STORE(profileModel), &iter, - INT_MAX, 0, profile, 1, - _(TRG_PROFILE_NAME_DEFAULT), -1); + INT_MAX, 0, profile, 1, + _(TRG_PROFILE_NAME_DEFAULT), -1); gtk_combo_box_set_active_iter(combo, &iter); } static void trgp_double_special_dependent(GtkWidget * widget, - gpointer data) + gpointer data) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel - (widget)); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel + (widget)); gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (widget)) - && gtk_widget_get_sensitive(priv-> - fullUpdateCheck) - && - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (priv-> - fullUpdateCheck))); + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (widget)) + && + gtk_widget_get_sensitive + (priv->fullUpdateCheck) + && + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (priv->fullUpdateCheck))); } static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog * dlg) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *t; TrgPersistentTreeView *ptv; GtkListStore *model; @@ -644,22 +644,22 @@ static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog * dlg) model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); ptv = trg_persistent_tree_view_new(priv->prefs, model, - TRG_PREFS_KEY_EXEC_COMMANDS); + TRG_PREFS_KEY_EXEC_COMMANDS); trg_persistent_tree_view_set_add_select(ptv, - trg_persistent_tree_view_add_column - (ptv, 0, - TRG_PREFS_SUBKEY_LABEL, - _("Label"))); + trg_persistent_tree_view_add_column + (ptv, 0, + TRG_PREFS_SUBKEY_LABEL, + _("Label"))); trg_persistent_tree_view_add_column(ptv, 1, - TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD, - _("Command")); + TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD, + _("Command")); wd = trg_persistent_tree_view_get_widget_desc(ptv); trg_pref_widget_refresh(dlg, wd); priv->widgets = g_list_append(priv->widgets, wd); gtk_table_attach(GTK_TABLE(t), GTK_WIDGET(ptv), 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); return t; } @@ -667,7 +667,7 @@ static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog * dlg) static GtkWidget *trg_prefs_dirsPage(TrgPreferencesDialog * dlg) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); GtkWidget *t; TrgPersistentTreeView *ptv; GtkListStore *model; @@ -677,27 +677,27 @@ static GtkWidget *trg_prefs_dirsPage(TrgPreferencesDialog * dlg) t = hig_workarea_create(); hig_workarea_add_section_title(t, &row, - _("Remote Download Directories")); + _("Remote Download Directories")); model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); ptv = trg_persistent_tree_view_new(priv->prefs, model, - TRG_PREFS_KEY_DESTINATIONS); + TRG_PREFS_KEY_DESTINATIONS); trg_persistent_tree_view_set_add_select(ptv, - trg_persistent_tree_view_add_column - (ptv, 0, - TRG_PREFS_SUBKEY_LABEL, - _("Label"))); + trg_persistent_tree_view_add_column + (ptv, 0, + TRG_PREFS_SUBKEY_LABEL, + _("Label"))); trg_persistent_tree_view_add_column(ptv, 1, - TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR, - _("Directory")); + TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR, + _("Directory")); wd = trg_persistent_tree_view_get_widget_desc(ptv); trg_pref_widget_refresh(dlg, wd); priv->widgets = g_list_append(priv->widgets, wd); gtk_table_attach(GTK_TABLE(t), GTK_WIDGET(ptv), 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); + GTK_EXPAND | GTK_SHRINK | GTK_FILL, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0); return t; } @@ -705,7 +705,7 @@ static GtkWidget *trg_prefs_dirsPage(TrgPreferencesDialog * dlg) static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) { TrgPreferencesDialogPrivate *priv = - TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); TrgPrefs *prefs = priv->prefs; GtkWidget *w, *t, *frame, *frameHbox, *profileLabel, *activeOnly; @@ -719,7 +719,7 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) hig_workarea_add_section_title(t, &row, _("Profile")); priv->profileNameEntry = - trgp_entry_new(dlg, TRG_PREFS_KEY_PROFILE_NAME, TRG_PREFS_PROFILE); + trgp_entry_new(dlg, TRG_PREFS_KEY_PROFILE_NAME, TRG_PREFS_PROFILE); w = priv->profileComboBox = trg_prefs_profile_combo_new(priv->client); profileLabel = gtk_label_new(_("Profile: ")); @@ -727,32 +727,32 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) profileButtonsHbox = gtk_hbox_new(FALSE, 0); w = gtk_button_new_from_stock(GTK_STOCK_ADD); g_signal_connect(w, "clicked", G_CALLBACK(add_profile_cb), - priv->profileComboBox); + priv->profileComboBox); gtk_box_pack_start(GTK_BOX(profileButtonsHbox), w, FALSE, FALSE, 4); w = priv->profileDelButton = - gtk_button_new_from_stock(GTK_STOCK_DELETE); + gtk_button_new_from_stock(GTK_STOCK_DELETE); g_signal_connect(w, "clicked", G_CALLBACK(del_profile_cb), - priv->profileComboBox); + priv->profileComboBox); gtk_widget_set_sensitive(w, FALSE); gtk_box_pack_start(GTK_BOX(profileButtonsHbox), w, FALSE, FALSE, 4); trg_prefs_profile_combo_populate(dlg, - GTK_COMBO_BOX(priv->profileComboBox), - prefs); + GTK_COMBO_BOX(priv->profileComboBox), + prefs); g_signal_connect(G_OBJECT(priv->profileComboBox), "changed", - G_CALLBACK(profile_changed_cb), dlg); + G_CALLBACK(profile_changed_cb), dlg); /* Name */ g_signal_connect(priv->profileNameEntry, "changed", - G_CALLBACK(name_changed_cb), dlg); + G_CALLBACK(name_changed_cb), dlg); hig_workarea_add_row(t, &row, _("Name:"), priv->profileNameEntry, - NULL); + NULL); gtk_table_attach(GTK_TABLE(t), profileButtonsHbox, 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK, 0, 0, 0); + GTK_EXPAND | GTK_SHRINK, 0, 0, 0); row++; @@ -762,7 +762,7 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) hig_workarea_add_row(t, &row, _("Host:"), w, NULL); w = trgp_spin_new(dlg, TRG_PREFS_KEY_PORT, 1, 65535, 1, - TRG_PREFS_PROFILE, NULL); + TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Port:"), w, NULL); w = trgp_entry_new(dlg, TRG_PREFS_KEY_USERNAME, TRG_PREFS_PROFILE); @@ -773,41 +773,41 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) hig_workarea_add_row(t, &row, _("Password:"), w, NULL); w = trgp_spin_new(dlg, TRG_PREFS_KEY_UPDATE_INTERVAL, 1, INT_MAX, 1, - TRG_PREFS_PROFILE, NULL); + TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Update interval:"), w, NULL); w = trgp_spin_new(dlg, TRG_PREFS_KEY_MINUPDATE_INTERVAL, 1, INT_MAX, 1, - TRG_PREFS_PROFILE, NULL); + TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Minimised update interval:"), w, - NULL); + NULL); w = trgp_check_new(dlg, _("Automatically connect"), - TRG_PREFS_KEY_AUTO_CONNECT, TRG_PREFS_PROFILE, - NULL); + TRG_PREFS_KEY_AUTO_CONNECT, TRG_PREFS_PROFILE, + NULL); hig_workarea_add_wide_control(t, &row, w); #ifndef CURL_NO_SSL w = trgp_check_new(dlg, _("SSL"), TRG_PREFS_KEY_SSL, TRG_PREFS_PROFILE, - NULL); + NULL); hig_workarea_add_wide_control(t, &row, w); #endif activeOnly = w = trgp_check_new(dlg, _("Update active torrents only"), - TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, - TRG_PREFS_PROFILE, NULL); + TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, + TRG_PREFS_PROFILE, NULL); hig_workarea_add_wide_control(t, &row, w); priv->fullUpdateCheck = trgp_check_new(dlg, - _ - ("Full update every (?) updates"), - TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED, - TRG_PREFS_PROFILE, - GTK_TOGGLE_BUTTON(activeOnly)); + _ + ("Full update every (?) updates"), + TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED, + TRG_PREFS_PROFILE, + GTK_TOGGLE_BUTTON(activeOnly)); w = trgp_spin_new(dlg, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2, INT_MAX, - 1, TRG_PREFS_PROFILE, - GTK_TOGGLE_BUTTON(priv->fullUpdateCheck)); + 1, TRG_PREFS_PROFILE, + GTK_TOGGLE_BUTTON(priv->fullUpdateCheck)); g_signal_connect(activeOnly, "toggled", - G_CALLBACK(trgp_double_special_dependent), w); + G_CALLBACK(trgp_double_special_dependent), w); hig_workarea_add_row_w(t, &row, priv->fullUpdateCheck, w, NULL); @@ -817,7 +817,7 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) frameHbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(frameHbox), profileLabel, FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(frameHbox), priv->profileComboBox, FALSE, - FALSE, 4); + FALSE, 4); gtk_frame_set_label_widget(GTK_FRAME(frame), frameHbox); gtk_container_add(GTK_CONTAINER(frame), t); @@ -825,30 +825,30 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) } static GObject *trg_preferences_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgPreferencesDialogPrivate *priv; GtkWidget *notebook, *contentvbox; object = G_OBJECT_CLASS - (trg_preferences_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_preferences_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); contentvbox = gtk_dialog_get_content_area(GTK_DIALOG(object)); gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->win)); + GTK_WINDOW(priv->win)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, - GTK_RESPONSE_OK); + GTK_RESPONSE_OK); gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK); @@ -856,34 +856,34 @@ static GObject *trg_preferences_dialog_constructor(GType type, gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); g_signal_connect(G_OBJECT(object), "response", - G_CALLBACK(trg_preferences_response_cb), NULL); + G_CALLBACK(trg_preferences_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_serverPage(TRG_PREFERENCES_DIALOG - (object)), - gtk_label_new(_("Connection"))); + trg_prefs_serverPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Connection"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_openExecPage(TRG_PREFERENCES_DIALOG - (object)), - gtk_label_new(_("Actions"))); + trg_prefs_openExecPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Actions"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_dirsPage(TRG_PREFERENCES_DIALOG - (object)), - gtk_label_new(_("Directories"))); + trg_prefs_dirsPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Directories"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_desktopPage(TRG_PREFERENCES_DIALOG - (object)), - gtk_label_new(_("Desktop"))); + trg_prefs_desktopPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Desktop"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_prefs_behaviorPage(TRG_PREFERENCES_DIALOG - (object)), - gtk_label_new(_("Behavior"))); + trg_prefs_behaviorPage(TRG_PREFERENCES_DIALOG + (object)), + gtk_label_new(_("Behavior"))); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); @@ -897,7 +897,7 @@ static void trg_preferences_dialog_init(TrgPreferencesDialog * pref_dlg) } static void trg_preferences_dialog_class_init(TrgPreferencesDialogClass * - class) + class) { GObjectClass *g_object_class = (GObjectClass *) class; @@ -906,46 +906,46 @@ static void trg_preferences_dialog_class_init(TrgPreferencesDialogClass * g_object_class->get_property = trg_preferences_dialog_get_property; g_object_class_install_property(g_object_class, - PROP_TRG_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)); + PROP_TRG_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(g_object_class, - PROP_MAIN_WINDOW, - g_param_spec_object("main-window", - "Main Window", - "Main Window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MAIN_WINDOW, + g_param_spec_object("main-window", + "Main Window", + "Main Window", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(g_object_class, - sizeof(TrgPreferencesDialogPrivate)); + sizeof(TrgPreferencesDialogPrivate)); } GtkWidget *trg_preferences_dialog_get_instance(TrgMainWindow * win, - TrgClient * client) + TrgClient * client) { if (!instance) - instance = - g_object_new(TRG_TYPE_PREFERENCES_DIALOG, "main-window", win, - "trg-client", client, NULL); + instance = + g_object_new(TRG_TYPE_PREFERENCES_DIALOG, "main-window", win, + "trg-client", client, NULL); return GTK_WIDGET(instance); } diff --git a/src/trg-preferences-dialog.h b/src/trg-preferences-dialog.h index 55760ef..8860ff6 100644 --- a/src/trg-preferences-dialog.h +++ b/src/trg-preferences-dialog.h @@ -57,9 +57,9 @@ struct _TrgPreferencesDialogClass { GType trg_preferences_dialog_get_type(void); GtkWidget *trg_preferences_dialog_get_instance(TrgMainWindow * win, - TrgClient * client); + TrgClient * client); trg_pref_widget_desc *trg_pref_widget_desc_new(GtkWidget * w, gchar * key, - int flags); + int flags); G_END_DECLS -#endif /* TRG_PREFERENCES_WINDOW_H_ */ +#endif /* TRG_PREFERENCES_WINDOW_H_ */ diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 08e425c..68376f8 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -69,23 +69,23 @@ void trg_prefs_changed_emit_signal(TrgPrefs * p, const gchar * key) } static void trg_prefs_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_prefs_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -100,12 +100,12 @@ static void trg_prefs_create_defaults(TrgPrefs * p) priv->defaultsObj = json_object_new(); trg_prefs_add_default_string(p, TRG_PREFS_KEY_PROFILE_NAME, - _(TRG_PROFILE_NAME_DEFAULT)); + _(TRG_PROFILE_NAME_DEFAULT)); trg_prefs_add_default_int(p, TRG_PREFS_KEY_PORT, 9091); trg_prefs_add_default_int(p, TRG_PREFS_KEY_UPDATE_INTERVAL, - TRG_INTERVAL_DEFAULT); + TRG_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_KEY_MINUPDATE_INTERVAL, - TRG_INTERVAL_DEFAULT); + TRG_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2); trg_prefs_add_default_int(p, TRG_PREFS_KEY_STATES_PANED_POS, 120); @@ -118,23 +118,23 @@ static void trg_prefs_create_defaults(TrgPrefs * p) } static GObject *trg_prefs_constructor(GType type, - guint n_construct_properties, - GObjectConstructParam * - construct_params) + guint n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgPrefsPrivate *priv; object = G_OBJECT_CLASS - (trg_prefs_parent_class)->constructor(type, n_construct_properties, - construct_params); + (trg_prefs_parent_class)->constructor(type, n_construct_properties, + construct_params); priv = GET_PRIVATE(object); trg_prefs_create_defaults(TRG_PREFS(object)); priv->file = g_build_filename(g_get_user_config_dir(), - g_get_application_name(), - TRG_PREFS_FILENAME, NULL); + g_get_application_name(), + TRG_PREFS_FILENAME, NULL); return object; } @@ -151,21 +151,21 @@ static void trg_prefs_class_init(TrgPrefsClass * klass) object_class->constructor = trg_prefs_constructor; signals[PREF_CHANGE] = - g_signal_new("pref-changed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgPrefsClass, - pref_changed), NULL, - NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_POINTER); + g_signal_new("pref-changed", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgPrefsClass, + pref_changed), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); signals[PREF_PROFILE_CHANGE] = - g_signal_new("pref-profile-changed", - G_TYPE_FROM_CLASS(object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET(TrgPrefsClass, - pref_changed), NULL, - NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + g_signal_new("pref-profile-changed", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgPrefsClass, + pref_changed), NULL, + NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } static void trg_prefs_init(TrgPrefs * self) @@ -190,14 +190,14 @@ void trg_prefs_add_default_int(TrgPrefs * p, const gchar * key, int value) } void trg_prefs_add_default_string(TrgPrefs * p, const gchar * key, - gchar * value) + gchar * value) { TrgPrefsPrivate *priv = GET_PRIVATE(p); json_object_set_string_member(priv->defaultsObj, key, value); } void trg_prefs_add_default_double(TrgPrefs * p, const gchar * key, - double value) + double value) { TrgPrefsPrivate *priv = GET_PRIVATE(p); json_object_set_double_member(priv->defaultsObj, key, value); @@ -214,53 +214,53 @@ gint trg_prefs_get_profile_id(TrgPrefs * p) { TrgPrefsPrivate *priv = GET_PRIVATE(p); return (gint) json_object_get_int_member(priv->userObj, - TRG_PREFS_KEY_PROFILE_ID); + TRG_PREFS_KEY_PROFILE_ID); } static JsonNode *trg_prefs_get_value_inner(JsonObject * obj, - const gchar * key, int type, - int flags) + const gchar * key, int type, + int flags) { if (json_object_has_member(obj, key)) { - if ((flags & TRG_PREFS_REPLACENODE)) - json_object_remove_member(obj, key); - else - return json_object_get_member(obj, key); + if ((flags & TRG_PREFS_REPLACENODE)) + json_object_remove_member(obj, key); + else + return json_object_get_member(obj, key); } if ((flags & TRG_PREFS_NEWNODE) || (flags & TRG_PREFS_REPLACENODE)) { - JsonNode *newNode = json_node_new(type); - json_object_set_member(obj, key, newNode); - return newNode; + JsonNode *newNode = json_node_new(type); + json_object_set_member(obj, key, newNode); + return newNode; } return NULL; } JsonNode *trg_prefs_get_value(TrgPrefs * p, const gchar * key, int type, - int flags) + int flags) { TrgPrefsPrivate *priv = GET_PRIVATE(p); JsonNode *res; if (priv->profile && (flags & TRG_PREFS_PROFILE)) { - if ((res = - trg_prefs_get_value_inner(priv->profile, key, type, flags))) - return res; + if ((res = + trg_prefs_get_value_inner(priv->profile, key, type, flags))) + return res; } else if (priv->connectionObj && (flags & TRG_PREFS_CONNECTION)) { - if ((res = - trg_prefs_get_value_inner(priv->connectionObj, key, type, - flags))) - return res; + if ((res = + trg_prefs_get_value_inner(priv->connectionObj, key, type, + flags))) + return res; } else { - if ((res = - trg_prefs_get_value_inner(priv->userObj, key, type, flags))) - return res; + if ((res = + trg_prefs_get_value_inner(priv->userObj, key, type, flags))) + return res; } if (priv->defaultsObj - && json_object_has_member(priv->defaultsObj, key)) - return json_object_get_member(priv->defaultsObj, key); + && json_object_has_member(priv->defaultsObj, key)) + return json_object_get_member(priv->defaultsObj, key); return NULL; } @@ -270,10 +270,10 @@ void trg_prefs_set_connection(TrgPrefs * p, JsonObject * profile) TrgPrefsPrivate *priv = GET_PRIVATE(p); if (priv->connectionObj) - json_object_unref(priv->connectionObj); + json_object_unref(priv->connectionObj); if (profile) - json_object_ref(profile); + json_object_ref(profile); priv->connectionObj = profile; } @@ -282,63 +282,61 @@ gchar *trg_prefs_get_string(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return g_strdup(json_node_get_string(node)); + return g_strdup(json_node_get_string(node)); else - return NULL; + return NULL; } JsonArray *trg_prefs_get_array(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_ARRAY, flags); if (node) - return json_node_get_array(node); + return json_node_get_array(node); else - return NULL; + return NULL; } gint64 trg_prefs_get_int(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return json_node_get_int(node); + return json_node_get_int(node); else - return 0; + return 0; } gdouble trg_prefs_get_double(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return json_node_get_double(node); + return json_node_get_double(node); else - return 0.0; + return 0.0; } gboolean trg_prefs_get_bool(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); if (node) - return json_node_get_boolean(node); + return json_node_get_boolean(node); else - return FALSE; + return FALSE; } void trg_prefs_set_int(TrgPrefs * p, const gchar * key, int value, - int flags) + int flags) { - JsonNode *node = - trg_prefs_get_value(p, key, JSON_NODE_VALUE, - flags | TRG_PREFS_NEWNODE); + JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_int(node, (gint64) value); trg_prefs_changed_emit_signal(p, key); } void trg_prefs_set_string(TrgPrefs * p, const gchar * key, - const gchar * value, int flags) + const gchar * value, int flags) { - JsonNode *node = - trg_prefs_get_value(p, key, JSON_NODE_VALUE, - flags | TRG_PREFS_NEWNODE); + JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_string(node, value); trg_prefs_changed_emit_signal(p, key); } @@ -353,12 +351,12 @@ void trg_prefs_set_profile(TrgPrefs * p, JsonObject * profile) gint i = 0; for (li = profiles; li; li = g_list_next(li)) { - if (json_node_get_object((JsonNode *) li->data) == profile) { - trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, i, - TRG_PREFS_GLOBAL); - break; - } - i++; + if (json_node_get_object((JsonNode *) li->data) == profile) { + trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, i, + TRG_PREFS_GLOBAL); + break; + } + i++; } g_list_free(profiles); @@ -385,12 +383,12 @@ void trg_prefs_del_profile(TrgPrefs * p, JsonObject * profile) int i = 0; for (li = profilesList; li; li = g_list_next(li)) { - node = (JsonNode *) li->data; - if (profile == (gpointer) json_node_get_object(node)) { - json_array_remove_element(profiles, i); - break; - } - i++; + node = (JsonNode *) li->data; + if (profile == (gpointer) json_node_get_object(node)) { + json_array_remove_element(profiles, i); + break; + } + i++; } g_list_free(profilesList); @@ -414,25 +412,23 @@ JsonArray *trg_prefs_get_profiles(TrgPrefs * p) { TrgPrefsPrivate *priv = GET_PRIVATE(p); return json_object_get_array_member(priv->userObj, - TRG_PREFS_KEY_PROFILES); + TRG_PREFS_KEY_PROFILES); } void trg_prefs_set_double(TrgPrefs * p, const gchar * key, gdouble value, - int flags) + int flags) { - JsonNode *node = - trg_prefs_get_value(p, key, JSON_NODE_VALUE, - flags | TRG_PREFS_NEWNODE); + JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_double(node, value); trg_prefs_changed_emit_signal(p, key); } void trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, - int flags) + int flags) { - JsonNode *node = - trg_prefs_get_value(p, key, JSON_NODE_VALUE, - flags | TRG_PREFS_NEWNODE); + JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, + flags | TRG_PREFS_NEWNODE); json_node_set_boolean(node, value); trg_prefs_changed_emit_signal(p, key); } @@ -447,18 +443,18 @@ gboolean trg_prefs_save(TrgPrefs * p) dirName = g_path_get_dirname(priv->file); if (!g_file_test(dirName, G_FILE_TEST_IS_DIR)) { - success = g_mkdir_with_parents(dirName, TRG_PREFS_DEFAULT_DIR_MODE) - == 0; + success = g_mkdir_with_parents(dirName, TRG_PREFS_DEFAULT_DIR_MODE) + == 0; } else if (g_file_test(priv->file, G_FILE_TEST_IS_REGULAR)) { - isNew = FALSE; + isNew = FALSE; } g_free(dirName); if (!success) { - g_error - ("Problem creating parent directory (permissions?) for: %s\n", - priv->file); - return success; + g_error + ("Problem creating parent directory (permissions?) for: %s\n", + priv->file); + return success; } g_object_set(G_OBJECT(gen), "pretty", TRUE, NULL); @@ -467,10 +463,10 @@ gboolean trg_prefs_save(TrgPrefs * p) success = json_generator_to_file(gen, priv->file, NULL); if (!success) - g_error("Problem writing configuration file (permissions?) to: %s", - priv->file); + g_error("Problem writing configuration file (permissions?) to: %s", + priv->file); else if (isNew) - g_chmod(priv->file, 384); + g_chmod(priv->file, 384); g_object_unref(gen); @@ -495,7 +491,7 @@ void trg_prefs_empty_init(TrgPrefs * p) JsonArray *profiles = json_array_new(); json_array_add_object_element(profiles, priv->profile); json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, - profiles); + profiles); json_object_set_int_member(priv->userObj, TRG_PREFS_KEY_PROFILE_ID, 0); } @@ -511,49 +507,49 @@ void trg_prefs_load(TrgPrefs * p) gboolean parsed = json_parser_load_from_file(parser, priv->file, NULL); if (!parsed) { - trg_prefs_empty_init(p); - g_object_unref(parser); - return; + trg_prefs_empty_init(p); + g_object_unref(parser); + return; } root = json_parser_get_root(parser); if (root) { - priv->user = json_node_copy(root); - priv->userObj = json_node_get_object(priv->user); + priv->user = json_node_copy(root); + priv->userObj = json_node_get_object(priv->user); } g_object_unref(parser); if (!root) { - trg_prefs_empty_init(p); - return; + trg_prefs_empty_init(p); + return; } if (!json_object_has_member(priv->userObj, TRG_PREFS_KEY_PROFILES)) { - profiles = json_array_new(); - json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, - profiles); + profiles = json_array_new(); + json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, + profiles); } else { - profiles = json_object_get_array_member(priv->userObj, - TRG_PREFS_KEY_PROFILES); + profiles = json_object_get_array_member(priv->userObj, + TRG_PREFS_KEY_PROFILES); } n_profiles = json_array_get_length(profiles); if (n_profiles < 1) { - priv->profile = trg_prefs_new_profile_object(); - json_array_add_object_element(profiles, priv->profile); - trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, 0, - TRG_PREFS_GLOBAL); + priv->profile = trg_prefs_new_profile_object(); + json_array_add_object_element(profiles, priv->profile); + trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, 0, + TRG_PREFS_GLOBAL); } else { - gint profile_id = trg_prefs_get_int(p, TRG_PREFS_KEY_PROFILE_ID, - TRG_PREFS_GLOBAL); - if (profile_id >= n_profiles) - trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, profile_id = 0, - TRG_PREFS_GLOBAL); - - priv->profile = - json_array_get_object_element(profiles, profile_id); + gint profile_id = trg_prefs_get_int(p, TRG_PREFS_KEY_PROFILE_ID, + TRG_PREFS_GLOBAL); + if (profile_id >= n_profiles) + trg_prefs_set_int(p, TRG_PREFS_KEY_PROFILE_ID, profile_id = 0, + TRG_PREFS_GLOBAL); + + priv->profile = + json_array_get_object_element(profiles, profile_id); } } @@ -562,12 +558,12 @@ guint trg_prefs_get_add_flags(TrgPrefs * p) guint flags = 0x00; if (trg_prefs_get_bool - (p, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL)) - flags |= TORRENT_ADD_FLAG_PAUSED; + (p, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL)) + flags |= TORRENT_ADD_FLAG_PAUSED; if (trg_prefs_get_bool - (p, TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, TRG_PREFS_GLOBAL)) - flags |= TORRENT_ADD_FLAG_DELETE; + (p, TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, TRG_PREFS_GLOBAL)) + flags |= TORRENT_ADD_FLAG_DELETE; return flags; } diff --git a/src/trg-prefs.h b/src/trg-prefs.h index bb86264..1377e95 100644 --- a/src/trg-prefs.h +++ b/src/trg-prefs.h @@ -76,12 +76,12 @@ #define TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR "dir" -#define TRG_PREFS_NOFLAGS (1 << 0) /* 0x00 */ -#define TRG_PREFS_GLOBAL (1 << 1) /* 0x01 */ -#define TRG_PREFS_PROFILE (1 << 2) /* 0x02 */ -#define TRG_PREFS_CONNECTION (1 << 3) /* 0x04 */ -#define TRG_PREFS_NEWNODE (1 << 4) /* 0x08 */ -#define TRG_PREFS_REPLACENODE (1 << 5) /* 0x16 */ +#define TRG_PREFS_NOFLAGS (1 << 0) /* 0x00 */ +#define TRG_PREFS_GLOBAL (1 << 1) /* 0x01 */ +#define TRG_PREFS_PROFILE (1 << 2) /* 0x02 */ +#define TRG_PREFS_CONNECTION (1 << 3) /* 0x04 */ +#define TRG_PREFS_NEWNODE (1 << 4) /* 0x08 */ +#define TRG_PREFS_REPLACENODE (1 << 5) /* 0x16 */ G_BEGIN_DECLS #define TRG_TYPE_PREFS trg_prefs_get_type() @@ -110,13 +110,13 @@ TrgPrefs *trg_prefs_new(void); void trg_prefs_add_default_int(TrgPrefs * p, const gchar * key, int value); void trg_prefs_add_default_string(TrgPrefs * p, const gchar * key, - gchar * value); + gchar * value); void trg_prefs_add_default_double(TrgPrefs * p, const gchar * key, - double value); + double value); void trg_prefs_add_default_bool_true(TrgPrefs * p, const gchar * key); JsonNode *trg_prefs_get_value(TrgPrefs * p, const gchar * key, int type, - int flags); + int flags); gchar *trg_prefs_get_string(TrgPrefs * p, const gchar * key, int flags); gint64 trg_prefs_get_int(TrgPrefs * p, const gchar * key, int flags); gdouble trg_prefs_get_double(TrgPrefs * p, const gchar * key, int flags); @@ -134,13 +134,13 @@ JsonObject *trg_prefs_get_root(TrgPrefs * p); JsonArray *trg_prefs_get_array(TrgPrefs * p, const gchar * key, int flags); void trg_prefs_set_int(TrgPrefs * p, const gchar * key, int value, - int flags); + int flags); void trg_prefs_set_string(TrgPrefs * p, const gchar * key, - const gchar * value, int flags); + const gchar * value, int flags); void trg_prefs_set_double(TrgPrefs * p, const gchar * key, double value, - int flags); + int flags); void trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, - int flags); + int flags); gboolean trg_prefs_save(TrgPrefs * p); void trg_prefs_load(TrgPrefs * p); @@ -149,4 +149,4 @@ void trg_prefs_profile_change_emit_signal(TrgPrefs * p); guint trg_prefs_get_add_flags(TrgPrefs * p); G_END_DECLS -#endif /* _TRG_PREFS_H_ */ +#endif /* _TRG_PREFS_H_ */ diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index 6169706..cfaa2d0 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -41,7 +41,7 @@ */ G_DEFINE_TYPE(TrgRemotePrefsDialog, trg_remote_prefs_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_REMOTE_PREFS_DIALOG, TrgRemotePrefsDialogPrivate)) enum { @@ -65,7 +65,7 @@ static GObject *instance = NULL; static void update_session(GtkDialog * dlg) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); JsonNode *request = session_set(); JsonObject *args = node_get_arguments(request); @@ -74,16 +74,16 @@ static void update_session(GtkDialog * dlg) /* Connection */ switch (gtk_combo_box_get_active - (GTK_COMBO_BOX(priv->encryption_combo))) { + (GTK_COMBO_BOX(priv->encryption_combo))) { case 0: - encryption = "required"; - break; + encryption = "required"; + break; case 2: - encryption = "tolerated"; - break; + encryption = "tolerated"; + break; default: - encryption = "preferred"; - break; + encryption = "preferred"; + break; } json_object_set_string_member(args, SGET_ENCRYPTION, encryption); @@ -94,13 +94,13 @@ static void update_session(GtkDialog * dlg) } static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_OK) - update_session(dlg); + update_session(dlg); trg_json_widget_desc_list_free(priv->widgets); @@ -109,50 +109,50 @@ static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, } static void trg_remote_prefs_dialog_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, + GParamSpec * pspec) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_PARENT: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_remote_prefs_dialog_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, - JsonObject * json) + JsonObject * json) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -161,70 +161,70 @@ static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, hig_workarea_add_section_title(t, &row, _("Bandwidth")); tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SPEED_LIMIT_DOWN_ENABLED, - _("Limit download speed (KB/s)"), NULL); + SGET_SPEED_LIMIT_DOWN_ENABLED, + _("Limit download speed (KB/s)"), NULL); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_SPEED_LIMIT_DOWN, tb, 0, INT_MAX, - 1); + SGET_SPEED_LIMIT_DOWN, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SPEED_LIMIT_UP_ENABLED, - _("Limit upload speed (KB/s)"), NULL); + SGET_SPEED_LIMIT_UP_ENABLED, + _("Limit upload speed (KB/s)"), NULL); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_SPEED_LIMIT_UP, tb, 0, INT_MAX, - 1); + SGET_SPEED_LIMIT_UP, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, _("Seeding")); tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SEED_RATIO_LIMITED, - _("Seed ratio limit"), NULL); + SGET_SEED_RATIO_LIMITED, + _("Seed ratio limit"), NULL); w = trg_json_widget_spin_new_double(&priv->widgets, json, - SGET_SEED_RATIO_LIMIT, tb, 0, - INT_MAX, 0.1); + SGET_SEED_RATIO_LIMIT, tb, 0, + INT_MAX, 0.1); hig_workarea_add_row_w(t, &row, tb, w, NULL); if (json_object_has_member(json, SGET_DOWNLOAD_QUEUE_ENABLED)) { - hig_workarea_add_section_title(t, &row, _("Queues")); - - tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_DOWNLOAD_QUEUE_ENABLED, - _("Download queue size"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_DOWNLOAD_QUEUE_SIZE, tb, 0, - INT_MAX, 1); - hig_workarea_add_row_w(t, &row, tb, w, NULL); - - tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_SEED_QUEUE_ENABLED, - _("Seed queue size"), NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_SEED_QUEUE_SIZE, tb, 0, - INT_MAX, 1); - hig_workarea_add_row_w(t, &row, tb, w, NULL); - - tb = trg_json_widget_check_new(&priv->widgets, json, - SGET_QUEUE_STALLED_ENABLED, - _("Ignore stalled (minutes)"), - NULL); - w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_QUEUE_STALLED_MINUTES, tb, 0, - INT_MAX, 1); - hig_workarea_add_row_w(t, &row, tb, w, NULL); + hig_workarea_add_section_title(t, &row, _("Queues")); + + tb = trg_json_widget_check_new(&priv->widgets, json, + SGET_DOWNLOAD_QUEUE_ENABLED, + _("Download queue size"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_DOWNLOAD_QUEUE_SIZE, tb, 0, + INT_MAX, 1); + hig_workarea_add_row_w(t, &row, tb, w, NULL); + + tb = trg_json_widget_check_new(&priv->widgets, json, + SGET_SEED_QUEUE_ENABLED, + _("Seed queue size"), NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_SEED_QUEUE_SIZE, tb, 0, + INT_MAX, 1); + hig_workarea_add_row_w(t, &row, tb, w, NULL); + + tb = trg_json_widget_check_new(&priv->widgets, json, + SGET_QUEUE_STALLED_ENABLED, + _("Ignore stalled (minutes)"), + NULL); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + SGET_QUEUE_STALLED_MINUTES, tb, 0, + INT_MAX, 1); + hig_workarea_add_row_w(t, &row, tb, w, NULL); } hig_workarea_add_section_title(t, &row, _("Peers")); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_PEER_LIMIT_GLOBAL, NULL, 0, - INT_MAX, 5); + SGET_PEER_LIMIT_GLOBAL, NULL, 0, + INT_MAX, 5); hig_workarea_add_row(t, &row, _("Global peer limit"), w, w); w = trg_json_widget_spin_new_int(&priv->widgets, json, - SGET_PEER_LIMIT_PER_TORRENT, NULL, 0, - INT_MAX, 5); + SGET_PEER_LIMIT_PER_TORRENT, NULL, 0, + INT_MAX, 5); hig_workarea_add_row(t, &row, _("Per torrent peer limit"), w, w); return t; @@ -234,29 +234,29 @@ static gboolean on_port_tested(gpointer data) { trg_response *response = (trg_response *) data; if (TRG_IS_REMOTE_PREFS_DIALOG(response->cb_data)) { - TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); - - gtk_button_set_label(GTK_BUTTON(priv->port_test_button), - _("Retest")); - gtk_widget_set_sensitive(priv->port_test_button, TRUE); - - if (response->status == CURLE_OK) { - gboolean isOpen = - json_object_get_boolean_member(get_arguments - (response->obj), - "port-is-open"); - if (isOpen) - gtk_label_set_markup(GTK_LABEL(priv->port_test_label), - _ - ("Port is open")); - else - gtk_label_set_markup(GTK_LABEL(priv->port_test_label), - _ - ("Port is closed")); - } else { - trg_error_dialog(GTK_WINDOW(data), response); - } + TrgRemotePrefsDialogPrivate *priv = + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); + + gtk_button_set_label(GTK_BUTTON(priv->port_test_button), + _("Retest")); + gtk_widget_set_sensitive(priv->port_test_button, TRUE); + + if (response->status == CURLE_OK) { + gboolean isOpen = + json_object_get_boolean_member(get_arguments + (response->obj), + "port-is-open"); + if (isOpen) + gtk_label_set_markup(GTK_LABEL(priv->port_test_label), + _ + ("Port is open")); + else + gtk_label_set_markup(GTK_LABEL(priv->port_test_label), + _ + ("Port is closed")); + } else { + trg_error_dialog(GTK_WINDOW(data), response); + } } trg_response_free(response); @@ -266,7 +266,7 @@ static gboolean on_port_tested(gpointer data) static void port_test_cb(GtkButton * b, gpointer data) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); JsonNode *req = port_test(); gtk_label_set_text(GTK_LABEL(priv->port_test_label), _("Port test")); @@ -280,25 +280,25 @@ static gboolean on_blocklist_updated(gpointer data) { trg_response *response = (trg_response *) data; if (TRG_IS_REMOTE_PREFS_DIALOG(response->cb_data)) { - TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); - - gtk_widget_set_sensitive(priv->blocklist_update_button, TRUE); - gtk_button_set_label(GTK_BUTTON(priv->blocklist_update_button), - _("Update")); - - if (response->status == CURLE_OK) { - JsonObject *args = get_arguments(response->obj); - gchar *labelText = - g_strdup_printf(_("Blocklist (%ld entries)"), - json_object_get_int_member(args, - SGET_BLOCKLIST_SIZE)); - gtk_button_set_label(GTK_BUTTON(priv->blocklist_check), - labelText); - g_free(labelText); - } else { - trg_error_dialog(GTK_WINDOW(response->cb_data), response); - } + TrgRemotePrefsDialogPrivate *priv = + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data); + + gtk_widget_set_sensitive(priv->blocklist_update_button, TRUE); + gtk_button_set_label(GTK_BUTTON(priv->blocklist_update_button), + _("Update")); + + if (response->status == CURLE_OK) { + JsonObject *args = get_arguments(response->obj); + gchar *labelText = + g_strdup_printf(_("Blocklist (%ld entries)"), + json_object_get_int_member(args, + SGET_BLOCKLIST_SIZE)); + gtk_button_set_label(GTK_BUTTON(priv->blocklist_check), + labelText); + g_free(labelText); + } else { + trg_error_dialog(GTK_WINDOW(response->cb_data), response); + } } trg_response_free(response); @@ -309,7 +309,7 @@ static gboolean on_blocklist_updated(gpointer data) static gboolean update_blocklist_cb(GtkButton * b, gpointer data) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); JsonNode *req = blocklist_update(); gtk_widget_set_sensitive(GTK_WIDGET(b), FALSE); @@ -321,10 +321,10 @@ static gboolean update_blocklist_cb(GtkButton * b, gpointer data) } static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, - JsonObject * s) + JsonObject * s) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; const gchar *stringValue; @@ -333,21 +333,21 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, t = hig_workarea_create(); w = priv->encryption_combo = gtr_combo_box_new_enum(_("Required"), 0, - _("Preferred"), 1, - _("Tolerated"), 2, - NULL); + _("Preferred"), 1, + _("Tolerated"), 2, + NULL); stringValue = session_get_encryption(s); if (g_strcmp0(stringValue, "required") == 0) { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); } else if (g_strcmp0(stringValue, "tolerated") == 0) { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); } else { - gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); } hig_workarea_add_row(t, &row, _("Encryption"), w, NULL); w = trg_json_widget_spin_new_int(&priv->widgets, s, SGET_PEER_PORT, - NULL, 0, 65535, 1); + NULL, 0, 65535, 1); hig_workarea_add_row(t, &row, _("Peer port"), w, w); w = priv->port_test_label = gtk_label_new(_("Port test")); @@ -356,57 +356,57 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, hig_workarea_add_row_w(t, &row, priv->port_test_label, w, NULL); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_PEER_PORT_RANDOM_ON_START, - _("Random peer port on start"), NULL); + SGET_PEER_PORT_RANDOM_ON_START, + _("Random peer port on start"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_PORT_FORWARDING_ENABLED, - _("Peer port forwarding"), NULL); + SGET_PORT_FORWARDING_ENABLED, + _("Peer port forwarding"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, SGET_PEX_ENABLED, - _("Peer exchange (PEX)"), NULL); + _("Peer exchange (PEX)"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, SGET_DHT_ENABLED, - _("Distributed Hash Table (DHT)"), NULL); + _("Distributed Hash Table (DHT)"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, SGET_LPD_ENABLED, - _("Local peer discovery"), NULL); + _("Local peer discovery"), NULL); hig_workarea_add_wide_control(t, &row, w); stringValue = g_strdup_printf(_("Blocklist (%ld entries)"), - session_get_blocklist_size(s)); + session_get_blocklist_size(s)); tb = priv->blocklist_check = - trg_json_widget_check_new(&priv->widgets, s, - SGET_BLOCKLIST_ENABLED, stringValue, - NULL); + trg_json_widget_check_new(&priv->widgets, s, + SGET_BLOCKLIST_ENABLED, stringValue, + NULL); g_free((gchar *) stringValue); w = priv->blocklist_update_button = - gtk_button_new_with_label(_("Update")); + gtk_button_new_with_label(_("Update")); g_signal_connect(G_OBJECT(w), "clicked", - G_CALLBACK(update_blocklist_cb), win); + G_CALLBACK(update_blocklist_cb), win); hig_workarea_add_row_w(t, &row, tb, w, NULL); //GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, gchar *key, GtkWidget *toggleDep); stringValue = session_get_blocklist_url(s); if (stringValue) { - w = trg_json_widget_entry_new(&priv->widgets, s, - SGET_BLOCKLIST_URL, NULL); - hig_workarea_add_row(t, &row, _("Blocklist URL:"), w, NULL); + w = trg_json_widget_entry_new(&priv->widgets, s, + SGET_BLOCKLIST_URL, NULL); + hig_workarea_add_row(t, &row, _("Blocklist URL:"), w, NULL); } return t; } static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win, - JsonObject * s) + JsonObject * s) { TrgRemotePrefsDialogPrivate *priv = - TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); + TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -415,54 +415,54 @@ static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win, t = hig_workarea_create(); w = trg_json_widget_entry_new(&priv->widgets, s, SGET_DOWNLOAD_DIR, - NULL); + NULL); hig_workarea_add_row(t, &row, _("Download directory"), w, NULL); tb = trg_json_widget_check_new(&priv->widgets, s, - SGET_INCOMPLETE_DIR_ENABLED, - _("Incomplete download dir"), NULL); + SGET_INCOMPLETE_DIR_ENABLED, + _("Incomplete download dir"), NULL); w = trg_json_widget_entry_new(&priv->widgets, s, SGET_INCOMPLETE_DIR, - tb); + tb); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = trg_json_widget_check_new(&priv->widgets, s, - SGET_SCRIPT_TORRENT_DONE_ENABLED, - _("Torrent done script"), NULL); + SGET_SCRIPT_TORRENT_DONE_ENABLED, + _("Torrent done script"), NULL); w = trg_json_widget_entry_new(&priv->widgets, s, - SGET_SCRIPT_TORRENT_DONE_FILENAME, tb); + SGET_SCRIPT_TORRENT_DONE_FILENAME, tb); hig_workarea_add_row_w(t, &row, tb, w, NULL); cache_size_mb = session_get_cache_size_mb(s); if (cache_size_mb >= 0) { - w = trg_json_widget_spin_new_int(&priv->widgets, s, - SGET_CACHE_SIZE_MB, NULL, 0, - INT_MAX, 1); - hig_workarea_add_row(t, &row, _("Cache size (MB)"), w, w); + w = trg_json_widget_spin_new_int(&priv->widgets, s, + SGET_CACHE_SIZE_MB, NULL, 0, + INT_MAX, 1); + hig_workarea_add_row(t, &row, _("Cache size (MB)"), w, w); } w = trg_json_widget_check_new(&priv->widgets, s, - SGET_RENAME_PARTIAL_FILES, - _("Rename partial files"), NULL); + SGET_RENAME_PARTIAL_FILES, + _("Rename partial files"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_TRASH_ORIGINAL_TORRENT_FILES, _ - ("Trash original torrent files"), NULL); + SGET_TRASH_ORIGINAL_TORRENT_FILES, _ + ("Trash original torrent files"), NULL); hig_workarea_add_wide_control(t, &row, w); w = trg_json_widget_check_new(&priv->widgets, s, - SGET_START_ADDED_TORRENTS, - _("Start added torrents"), NULL); + SGET_START_ADDED_TORRENTS, + _("Start added torrents"), NULL); hig_workarea_add_wide_control(t, &row, w); return t; } static GObject *trg_remote_prefs_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgRemotePrefsDialogPrivate *priv; @@ -470,9 +470,9 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type, GtkWidget *notebook, *contentvbox; object = G_OBJECT_CLASS - (trg_remote_prefs_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_remote_prefs_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); session = trg_client_get_session(priv->client); @@ -480,38 +480,38 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type, gtk_window_set_title(GTK_WINDOW(object), _("Remote Preferences")); gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, - GTK_RESPONSE_OK); + GTK_RESPONSE_OK); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_remote_prefs_response_cb), NULL); + "response", + G_CALLBACK(trg_remote_prefs_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_generalPage(TRG_REMOTE_PREFS_DIALOG - (object), session), - gtk_label_new(_("General"))); + trg_rprefs_generalPage(TRG_REMOTE_PREFS_DIALOG + (object), session), + gtk_label_new(_("General"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_connPage(TRG_REMOTE_PREFS_DIALOG - (object), session), - gtk_label_new(_("Connections"))); + trg_rprefs_connPage(TRG_REMOTE_PREFS_DIALOG + (object), session), + gtk_label_new(_("Connections"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_rprefs_limitsPage(TRG_REMOTE_PREFS_DIALOG - (object), session), - gtk_label_new(_("Limits"))); + trg_rprefs_limitsPage(TRG_REMOTE_PREFS_DIALOG + (object), session), + gtk_label_new(_("Limits"))); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); @@ -521,7 +521,7 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type, } static void trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * - klass) + klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); @@ -532,50 +532,50 @@ static void trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * object_class->set_property = trg_remote_prefs_dialog_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)); + 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_PARENT, - g_param_spec_object("parent-window", - "Parent window", - "Parent window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object("parent-window", + "Parent window", + "Parent window", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } static void trg_remote_prefs_dialog_init(TrgRemotePrefsDialog * - self G_GNUC_UNUSED) + self G_GNUC_UNUSED) { } TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow * - parent, - TrgClient * - client) + parent, + TrgClient * + client) { if (instance == NULL) { - instance = - g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, "parent-window", - parent, "trg-client", client, NULL); + instance = + g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, "parent-window", + parent, "trg-client", client, NULL); } return TRG_REMOTE_PREFS_DIALOG(instance); diff --git a/src/trg-remote-prefs-dialog.h b/src/trg-remote-prefs-dialog.h index 412f3af..0c340a1 100644 --- a/src/trg-remote-prefs-dialog.h +++ b/src/trg-remote-prefs-dialog.h @@ -48,9 +48,9 @@ typedef struct { GType trg_remote_prefs_dialog_get_type(void); TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow * - parent, - TrgClient * - client); + parent, + TrgClient * + client); G_END_DECLS -#endif /* TRG_REMOTE_PREFS_DIALOG_H_ */ +#endif /* TRG_REMOTE_PREFS_DIALOG_H_ */ diff --git a/src/trg-sortable-filtered-model.c b/src/trg-sortable-filtered-model.c index 649d999..ed24f8a 100644 --- a/src/trg-sortable-filtered-model.c +++ b/src/trg-sortable-filtered-model.c @@ -29,177 +29,177 @@ static void trg_sortable_filtered_model_tree_sortable_init(GtkTreeSortableIface * - iface); + iface); /* TreeSortable interface */ static GtkTreeSortable - *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * - sortable); + * trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * + sortable); static gboolean trg_sortable_filtered_model_sort_get_sort_column_id(GtkTreeSortable * - sortable, - gint * sort_column_id, - GtkSortType * order); + sortable, + gint * sort_column_id, + GtkSortType * order); static void trg_sortable_filtered_model_sort_set_sort_column_id(GtkTreeSortable * - sortable, - gint sort_column_id, - GtkSortType order); + sortable, + gint sort_column_id, + GtkSortType order); static void trg_sortable_filtered_model_sort_set_sort_func(GtkTreeSortable - * sortable, - gint - sort_column_id, - GtkTreeIterCompareFunc - func, - gpointer data, - GDestroyNotify - destroy); + * sortable, + gint + sort_column_id, + GtkTreeIterCompareFunc + func, + gpointer data, + GDestroyNotify + destroy); static void trg_sortable_filtered_model_sort_set_default_sort_func(GtkTreeSortable * - sortable, - GtkTreeIterCompareFunc - func, gpointer data, - GDestroyNotify - destroy); + sortable, + GtkTreeIterCompareFunc + func, gpointer data, + GDestroyNotify + destroy); static gboolean trg_sortable_filtered_model_sort_has_default_sort_func(GtkTreeSortable * - sortable); + sortable); static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable - * realSortable, - GtkTreeSortable - * - fakeSortable); + * realSortable, + GtkTreeSortable + * + fakeSortable); G_DEFINE_TYPE_WITH_CODE(TrgSortableFilteredModel, - trg_sortable_filtered_model, - GTK_TYPE_TREE_MODEL_FILTER, - G_IMPLEMENT_INTERFACE(GTK_TYPE_TREE_SORTABLE, - trg_sortable_filtered_model_tree_sortable_init)) + trg_sortable_filtered_model, + GTK_TYPE_TREE_MODEL_FILTER, + G_IMPLEMENT_INTERFACE(GTK_TYPE_TREE_SORTABLE, + trg_sortable_filtered_model_tree_sortable_init)) static void trg_sortable_filtered_model_class_init(TrgSortableFilteredModelClass * - klass) + klass) { } static void trg_sortable_filtered_model_init(TrgSortableFilteredModel * - self) + self) { } static void trg_sortable_filtered_model_tree_sortable_init(GtkTreeSortableIface * - iface) + iface) { iface->get_sort_column_id = - trg_sortable_filtered_model_sort_get_sort_column_id; + trg_sortable_filtered_model_sort_get_sort_column_id; iface->set_sort_column_id = - trg_sortable_filtered_model_sort_set_sort_column_id; + trg_sortable_filtered_model_sort_set_sort_column_id; iface->set_sort_func = trg_sortable_filtered_model_sort_set_sort_func; iface->set_default_sort_func = - trg_sortable_filtered_model_sort_set_default_sort_func; + trg_sortable_filtered_model_sort_set_default_sort_func; iface->has_default_sort_func = - trg_sortable_filtered_model_sort_has_default_sort_func; + trg_sortable_filtered_model_sort_has_default_sort_func; } static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable - * - realSortable - G_GNUC_UNUSED, - GtkTreeSortable - * fakeSortable) + * + realSortable + G_GNUC_UNUSED, + GtkTreeSortable + * fakeSortable) { g_signal_emit_by_name(fakeSortable, "sort-column-changed"); } GtkTreeModel *trg_sortable_filtered_model_new(GtkTreeSortable * - child_model, - GtkTreePath * root) + child_model, + GtkTreePath * root) { g_return_val_if_fail(GTK_IS_TREE_MODEL(child_model), NULL); g_return_val_if_fail(GTK_IS_TREE_SORTABLE(child_model), NULL); GObject *obj = g_object_new(TRG_TYPE_SORTABLE_FILTERED_MODEL, - "child-model", GTK_TREE_MODEL(child_model), - "virtual-root", root, - NULL); + "child-model", GTK_TREE_MODEL(child_model), + "virtual-root", root, + NULL); g_signal_connect(child_model, "sort-column-changed", - G_CALLBACK - (trg_sortable_filtered_model_sort_column_changed), - obj); + G_CALLBACK + (trg_sortable_filtered_model_sort_column_changed), + obj); return GTK_TREE_MODEL(obj); } static GtkTreeSortable - *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * - sortable) + * trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * + sortable) { return - GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model - (GTK_TREE_MODEL_FILTER(sortable))); + GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER(sortable))); } static gboolean trg_sortable_filtered_model_sort_get_sort_column_id(GtkTreeSortable * - sortable, - gint * sort_column_id, - GtkSortType * order) + sortable, + gint * sort_column_id, + GtkSortType * order) { GtkTreeSortable *realSortable = - trg_sortable_filtered_model_get_real_sortable(sortable); + trg_sortable_filtered_model_get_real_sortable(sortable); return gtk_tree_sortable_get_sort_column_id(realSortable, - sort_column_id, order); + sort_column_id, order); } static void trg_sortable_filtered_model_sort_set_sort_column_id(GtkTreeSortable * - sortable, - gint sort_column_id, - GtkSortType order) + sortable, + gint sort_column_id, + GtkSortType order) { GtkTreeSortable *realSortable = - trg_sortable_filtered_model_get_real_sortable(sortable); + trg_sortable_filtered_model_get_real_sortable(sortable); gtk_tree_sortable_set_sort_column_id(realSortable, sort_column_id, - order); + order); } static void trg_sortable_filtered_model_sort_set_sort_func(GtkTreeSortable - * sortable, - gint - sort_column_id, - GtkTreeIterCompareFunc - func, - gpointer data, - GDestroyNotify - destroy) + * sortable, + gint + sort_column_id, + GtkTreeIterCompareFunc + func, + gpointer data, + GDestroyNotify + destroy) { GtkTreeSortable *realSortable = - trg_sortable_filtered_model_get_real_sortable(sortable); + trg_sortable_filtered_model_get_real_sortable(sortable); gtk_tree_sortable_set_sort_func(realSortable, sort_column_id, func, - data, destroy); + data, destroy); } static void trg_sortable_filtered_model_sort_set_default_sort_func(GtkTreeSortable * - sortable, - GtkTreeIterCompareFunc - func, gpointer data, - GDestroyNotify - destroy) + sortable, + GtkTreeIterCompareFunc + func, gpointer data, + GDestroyNotify + destroy) { GtkTreeSortable *realSortable = - trg_sortable_filtered_model_get_real_sortable(sortable); + trg_sortable_filtered_model_get_real_sortable(sortable); gtk_tree_sortable_set_default_sort_func(realSortable, func, data, - destroy); + destroy); } static gboolean trg_sortable_filtered_model_sort_has_default_sort_func(GtkTreeSortable * - sortable) + sortable) { GtkTreeSortable *realSortable = - trg_sortable_filtered_model_get_real_sortable(sortable); + trg_sortable_filtered_model_get_real_sortable(sortable); return gtk_tree_sortable_has_default_sort_func(realSortable); } diff --git a/src/trg-sortable-filtered-model.h b/src/trg-sortable-filtered-model.h index 9abc456..325b787 100644 --- a/src/trg-sortable-filtered-model.h +++ b/src/trg-sortable-filtered-model.h @@ -46,9 +46,9 @@ typedef struct { GType trg_sortable_filtered_model_get_type(void); GtkTreeModel *trg_sortable_filtered_model_new(GtkTreeSortable * - child_model, - GtkTreePath * root); + child_model, + GtkTreePath * root); G_END_DECLS -#endif /* _TRG_SORTABLE_FILTERED_MODEL */ +#endif /* _TRG_SORTABLE_FILTERED_MODEL */ diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index eded9f4..ee7cd75 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -73,7 +73,7 @@ guint32 trg_state_selector_get_flag(TrgStateSelector * s) } static void state_selection_changed(GtkTreeSelection * selection, - gpointer data) + gpointer data) { TrgStateSelectorPrivate *priv; GtkTreeIter iter; @@ -83,20 +83,20 @@ static void state_selection_changed(GtkTreeSelection * selection, priv = TRG_STATE_SELECTOR_GET_PRIVATE(data); if (gtk_tree_selection_get_selected(selection, &stateModel, &iter)) - gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, - &priv->flag, STATE_SELECTOR_INDEX, &index, -1); + gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, + &priv->flag, STATE_SELECTOR_INDEX, &index, -1); else - priv->flag = 0; + priv->flag = 0; trg_prefs_set_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, index, - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); g_signal_emit(TRG_STATE_SELECTOR(data), - signals[SELECTOR_STATE_CHANGED], 0, priv->flag); + signals[SELECTOR_STATE_CHANGED], 0, priv->flag); } static GtkTreeRowReference *quick_tree_ref_new(GtkTreeModel * model, - GtkTreeIter * iter) + GtkTreeIter * iter) { GtkTreePath *path = gtk_tree_model_get_path(model, iter); GtkTreeRowReference *rr = gtk_tree_row_reference_new(model, path); @@ -110,8 +110,8 @@ struct cruft_remove_args { }; static gboolean trg_state_selector_remove_cruft(gpointer key, - gpointer value, - gpointer data) + gpointer value, + gpointer data) { struct cruft_remove_args *args = (struct cruft_remove_args *) data; GtkTreeRowReference *rr = (GtkTreeRowReference *) value; @@ -124,7 +124,7 @@ static gboolean trg_state_selector_remove_cruft(gpointer key, gtk_tree_model_get_iter(model, &iter, path); gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, ¤tSerial, - -1); + -1); remove = (args->serial != currentSerial); @@ -141,20 +141,20 @@ gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) gchar *name = NULL; if (gtk_tree_selection_get_selected(sel, &model, &iter)) - gtk_tree_model_get(model, &iter, STATE_SELECTOR_NAME, &name, -1); + gtk_tree_model_get(model, &iter, STATE_SELECTOR_NAME, &name, -1); return name; } static void trg_state_selector_update_serial(GtkTreeModel * model, - GtkTreeRowReference * rr, - gint64 serial) + GtkTreeRowReference * rr, + gint64 serial) { GtkTreeIter iter; GtkTreePath *path = gtk_tree_row_reference_get_path(rr); gtk_tree_model_get_iter(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, STATE_SELECTOR_SERIAL, - serial, -1); + serial, -1); gtk_tree_path_free(path); } @@ -164,7 +164,7 @@ static void refresh_statelist_cb(GtkWidget * w, gpointer data) } static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *item; @@ -173,16 +173,16 @@ static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, item = gtk_image_menu_item_new_with_label(GTK_STOCK_REFRESH); 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); g_signal_connect(item, "activate", G_CALLBACK(refresh_statelist_cb), - treeview); + treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 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 gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) @@ -192,12 +192,12 @@ static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) } static gboolean view_onButtonPressed(GtkWidget * treeview, - GdkEventButton * event, - gpointer userdata) + GdkEventButton * event, + gpointer userdata) { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - view_popup_menu(treeview, event, userdata); - return TRUE; + view_popup_menu(treeview, event, userdata); + return TRUE; } return FALSE; @@ -211,20 +211,20 @@ struct state_find_pos { }; static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model, - GtkTreePath * path, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * path, + GtkTreeIter * iter, + gpointer data) { struct state_find_pos *args = (struct state_find_pos *) data; gchar *name; gboolean res; if (args->pos < args->offset) { - args->pos++; - return FALSE; + args->pos++; + return FALSE; } else if (args->range >= 0 - && args->pos > args->offset + args->range - 1) { - return TRUE; + && args->pos > args->offset + args->range - 1) { + return TRUE; } gtk_tree_model_get(model, iter, STATE_SELECTOR_NAME, &name, -1); @@ -232,14 +232,14 @@ static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model, g_free(name); if (!res) - args->pos++; + args->pos++; return res; } static void trg_state_selector_insert(TrgStateSelector * s, int offset, - gint range, const gchar * name, - GtkTreeIter * iter) + gint range, const gchar * name, + GtkTreeIter * iter) { GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s)); @@ -250,7 +250,7 @@ static void trg_state_selector_insert(TrgStateSelector * s, int offset, args.name = name; gtk_tree_model_foreach(model, trg_state_selector_find_pos_foreach, - &args); + &args); gtk_list_store_insert(GTK_LIST_STORE(model), iter, args.pos); } @@ -270,102 +270,101 @@ void trg_state_selector_update(TrgStateSelector * s) struct cruft_remove_args cruft; if (!trg_client_is_connected(client)) - return; + return; torrentItemRefs = - g_hash_table_get_values(trg_client_get_torrent_table(client)); + g_hash_table_get_values(trg_client_get_torrent_table(client)); for (li = torrentItemRefs; li; li = g_list_next(li)) { - JsonObject *t = NULL; - rr = (GtkTreeRowReference *) li->data; - path = gtk_tree_row_reference_get_path(rr); - torrentModel = gtk_tree_row_reference_get_model(rr); - - if (path) { - if (gtk_tree_model_get_iter(torrentModel, &torrentIter, path)) { - gtk_tree_model_get(torrentModel, &torrentIter, - TORRENT_COLUMN_JSON, &t, -1); - } - gtk_tree_path_free(path); - } - - if (!t) - continue; - - if (priv->showTrackers) { - trackersList - = json_array_get_elements(torrent_get_tracker_stats(t)); - for (trackerItem = trackersList; trackerItem; trackerItem - = g_list_next(trackerItem)) { - JsonObject *tracker = json_node_get_object((JsonNode *) - trackerItem-> - data); - const gchar *announceUrl = - tracker_stats_get_announce(tracker); - gchar *announceHost = - trg_gregex_get_first(priv->urlHostRegex, - announceUrl); - - if (!announceHost) - continue; - - result = g_hash_table_lookup(priv->trackers, announceHost); - - if (result) { - trg_state_selector_update_serial(model, - (GtkTreeRowReference - *) result, - updateSerial); - g_free(announceHost); - } else { - trg_state_selector_insert(s, priv->n_categories, - g_hash_table_size(priv-> - trackers), - announceHost, &iter); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, - STATE_SELECTOR_ICON, - GTK_STOCK_NETWORK, - STATE_SELECTOR_NAME, announceHost, - STATE_SELECTOR_SERIAL, updateSerial, - STATE_SELECTOR_BIT, - FILTER_FLAG_TRACKER, - STATE_SELECTOR_INDEX, 0, -1); - g_hash_table_insert(priv->trackers, announceHost, - quick_tree_ref_new(model, &iter)); - } - } - g_list_free(trackersList); - } - - if (priv->showDirs) { - gchar *dir; - gtk_tree_model_get(torrentModel, &torrentIter, - TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dir, -1); - - result = g_hash_table_lookup(priv->directories, dir); - if (result) { - trg_state_selector_update_serial(model, - (GtkTreeRowReference *) - result, updateSerial); - } else { - trg_state_selector_insert(s, - priv->n_categories + - g_hash_table_size(priv-> - trackers), -1, - dir, &iter); - gtk_list_store_set(GTK_LIST_STORE(model), &iter, - STATE_SELECTOR_ICON, - GTK_STOCK_DIRECTORY, - STATE_SELECTOR_NAME, dir, - STATE_SELECTOR_SERIAL, updateSerial, - STATE_SELECTOR_BIT, FILTER_FLAG_DIR, - STATE_SELECTOR_INDEX, 0, -1); - g_hash_table_insert(priv->directories, g_strdup(dir), - quick_tree_ref_new(model, &iter)); - } - - g_free(dir); - } + JsonObject *t = NULL; + rr = (GtkTreeRowReference *) li->data; + path = gtk_tree_row_reference_get_path(rr); + torrentModel = gtk_tree_row_reference_get_model(rr); + + if (path) { + if (gtk_tree_model_get_iter(torrentModel, &torrentIter, path)) { + gtk_tree_model_get(torrentModel, &torrentIter, + TORRENT_COLUMN_JSON, &t, -1); + } + gtk_tree_path_free(path); + } + + if (!t) + continue; + + if (priv->showTrackers) { + trackersList + = json_array_get_elements(torrent_get_tracker_stats(t)); + for (trackerItem = trackersList; trackerItem; trackerItem + = g_list_next(trackerItem)) { + JsonObject *tracker = json_node_get_object((JsonNode *) + trackerItem->data); + const gchar *announceUrl = + tracker_stats_get_announce(tracker); + gchar *announceHost = + trg_gregex_get_first(priv->urlHostRegex, + announceUrl); + + if (!announceHost) + continue; + + result = g_hash_table_lookup(priv->trackers, announceHost); + + if (result) { + trg_state_selector_update_serial(model, + (GtkTreeRowReference + *) result, + updateSerial); + g_free(announceHost); + } else { + trg_state_selector_insert(s, priv->n_categories, + g_hash_table_size + (priv->trackers), + announceHost, &iter); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + STATE_SELECTOR_ICON, + GTK_STOCK_NETWORK, + STATE_SELECTOR_NAME, announceHost, + STATE_SELECTOR_SERIAL, updateSerial, + STATE_SELECTOR_BIT, + FILTER_FLAG_TRACKER, + STATE_SELECTOR_INDEX, 0, -1); + g_hash_table_insert(priv->trackers, announceHost, + quick_tree_ref_new(model, &iter)); + } + } + g_list_free(trackersList); + } + + if (priv->showDirs) { + gchar *dir; + gtk_tree_model_get(torrentModel, &torrentIter, + TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dir, -1); + + result = g_hash_table_lookup(priv->directories, dir); + if (result) { + trg_state_selector_update_serial(model, + (GtkTreeRowReference *) + result, updateSerial); + } else { + trg_state_selector_insert(s, + priv->n_categories + + g_hash_table_size + (priv->trackers), -1, dir, + &iter); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + STATE_SELECTOR_ICON, + GTK_STOCK_DIRECTORY, + STATE_SELECTOR_NAME, dir, + STATE_SELECTOR_SERIAL, updateSerial, + STATE_SELECTOR_BIT, FILTER_FLAG_DIR, + STATE_SELECTOR_INDEX, 0, -1); + g_hash_table_insert(priv->directories, g_strdup(dir), + quick_tree_ref_new(model, &iter)); + } + + g_free(dir); + } } g_list_free(torrentItemRefs); @@ -373,17 +372,17 @@ void trg_state_selector_update(TrgStateSelector * s) cruft.serial = trg_client_get_serial(client); if (priv->showTrackers) { - cruft.table = priv->trackers; - g_hash_table_foreach_remove(priv->trackers, - trg_state_selector_remove_cruft, - &cruft); + cruft.table = priv->trackers; + g_hash_table_foreach_remove(priv->trackers, + trg_state_selector_remove_cruft, + &cruft); } if (priv->showDirs) { - cruft.table = priv->directories; - g_hash_table_foreach_remove(priv->directories, - trg_state_selector_remove_cruft, - &cruft); + cruft.table = priv->directories; + g_hash_table_foreach_remove(priv->directories, + trg_state_selector_remove_cruft, + &cruft); } } @@ -392,43 +391,43 @@ void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); priv->showDirs = show; if (!show) - g_hash_table_remove_all(priv->directories); + g_hash_table_remove_all(priv->directories); else - trg_state_selector_update(s); + trg_state_selector_update(s); } void trg_state_selector_set_show_trackers(TrgStateSelector * s, - gboolean show) + gboolean show) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); priv->showTrackers = show; if (!show) - g_hash_table_remove_all(priv->trackers); + g_hash_table_remove_all(priv->trackers); else - trg_state_selector_update(s); + trg_state_selector_update(s); } static void trg_state_selector_add_state(TrgStateSelector * selector, - GtkTreeIter * iter, gint pos, - gchar * icon, gchar * name, - guint32 flag) + GtkTreeIter * iter, gint pos, + gchar * icon, gchar * name, + guint32 flag) { TrgStateSelectorPrivate *priv = - TRG_STATE_SELECTOR_GET_PRIVATE(selector); + TRG_STATE_SELECTOR_GET_PRIVATE(selector); GtkListStore *model = - GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(selector))); + GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(selector))); if (pos < 0) - gtk_list_store_append(priv->store, iter); + gtk_list_store_append(priv->store, iter); else - gtk_list_store_insert(priv->store, iter, pos); + gtk_list_store_insert(priv->store, iter, pos); gtk_list_store_set(model, iter, STATE_SELECTOR_ICON, icon, - STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag, - STATE_SELECTOR_INDEX, - gtk_tree_model_iter_n_children(GTK_TREE_MODEL - (model), NULL) - 1, - -1); + STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag, + STATE_SELECTOR_INDEX, + gtk_tree_model_iter_n_children(GTK_TREE_MODEL + (model), NULL) - 1, + -1); priv->n_categories++; } @@ -446,21 +445,21 @@ static void remove_row_ref_and_free(GtkTreeRowReference * rr) } void trg_state_selector_stats_update(TrgStateSelector * s, - trg_torrent_model_update_stats * - stats) + trg_torrent_model_update_stats * + stats) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeIter iter; if (stats->error > 0 && !priv->error_rr) { - trg_state_selector_add_state(s, &iter, priv->n_categories - 1, - GTK_STOCK_DIALOG_WARNING, _("Error"), - TORRENT_FLAG_ERROR); - priv->error_rr = - quick_tree_ref_new(GTK_TREE_MODEL(priv->store), &iter); + trg_state_selector_add_state(s, &iter, priv->n_categories - 1, + GTK_STOCK_DIALOG_WARNING, _("Error"), + TORRENT_FLAG_ERROR); + priv->error_rr = + quick_tree_ref_new(GTK_TREE_MODEL(priv->store), &iter); } else if (stats->error < 1 && priv->error_rr) { - remove_row_ref_and_free(priv->error_rr); - priv->error_rr = NULL; - priv->n_categories--; + remove_row_ref_and_free(priv->error_rr); + priv->error_rr = NULL; + priv->n_categories--; } } @@ -469,9 +468,9 @@ void trg_state_selector_disconnect(TrgStateSelector * s) TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); if (priv->error_rr) { - remove_row_ref_and_free(priv->error_rr); - priv->error_rr = NULL; - priv->n_categories--; + remove_row_ref_and_free(priv->error_rr); + priv->error_rr = NULL; + priv->n_categories--; } g_hash_table_remove_all(priv->trackers); @@ -488,10 +487,10 @@ TrgStateSelector *trg_state_selector_new(TrgClient * client) } static GObject *trg_state_selector_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgStateSelector *selector; @@ -504,20 +503,20 @@ static GObject *trg_state_selector_constructor(GType type, GtkTreeSelection *selection; object = G_OBJECT_CLASS - (trg_state_selector_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_state_selector_parent_class)->constructor(type, + n_construct_properties, + construct_params); selector = TRG_STATE_SELECTOR(object); priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); priv->urlHostRegex = trg_uri_host_regex_new(); priv->trackers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, - (GDestroyNotify) - remove_row_ref_and_free); + (GDestroyNotify) + remove_row_ref_and_free); priv->directories = - g_hash_table_new_full(g_str_hash, g_str_equal, g_free, - (GDestroyNotify) remove_row_ref_and_free); + g_hash_table_new_full(g_str_hash, g_str_equal, g_free, + (GDestroyNotify) remove_row_ref_and_free); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(object), FALSE); @@ -527,7 +526,7 @@ static GObject *trg_state_selector_constructor(GType type, gtk_tree_view_column_pack_start(column, renderer, FALSE); g_object_set(renderer, "stock-size", 4, NULL); gtk_tree_view_column_set_attributes(column, renderer, "stock-id", 0, - NULL); + NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); @@ -536,35 +535,35 @@ static GObject *trg_state_selector_constructor(GType type, gtk_tree_view_append_column(GTK_TREE_VIEW(object), column); store = priv->store = - gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT64, - G_TYPE_UINT); + gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT64, + G_TYPE_UINT); gtk_tree_view_set_model(GTK_TREE_VIEW(object), GTK_TREE_MODEL(store)); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_ABOUT, - _("All"), 0); + _("All"), 0); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_DOWN, - _("Downloading"), - TORRENT_FLAG_DOWNLOADING); + _("Downloading"), + TORRENT_FLAG_DOWNLOADING); trg_state_selector_add_state(selector, &iter, -1, - GTK_STOCK_MEDIA_REWIND, _("Queue Down"), - TORRENT_FLAG_DOWNLOADING_WAIT); + GTK_STOCK_MEDIA_REWIND, _("Queue Down"), + TORRENT_FLAG_DOWNLOADING_WAIT); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_UP, - _("Seeding"), TORRENT_FLAG_SEEDING); + _("Seeding"), TORRENT_FLAG_SEEDING); trg_state_selector_add_state(selector, &iter, -1, - GTK_STOCK_MEDIA_FORWARD, _("Queue Up"), - TORRENT_FLAG_SEEDING_WAIT); + GTK_STOCK_MEDIA_FORWARD, _("Queue Up"), + TORRENT_FLAG_SEEDING_WAIT); trg_state_selector_add_state(selector, &iter, -1, - GTK_STOCK_MEDIA_PAUSE, _("Paused"), - TORRENT_FLAG_PAUSED); + GTK_STOCK_MEDIA_PAUSE, _("Paused"), + TORRENT_FLAG_PAUSED); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_APPLY, - _("Complete"), TORRENT_FLAG_COMPLETE); + _("Complete"), TORRENT_FLAG_COMPLETE); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_SELECT_ALL, - _("Incomplete"), TORRENT_FLAG_INCOMPLETE); + _("Incomplete"), TORRENT_FLAG_INCOMPLETE); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_NETWORK, - _("Active"), TORRENT_FLAG_ACTIVE); + _("Active"), TORRENT_FLAG_ACTIVE); trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_REFRESH, - _("Checking"), TORRENT_FLAG_CHECKING_ANY); + _("Checking"), TORRENT_FLAG_CHECKING_ANY); trg_state_selector_add_state(selector, &iter, -1, NULL, NULL, 0); gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(object), TRUE); @@ -572,88 +571,88 @@ static GObject *trg_state_selector_constructor(GType type, selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(object)); g_signal_connect(G_OBJECT(selection), "changed", - G_CALLBACK(state_selection_changed), object); + G_CALLBACK(state_selection_changed), object); g_signal_connect(object, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(object, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); gtk_tree_view_set_search_column(GTK_TREE_VIEW(object), - STATE_SELECTOR_NAME); + STATE_SELECTOR_NAME); index = trg_prefs_get_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, - TRG_PREFS_GLOBAL); + TRG_PREFS_GLOBAL); if (index > 0 && gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), - &iter, NULL, index)) { - GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(object)); - gtk_tree_selection_select_iter(selection, &iter); + &iter, NULL, index)) { + GtkTreeSelection *selection = + gtk_tree_view_get_selection(GTK_TREE_VIEW(object)); + gtk_tree_selection_select_iter(selection, &iter); } priv->showDirs = - trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, - TRG_PREFS_GLOBAL); + trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, + TRG_PREFS_GLOBAL); priv->showTrackers = - trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_TRACKERS, - TRG_PREFS_GLOBAL); + trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_TRACKERS, + TRG_PREFS_GLOBAL); return object; } void trg_state_selector_set_queues_enabled(TrgStateSelector * s, - gboolean enabled) + gboolean enabled) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s)); GtkTreeIter iter; if (enabled) { - trg_state_selector_add_state(s, &iter, 2, GTK_STOCK_MEDIA_REWIND, - _("Queue Down"), - TORRENT_FLAG_DOWNLOADING_WAIT); - trg_state_selector_add_state(s, &iter, 4, GTK_STOCK_MEDIA_FORWARD, - _("Queue Up"), - TORRENT_FLAG_SEEDING_WAIT); + trg_state_selector_add_state(s, &iter, 2, GTK_STOCK_MEDIA_REWIND, + _("Queue Down"), + TORRENT_FLAG_DOWNLOADING_WAIT); + trg_state_selector_add_state(s, &iter, 4, GTK_STOCK_MEDIA_FORWARD, + _("Queue Up"), + TORRENT_FLAG_SEEDING_WAIT); } else { - gtk_tree_model_iter_nth_child(model, &iter, NULL, 4); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_tree_model_iter_nth_child(model, &iter, NULL, 4); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - gtk_tree_model_iter_nth_child(model, &iter, NULL, 2); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_tree_model_iter_nth_child(model, &iter, NULL, 2); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - priv->n_categories -= 2; + priv->n_categories -= 2; } } static void trg_state_selector_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, + GParamSpec * pspec) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_object(value, priv->client); - break; + g_value_set_object(value, priv->client); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_state_selector_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * - pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * + pspec G_GNUC_UNUSED) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); switch (prop_id) { case PROP_CLIENT: - priv->client = g_value_get_object(value); - priv->prefs = trg_client_get_prefs(priv->client); - break; + priv->client = g_value_get_object(value); + priv->prefs = trg_client_get_prefs(priv->client); + break; } } @@ -665,32 +664,32 @@ static void trg_state_selector_class_init(TrgStateSelectorClass * klass) object_class->get_property = trg_state_selector_get_property; signals[SELECTOR_STATE_CHANGED] = g_signal_new("torrent-state-changed", - G_TYPE_FROM_CLASS - (object_class), - G_SIGNAL_RUN_LAST | - G_SIGNAL_ACTION, - G_STRUCT_OFFSET - (TrgStateSelectorClass, - torrent_state_changed), - NULL, NULL, - g_cclosure_marshal_VOID__UINT, - G_TYPE_NONE, 1, - G_TYPE_UINT); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgStateSelectorClass, + torrent_state_changed), + NULL, NULL, + g_cclosure_marshal_VOID__UINT, + G_TYPE_NONE, 1, + G_TYPE_UINT); g_object_class_install_property(object_class, - PROP_CLIENT, - g_param_spec_object("client", - "Client", - "Client", - TRG_TYPE_CLIENT, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_CLIENT, + g_param_spec_object("client", + "Client", + "Client", + TRG_TYPE_CLIENT, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgStateSelectorPrivate)); } diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h index 37d2f3a..d7a494e 100644 --- a/src/trg-state-selector.h +++ b/src/trg-state-selector.h @@ -55,7 +55,7 @@ typedef struct { GtkTreeViewClass parent_class; void (*torrent_state_changed) (TrgStateSelector * selector, - guint flag, gpointer data); + guint flag, gpointer data); } TrgStateSelectorClass; @@ -68,12 +68,12 @@ gchar *trg_state_selector_get_selected_text(TrgStateSelector * s); GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s); void trg_state_selector_disconnect(TrgStateSelector * s); void trg_state_selector_set_show_trackers(TrgStateSelector * s, - gboolean show); + gboolean show); void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show); void trg_state_selector_set_queues_enabled(TrgStateSelector * s, - gboolean enabled); + gboolean enabled); void trg_state_selector_stats_update(TrgStateSelector * s, - trg_torrent_model_update_stats * - stats); + trg_torrent_model_update_stats * + stats); -#endif /* TRG_STATE_LIST_H_ */ +#endif /* TRG_STATE_LIST_H_ */ diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index 87aaf5d..8bad6c1 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -57,7 +57,7 @@ struct _TrgStatsDialogPrivate { GtkWidget *tv; GtkListStore *model; GtkTreeRowReference *rr_up, *rr_down, *rr_files_added, - *rr_session_count, *rr_active, *rr_version; + *rr_session_count, *rr_active, *rr_version; }; static GObject *instance = NULL; @@ -66,39 +66,39 @@ static gboolean on_stats_reply(gpointer data); static void trg_stats_dialog_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } static void trg_stats_dialog_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { TrgStatsDialogPrivate *priv = TRG_STATS_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_stats_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { gtk_widget_destroy(GTK_WIDGET(dlg)); instance = NULL; } static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * - model, gchar * name) + model, gchar * name) { GtkTreeIter iter; GtkTreePath *path; @@ -115,7 +115,7 @@ static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * } static void update_statistic(GtkTreeRowReference * rr, gchar * session, - gchar * cumulat) + gchar * cumulat) { GtkTreePath *path = gtk_tree_row_reference_get_path(rr); GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); @@ -124,7 +124,7 @@ static void update_statistic(GtkTreeRowReference * rr, gchar * session, gtk_tree_model_get_iter(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, STATCOL_SESSION, - session, STATCOL_CUMULAT, cumulat, -1); + session, STATCOL_CUMULAT, cumulat, -1); gtk_tree_path_free(path); } @@ -140,49 +140,49 @@ static JsonObject *get_cumulat_arg(JsonObject * args) } static void update_int_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; g_snprintf(session_val, sizeof(session_val), "%" G_GINT64_FORMAT, - json_object_get_int_member(get_session_arg(args), jsonKey)); + json_object_get_int_member(get_session_arg(args), jsonKey)); g_snprintf(cumulat_val, sizeof(cumulat_val), "%" G_GINT64_FORMAT, - json_object_get_int_member(get_cumulat_arg(args), jsonKey)); + json_object_get_int_member(get_cumulat_arg(args), jsonKey)); update_statistic(rr, session_val, cumulat_val); } static void update_size_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; trg_strlsize(cumulat_val, - json_object_get_int_member(get_cumulat_arg(args), - jsonKey)); + json_object_get_int_member(get_cumulat_arg(args), + jsonKey)); trg_strlsize(session_val, - json_object_get_int_member(get_session_arg(args), - jsonKey)); + json_object_get_int_member(get_session_arg(args), + jsonKey)); update_statistic(rr, session_val, cumulat_val); } static void update_time_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; tr_strltime_long(session_val, - json_object_get_int_member(get_session_arg(args), - jsonKey), - sizeof(session_val)); + json_object_get_int_member(get_session_arg(args), + jsonKey), + sizeof(session_val)); tr_strltime_long(cumulat_val, - json_object_get_int_member(get_cumulat_arg(args), - jsonKey), - sizeof(cumulat_val)); + json_object_get_int_member(get_cumulat_arg(args), + jsonKey), + sizeof(cumulat_val)); update_statistic(rr, session_val, cumulat_val); } @@ -194,32 +194,32 @@ static gboolean on_stats_reply(gpointer data) JsonObject *args; if (!TRG_IS_STATS_DIALOG(response->cb_data)) { - trg_response_free(response); - return FALSE; + trg_response_free(response); + return FALSE; } priv = TRG_STATS_DIALOG_GET_PRIVATE(response->cb_data); if (response->status == CURLE_OK) { - args = get_arguments(response->obj); - - char versionStr[32]; - g_snprintf(versionStr, sizeof(versionStr), "Transmission %s", - trg_client_get_version_string(priv->client)); - update_statistic(priv->rr_version, versionStr, ""); - - update_size_stat(args, priv->rr_up, "uploadedBytes"); - update_size_stat(args, priv->rr_down, "downloadedBytes"); - update_int_stat(args, priv->rr_files_added, "filesAdded"); - update_int_stat(args, priv->rr_session_count, "sessionCount"); - update_time_stat(args, priv->rr_active, "secondsActive"); - - if (trg_client_is_connected(priv->client)) - g_timeout_add_seconds(STATS_UPDATE_INTERVAL, - trg_update_stats_timerfunc, - response->cb_data); + args = get_arguments(response->obj); + + char versionStr[32]; + g_snprintf(versionStr, sizeof(versionStr), "Transmission %s", + trg_client_get_version_string(priv->client)); + update_statistic(priv->rr_version, versionStr, ""); + + update_size_stat(args, priv->rr_up, "uploadedBytes"); + update_size_stat(args, priv->rr_down, "downloadedBytes"); + update_int_stat(args, priv->rr_files_added, "filesAdded"); + update_int_stat(args, priv->rr_session_count, "sessionCount"); + update_time_stat(args, priv->rr_active, "secondsActive"); + + if (trg_client_is_connected(priv->client)) + g_timeout_add_seconds(STATS_UPDATE_INTERVAL, + trg_update_stats_timerfunc, + response->cb_data); } else { - trg_error_dialog(GTK_WINDOW(data), response); + trg_error_dialog(GTK_WINDOW(data), response); } trg_response_free(response); @@ -231,21 +231,21 @@ static gboolean trg_update_stats_timerfunc(gpointer data) TrgStatsDialogPrivate *priv; if (TRG_IS_STATS_DIALOG(data)) { - priv = TRG_STATS_DIALOG_GET_PRIVATE(data); - dispatch_async(priv->client, session_stats(), on_stats_reply, - data); + priv = TRG_STATS_DIALOG_GET_PRIVATE(data); + dispatch_async(priv->client, session_stats(), on_stats_reply, + data); } return FALSE; } static void trg_stats_add_column(GtkTreeView * tv, gint index, - gchar * title, gint width) + gchar * title, gint width) { GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); GtkTreeViewColumn *column = - gtk_tree_view_column_new_with_attributes(title, renderer, - "text", index, NULL); + gtk_tree_view_column_new_with_attributes(title, renderer, + "text", index, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_fixed_width(column, width); @@ -253,66 +253,66 @@ static void trg_stats_add_column(GtkTreeView * tv, gint index, } static GObject *trg_stats_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GtkWidget *tv; GObject *obj = G_OBJECT_CLASS - (trg_stats_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_stats_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgStatsDialogPrivate *priv = TRG_STATS_DIALOG_GET_PRIVATE(obj); gtk_window_set_title(GTK_WINDOW(obj), _("Statistics")); gtk_window_set_transient_for(GTK_WINDOW(obj), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(obj), TRUE); gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_container_set_border_width(GTK_CONTAINER(obj), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(obj), GTK_RESPONSE_CLOSE); g_signal_connect(G_OBJECT(obj), - "response", G_CALLBACK(trg_stats_response_cb), NULL); + "response", G_CALLBACK(trg_stats_response_cb), NULL); priv->model = - gtk_list_store_new(STATCOL_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, - G_TYPE_STRING); + gtk_list_store_new(STATCOL_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING); priv->rr_version = - stats_dialog_add_statistic(priv->model, _("Version")); + stats_dialog_add_statistic(priv->model, _("Version")); priv->rr_down = - stats_dialog_add_statistic(priv->model, _("Download Total")); + stats_dialog_add_statistic(priv->model, _("Download Total")); priv->rr_up = - stats_dialog_add_statistic(priv->model, _("Upload Total")); + stats_dialog_add_statistic(priv->model, _("Upload Total")); priv->rr_files_added = - stats_dialog_add_statistic(priv->model, _("Files Added")); + stats_dialog_add_statistic(priv->model, _("Files Added")); priv->rr_session_count = - stats_dialog_add_statistic(priv->model, _("Session Count")); + stats_dialog_add_statistic(priv->model, _("Session Count")); priv->rr_active = - stats_dialog_add_statistic(priv->model, _("Time Active")); + stats_dialog_add_statistic(priv->model, _("Time Active")); tv = priv->tv = trg_tree_view_new(); gtk_widget_set_sensitive(tv, TRUE); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_STAT, _("Statistic"), - 200); + 200); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_SESSION, _("Session"), - 200); + 200); trg_stats_add_column(GTK_TREE_VIEW(tv), STATCOL_CUMULAT, - _("Cumulative"), 200); + _("Cumulative"), 200); gtk_tree_view_set_model(GTK_TREE_VIEW(tv), - GTK_TREE_MODEL(priv->model)); + GTK_TREE_MODEL(priv->model)); gtk_container_set_border_width(GTK_CONTAINER(tv), GUI_PAD); gtk_box_pack_start(GTK_BOX(gtk_bin_get_child(GTK_BIN(obj))), tv, TRUE, - TRUE, 0); + TRUE, 0); dispatch_async(priv->client, session_stats(), on_stats_reply, obj); @@ -330,27 +330,27 @@ static void trg_stats_dialog_class_init(TrgStatsDialogClass * klass) object_class->constructor = trg_stats_dialog_constructor; g_object_class_install_property(object_class, - PROP_PARENT, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", + TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void trg_stats_dialog_init(TrgStatsDialog * self) @@ -358,12 +358,12 @@ static void trg_stats_dialog_init(TrgStatsDialog * self) } TrgStatsDialog *trg_stats_dialog_get_instance(TrgMainWindow * parent, - TrgClient * client) + TrgClient * client) { if (instance == NULL) { - instance = g_object_new(TRG_TYPE_STATS_DIALOG, - "trg-client", client, - "parent-window", parent, NULL); + instance = g_object_new(TRG_TYPE_STATS_DIALOG, + "trg-client", client, + "parent-window", parent, NULL); } return TRG_STATS_DIALOG(instance); diff --git a/src/trg-stats-dialog.h b/src/trg-stats-dialog.h index 06da1e7..ee0656e 100644 --- a/src/trg-stats-dialog.h +++ b/src/trg-stats-dialog.h @@ -50,7 +50,7 @@ typedef struct { GType trg_stats_dialog_get_type(void); TrgStatsDialog *trg_stats_dialog_get_instance(TrgMainWindow * parent, - TrgClient * client); + TrgClient * client); G_END_DECLS -#endif /* TRG_STATS_DIALOG_H_ */ +#endif /* TRG_STATS_DIALOG_H_ */ diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index a6524ed..eb16267 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -83,7 +83,7 @@ static void trg_status_bar_init(TrgStatusBar * self) } void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg) + const gchar * msg) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); @@ -97,8 +97,8 @@ void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session) session_get_version(session, &version); statusMsg = - g_strdup_printf - (_("Connected to Transmission %g, getting torrents..."), version); + g_strdup_printf + (_("Connected to Transmission %g, getting torrents..."), version); g_message("%s", statusMsg); trg_status_bar_push_connection_msg(sb, statusMsg); g_free(statusMsg); @@ -111,19 +111,19 @@ void trg_status_bar_session_update(TrgStatusBar * sb, JsonObject * session) gchar freeSpace[64]; if (free >= 0) { - gchar *freeSpaceString; - trg_strlsize(freeSpace, free); - freeSpaceString = g_strdup_printf(_("Free space: %s"), freeSpace); - gtk_label_set_text(GTK_LABEL(priv->free_lbl), freeSpaceString); - g_free(freeSpaceString); + gchar *freeSpaceString; + trg_strlsize(freeSpace, free); + freeSpaceString = g_strdup_printf(_("Free space: %s"), freeSpace); + gtk_label_set_text(GTK_LABEL(priv->free_lbl), freeSpaceString); + g_free(freeSpaceString); } else { - gtk_label_set_text(GTK_LABEL(priv->free_lbl), ""); + gtk_label_set_text(GTK_LABEL(priv->free_lbl), ""); } } void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats, - TrgClient * client) + trg_torrent_model_update_stats * stats, + TrgClient * client) { TrgStatusBarPrivate *priv; JsonObject *session; @@ -137,45 +137,45 @@ void trg_status_bar_update(TrgStatusBar * sb, // The session should always exist otherwise this function wouldn't be called downlimitraw = - json_object_get_boolean_member(session, - SGET_SPEED_LIMIT_DOWN_ENABLED) ? - json_object_get_int_member(session, SGET_SPEED_LIMIT_DOWN) : -1; + json_object_get_boolean_member(session, + SGET_SPEED_LIMIT_DOWN_ENABLED) ? + json_object_get_int_member(session, SGET_SPEED_LIMIT_DOWN) : -1; uplimitraw = - json_object_get_boolean_member(session, - SGET_SPEED_LIMIT_UP_ENABLED) ? - json_object_get_int_member(session, SGET_SPEED_LIMIT_UP) : -1; + json_object_get_boolean_member(session, + SGET_SPEED_LIMIT_UP_ENABLED) ? + json_object_get_int_member(session, SGET_SPEED_LIMIT_UP) : -1; trg_strlspeed(downRateTotalString, - stats->downRateTotal / KILOBYTE_FACTOR); + stats->downRateTotal / KILOBYTE_FACTOR); trg_strlspeed(upRateTotalString, stats->upRateTotal / KILOBYTE_FACTOR); if (uplimitraw >= 0) { - gchar uplimitstring[32]; - trg_strlspeed(uplimitstring, uplimitraw); - g_snprintf(uplimit, sizeof(uplimit), _(" (Limit: %s)"), - uplimitstring); + gchar uplimitstring[32]; + trg_strlspeed(uplimitstring, uplimitraw); + g_snprintf(uplimit, sizeof(uplimit), _(" (Limit: %s)"), + uplimitstring); } if (downlimitraw >= 0) { - gchar downlimitstring[32]; - trg_strlspeed(downlimitstring, downlimitraw); - g_snprintf(downlimit, sizeof(downlimit), _(" (Limit: %s)"), - downlimitstring); + gchar downlimitstring[32]; + trg_strlspeed(downlimitstring, downlimitraw); + g_snprintf(downlimit, sizeof(downlimit), _(" (Limit: %s)"), + downlimitstring); } speedText = - g_strdup_printf(_("Down: %s%s, Up: %s%s"), downRateTotalString, - downlimitraw >= 0 ? downlimit : "", - upRateTotalString, uplimitraw >= 0 ? uplimit : ""); + g_strdup_printf(_("Down: %s%s, Up: %s%s"), downRateTotalString, + downlimitraw >= 0 ? downlimit : "", + upRateTotalString, uplimitraw >= 0 ? uplimit : ""); infoText = - g_strdup_printf - (ngettext - ("%d torrent: %d seeding, %d downloading, %d paused", - "%d torrents: %d seeding, %d downloading, %d paused", - stats->count), stats->count, stats->seeding, stats->down, - stats->paused); + g_strdup_printf + (ngettext + ("%d torrent: %d seeding, %d downloading, %d paused", + "%d torrents: %d seeding, %d downloading, %d paused", + stats->count), stats->count, stats->seeding, stats->down, + stats->paused); gtk_label_set_text(GTK_LABEL(priv->info_lbl), infoText); gtk_label_set_text(GTK_LABEL(priv->speed_lbl), speedText); diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index fad907b..68ea425 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -51,15 +51,15 @@ TrgStatusBar *trg_status_bar_new(); G_END_DECLS void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats, - TrgClient * client); + trg_torrent_model_update_stats * stats, + TrgClient * client); void trg_status_bar_session_update(TrgStatusBar * sb, - JsonObject * session); + JsonObject * session); void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session); void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg); + const gchar * msg); void trg_status_bar_reset(TrgStatusBar * sb); void trg_status_bar_clear_indicators(TrgStatusBar * sb); const gchar *trg_status_bar_get_speed_text(TrgStatusBar * s); -#endif /* TRG_STATUS_BAR_H_ */ +#endif /* TRG_STATUS_BAR_H_ */ diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index 1c28c74..8adfc0e 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -67,94 +67,94 @@ struct _TrgToolbarPrivate { static void trg_toolbar_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(object); switch (prop_id) { case PROP_PREFS: - priv->prefs = g_value_get_pointer(value); - break; + priv->prefs = g_value_get_pointer(value); + break; case PROP_MAIN_WINDOW: - priv->main_window = g_value_get_object(value); - break; + priv->main_window = g_value_get_object(value); + break; } } static void trg_toolbar_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(object); switch (property_id) { case PROP_CONNECT_BUTTON: - g_value_set_object(value, priv->tb_connect); - break; + g_value_set_object(value, priv->tb_connect); + break; case PROP_DISCONNECT_BUTTON: - g_value_set_object(value, priv->tb_disconnect); - break; + g_value_set_object(value, priv->tb_disconnect); + break; case PROP_ADD_BUTTON: - g_value_set_object(value, priv->tb_add); - break; + g_value_set_object(value, priv->tb_add); + break; /* case PROP_ADD_URL_BUTTON: g_value_set_object(value, priv->tb_add_url); break;*/ case PROP_REMOVE_BUTTON: - g_value_set_object(value, priv->tb_remove); - break; + g_value_set_object(value, priv->tb_remove); + break; case PROP_DELETE_BUTTON: - g_value_set_object(value, priv->tb_delete); - break; + g_value_set_object(value, priv->tb_delete); + break; case PROP_RESUME_BUTTON: - g_value_set_object(value, priv->tb_resume); - break; + g_value_set_object(value, priv->tb_resume); + break; case PROP_PAUSE_BUTTON: - g_value_set_object(value, priv->tb_pause); - break; - /*case PROP_VERIFY_BUTTON: - g_value_set_object(value, priv->tb_verify); - break; */ + g_value_set_object(value, priv->tb_pause); + break; + /*case PROP_VERIFY_BUTTON: + g_value_set_object(value, priv->tb_verify); + break; */ case PROP_PROPS_BUTTON: - g_value_set_object(value, priv->tb_props); - break; + g_value_set_object(value, priv->tb_props); + break; case PROP_REMOTE_PREFS_BUTTON: - g_value_set_object(value, priv->tb_remote_prefs); - break; + g_value_set_object(value, priv->tb_remote_prefs); + break; case PROP_LOCAL_PREFS_BUTTON: - g_value_set_object(value, priv->tb_local_prefs); - break; + g_value_set_object(value, priv->tb_local_prefs); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_toolbar_install_widget_prop(GObjectClass * class, guint propId, - const gchar * name, const gchar * nick) + const gchar * name, const gchar * nick) { g_object_class_install_property(class, - propId, - g_param_spec_object(name, - nick, - nick, - GTK_TYPE_WIDGET, - G_PARAM_READABLE - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + propId, + g_param_spec_object(name, + nick, + nick, + GTK_TYPE_WIDGET, + G_PARAM_READABLE + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } GtkWidget *trg_toolbar_item_new(TrgToolbar * toolbar, - gchar * text, - int *index, gchar * icon, - gboolean sensitive) + gchar * text, + int *index, gchar * icon, + gboolean sensitive) { GtkToolItem *w = gtk_tool_button_new_from_stock(icon); gtk_widget_set_sensitive(GTK_WIDGET(w), sensitive); @@ -167,27 +167,27 @@ static void trg_toolbar_refresh_menu(GtkWidget * w, gpointer data) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(data); GtkWidget *old = - gtk_menu_tool_button_get_menu(GTK_MENU_TOOL_BUTTON - (priv->tb_connect)); + gtk_menu_tool_button_get_menu(GTK_MENU_TOOL_BUTTON + (priv->tb_connect)); GtkWidget *new = - trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); gtk_widget_destroy(old); gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect), - new); + new); gtk_widget_show_all(new); } static GObject *trg_toolbar_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *obj = G_OBJECT_CLASS - (trg_toolbar_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_toolbar_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(obj); GtkToolItem *separator; @@ -195,7 +195,7 @@ static GObject *trg_toolbar_constructor(GType type, int position = 0; gtk_toolbar_set_icon_size(GTK_TOOLBAR(obj), - GTK_ICON_SIZE_LARGE_TOOLBAR); + GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_toolbar_set_style(GTK_TOOLBAR(obj), GTK_TOOLBAR_ICONS); //priv->tb_connect = @@ -203,23 +203,23 @@ static GObject *trg_toolbar_constructor(GType type, GTK_STOCK_CONNECT, TRUE); */ priv->tb_connect = - GTK_WIDGET(gtk_menu_tool_button_new_from_stock(GTK_STOCK_CONNECT)); + GTK_WIDGET(gtk_menu_tool_button_new_from_stock(GTK_STOCK_CONNECT)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(priv->tb_connect), - _("Connect")); + _("Connect")); menu = - trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); + trg_menu_bar_file_connect_menu_new(priv->main_window, priv->prefs); gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(priv->tb_connect), - menu); + menu); gtk_toolbar_insert(GTK_TOOLBAR(obj), GTK_TOOL_ITEM(priv->tb_connect), - position++); + position++); gtk_widget_show_all(menu); priv->tb_disconnect = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Disconnect"), &position, - GTK_STOCK_DISCONNECT, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Disconnect"), &position, + GTK_STOCK_DISCONNECT, FALSE); priv->tb_add = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Add"), &position, - GTK_STOCK_ADD, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Add"), &position, + GTK_STOCK_ADD, FALSE); /*priv->tb_add_url = trg_toolbar_item_new(self, "Add URL", 3, GTK_STOCK_ADD, FALSE); */ @@ -228,23 +228,23 @@ static GObject *trg_toolbar_constructor(GType type, gtk_toolbar_insert(GTK_TOOLBAR(obj), separator, position++); priv->tb_resume = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Resume"), &position, - GTK_STOCK_MEDIA_PLAY, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Resume"), &position, + GTK_STOCK_MEDIA_PLAY, FALSE); priv->tb_pause = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Pause"), &position, - GTK_STOCK_MEDIA_PAUSE, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Pause"), &position, + GTK_STOCK_MEDIA_PAUSE, FALSE); priv->tb_props = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Properties"), &position, - GTK_STOCK_PROPERTIES, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Properties"), &position, + GTK_STOCK_PROPERTIES, FALSE); priv->tb_remove = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove"), &position, - GTK_STOCK_REMOVE, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove"), &position, + GTK_STOCK_REMOVE, FALSE); priv->tb_delete = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove with data"), - &position, GTK_STOCK_CLEAR, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove with data"), + &position, GTK_STOCK_CLEAR, FALSE); /*priv->tb_verify = trg_toolbar_item_new(self, "Verify", 11, @@ -254,17 +254,17 @@ static GObject *trg_toolbar_constructor(GType type, gtk_toolbar_insert(GTK_TOOLBAR(obj), separator, position++); priv->tb_local_prefs = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Local Preferences"), - &position, GTK_STOCK_PREFERENCES, TRUE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Local Preferences"), + &position, GTK_STOCK_PREFERENCES, TRUE); priv->tb_remote_prefs = - trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remote Preferences"), - &position, GTK_STOCK_NETWORK, FALSE); + trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remote Preferences"), + &position, GTK_STOCK_NETWORK, FALSE); gtk_toolbar_set_tooltips(GTK_TOOLBAR(obj), TRUE); g_signal_connect(G_OBJECT(priv->prefs), "pref-profile-changed", - G_CALLBACK(trg_toolbar_refresh_menu), obj); + G_CALLBACK(trg_toolbar_refresh_menu), obj); return obj; } @@ -277,65 +277,65 @@ static void trg_toolbar_class_init(TrgToolbarClass * klass) object_class->constructor = trg_toolbar_constructor; g_object_class_install_property(object_class, - PROP_PREFS, - g_param_spec_pointer("prefs", - "Prefs", - "Prefs", - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PREFS, + g_param_spec_pointer("prefs", + "Prefs", + "Prefs", + G_PARAM_READWRITE + | + G_PARAM_CONSTRUCT + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, - PROP_MAIN_WINDOW, - g_param_spec_object("mainwindow", - "mainwindow", - "mainwindow", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_MAIN_WINDOW, + g_param_spec_object("mainwindow", + "mainwindow", + "mainwindow", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); trg_toolbar_install_widget_prop(object_class, PROP_CONNECT_BUTTON, - "connect-button", "Connect Button"); + "connect-button", "Connect Button"); trg_toolbar_install_widget_prop(object_class, - PROP_DISCONNECT_BUTTON, - "disconnect-button", - "Disconnect Button"); + PROP_DISCONNECT_BUTTON, + "disconnect-button", + "Disconnect Button"); trg_toolbar_install_widget_prop(object_class, PROP_ADD_BUTTON, - "add-button", "Add Button"); + "add-button", "Add Button"); trg_toolbar_install_widget_prop(object_class, PROP_ADD_URL_BUTTON, - "add-url-button", "Add URL Button"); + "add-url-button", "Add URL Button"); trg_toolbar_install_widget_prop(object_class, PROP_REMOVE_BUTTON, - "remove-button", "Remove Button"); + "remove-button", "Remove Button"); trg_toolbar_install_widget_prop(object_class, PROP_DELETE_BUTTON, - "delete-button", "Delete Button"); + "delete-button", "Delete Button"); trg_toolbar_install_widget_prop(object_class, PROP_RESUME_BUTTON, - "resume-button", "Resume Button"); + "resume-button", "Resume Button"); trg_toolbar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, - "pause-button", "Pause Button"); + "pause-button", "Pause Button"); /*trg_toolbar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, "verify-button", "Verify Button"); */ trg_toolbar_install_widget_prop(object_class, PROP_PROPS_BUTTON, - "props-button", "Props Button"); + "props-button", "Props Button"); trg_toolbar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, - "remote-prefs-button", - "Remote Prefs Button"); + PROP_REMOTE_PREFS_BUTTON, + "remote-prefs-button", + "Remote Prefs Button"); trg_toolbar_install_widget_prop(object_class, - PROP_LOCAL_PREFS_BUTTON, - "local-prefs-button", - "Local Prefs Button"); + PROP_LOCAL_PREFS_BUTTON, + "local-prefs-button", + "Local Prefs Button"); g_type_class_add_private(klass, sizeof(TrgToolbarPrivate)); } @@ -352,7 +352,7 @@ void trg_toolbar_connected_change(TrgToolbar * tb, gboolean connected) } void trg_toolbar_torrent_actions_sensitive(TrgToolbar * tb, - gboolean sensitive) + gboolean sensitive) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(tb); @@ -372,5 +372,5 @@ static void trg_toolbar_init(TrgToolbar * self) TrgToolbar *trg_toolbar_new(TrgMainWindow * win, TrgPrefs * prefs) { return g_object_new(TRG_TYPE_TOOLBAR, - "prefs", prefs, "mainwindow", win, NULL); + "prefs", prefs, "mainwindow", win, NULL); } diff --git a/src/trg-toolbar.h b/src/trg-toolbar.h index cdbc199..8bea8ac 100644 --- a/src/trg-toolbar.h +++ b/src/trg-toolbar.h @@ -53,7 +53,7 @@ TrgToolbar *trg_toolbar_new(TrgMainWindow * win, TrgPrefs * prefs); G_END_DECLS void trg_toolbar_torrent_actions_sensitive(TrgToolbar * mb, - gboolean sensitive); + gboolean sensitive); void trg_toolbar_connected_change(TrgToolbar * tb, gboolean connected); -#endif /* TRG_TOOLBAR_H_ */ +#endif /* TRG_TOOLBAR_H_ */ diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index a405556..ffa35e2 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -86,85 +86,85 @@ struct _TrgTorrentAddDialogPrivate { static void trg_torrent_add_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_FILENAME: - priv->filenames = g_value_get_pointer(value); - break; + priv->filenames = g_value_get_pointer(value); + break; case PROP_PARENT: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; } } static void trg_torrent_add_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_FILENAME: - g_value_set_pointer(value, priv->filenames); - break; + g_value_set_pointer(value, priv->filenames); + break; case PROP_PARENT: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; } } static void add_set_common_args(JsonObject * args, gint priority, - gchar * dir) + gchar * dir) { json_object_set_string_member(args, FIELD_FILE_DOWNLOAD_DIR, dir); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, - (gint64) priority); + (gint64) priority); } static gpointer add_files_threadfunc(gpointer data) { struct add_torrent_threadfunc_args *files_thread_data = - (struct add_torrent_threadfunc_args *) data; + (struct add_torrent_threadfunc_args *) data; GSList *li; for (li = files_thread_data->list; li; li = g_slist_next(li)) { - gchar *fileName = (gchar *) li->data; - JsonNode *request = - torrent_add(fileName, files_thread_data->flags); - JsonObject *args; - trg_response *response; + gchar *fileName = (gchar *) li->data; + JsonNode *request = + torrent_add(fileName, files_thread_data->flags); + JsonObject *args; + trg_response *response; - if (!request) - continue; + if (!request) + continue; - args = node_get_arguments(request); + args = node_get_arguments(request); - if (files_thread_data->extraArgs) - add_set_common_args(args, files_thread_data->priority, - files_thread_data->dir); + if (files_thread_data->extraArgs) + add_set_common_args(args, files_thread_data->priority, + files_thread_data->dir); - response = dispatch(files_thread_data->client, request); - response->cb_data = files_thread_data->cb_data; - g_idle_add(on_generic_interactive_action, response); + response = dispatch(files_thread_data->client, request); + response->cb_data = files_thread_data->cb_data; + g_idle_add(on_generic_interactive_action, response); } g_str_slist_free(files_thread_data->list); if (files_thread_data->extraArgs) - g_free(files_thread_data->dir); + g_free(files_thread_data->dir); g_free(files_thread_data); @@ -177,39 +177,39 @@ void launch_add_thread(struct add_torrent_threadfunc_args *args) g_thread_create(add_files_threadfunc, args, FALSE, &error); if (error) { - g_error("thread creation error: %s", error->message); - g_error_free(error); - g_str_slist_free(args->list); - g_free(args); + g_error("thread creation error: %s", error->message); + g_error_free(error); + g_str_slist_free(args->list); + g_free(args); } } static gboolean add_file_indexes_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonObject *args = (JsonObject *) data; gint priority, index, wanted; gtk_tree_model_get(model, iter, FC_PRIORITY, &priority, - FC_ENABLED, &wanted, FC_INDEX, &index, -1); + FC_ENABLED, &wanted, FC_INDEX, &index, -1); if (gtk_tree_model_iter_has_child(model, iter)) - return FALSE; + return FALSE; if (wanted) - add_file_id_to_array(args, FIELD_FILES_WANTED, index); + add_file_id_to_array(args, FIELD_FILES_WANTED, index); else - add_file_id_to_array(args, FIELD_FILES_UNWANTED, index); + add_file_id_to_array(args, FIELD_FILES_UNWANTED, index); if (priority == TR_PRI_LOW) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, index); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_LOW, index); else if (priority == TR_PRI_HIGH) - add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, index); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_HIGH, index); else - add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, index); + add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, index); return FALSE; } @@ -218,54 +218,54 @@ static void trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, gpointer data) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg); guint flags = 0x00; if (gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(priv->paused_check))) - flags |= TORRENT_ADD_FLAG_PAUSED; + (GTK_TOGGLE_BUTTON(priv->paused_check))) + flags |= TORRENT_ADD_FLAG_PAUSED; if (gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(priv->delete_check))) - flags |= TORRENT_ADD_FLAG_DELETE; + (GTK_TOGGLE_BUTTON(priv->delete_check))) + flags |= TORRENT_ADD_FLAG_DELETE; if (res_id == GTK_RESPONSE_ACCEPT) { - gint priority = - gtk_combo_box_get_active(GTK_COMBO_BOX(priv->priority_combo)) - - 1; - gchar *dir = - trg_destination_combo_get_dir(TRG_DESTINATION_COMBO - (priv->dest_combo)); - - if (g_slist_length(priv->filenames) == 1) { - JsonNode *req = - torrent_add((gchar *) priv->filenames->data, flags); - if (req) { - JsonObject *args = node_get_arguments(req); - gtk_tree_model_foreach(GTK_TREE_MODEL(priv->store), - add_file_indexes_foreachfunc, args); - add_set_common_args(args, priority, dir); - dispatch_async(priv->client, req, - on_generic_interactive_action, - priv->parent); - } - g_str_slist_free(priv->filenames); - } else { - struct add_torrent_threadfunc_args *args = - g_new(struct add_torrent_threadfunc_args, 1); - args->list = priv->filenames; - args->cb_data = priv->parent; - args->client = priv->client; - args->dir = g_strdup(dir); - args->priority = priority; - args->flags = flags; - args->extraArgs = TRUE; - - launch_add_thread(args); - } - - g_free(dir); + gint priority = + gtk_combo_box_get_active(GTK_COMBO_BOX(priv->priority_combo)) - + 1; + gchar *dir = + trg_destination_combo_get_dir(TRG_DESTINATION_COMBO + (priv->dest_combo)); + + if (g_slist_length(priv->filenames) == 1) { + JsonNode *req = + torrent_add((gchar *) priv->filenames->data, flags); + if (req) { + JsonObject *args = node_get_arguments(req); + gtk_tree_model_foreach(GTK_TREE_MODEL(priv->store), + add_file_indexes_foreachfunc, args); + add_set_common_args(args, priority, dir); + dispatch_async(priv->client, req, + on_generic_interactive_action, + priv->parent); + } + g_str_slist_free(priv->filenames); + } else { + struct add_torrent_threadfunc_args *args = + g_new(struct add_torrent_threadfunc_args, 1); + args->list = priv->filenames; + args->cb_data = priv->parent; + args->client = priv->client; + args->dir = g_strdup(dir); + args->priority = priority; + args->flags = flags; + args->extraArgs = TRUE; + + launch_add_thread(args); + } + + g_free(dir); } else { - g_str_slist_free(priv->filenames); + g_str_slist_free(priv->filenames); } gtk_widget_destroy(GTK_WIDGET(dlg)); @@ -273,40 +273,40 @@ trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, gpointer data) static void renderPriority(GtkTreeViewColumn * column G_GNUC_UNUSED, - GtkCellRenderer * renderer, - GtkTreeModel * model, - GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) + GtkCellRenderer * renderer, + GtkTreeModel * model, + GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) { int priority; const char *text; gtk_tree_model_get(model, iter, FC_PRIORITY, &priority, -1); switch (priority) { case TR_PRI_HIGH: - text = _("High"); - break; + text = _("High"); + break; case TR_PRI_NORMAL: - text = _("Normal"); - break; + text = _("Normal"); + break; case TR_PRI_LOW: - text = _("Low"); - break; + text = _("Low"); + break; default: - text = _("Mixed"); - break; + text = _("Mixed"); + break; } g_object_set(renderer, "text", text, NULL); } static void renderDownload(GtkTreeViewColumn * column G_GNUC_UNUSED, - GtkCellRenderer * renderer, - GtkTreeModel * model, - GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) + GtkCellRenderer * renderer, + GtkTreeModel * model, + GtkTreeIter * iter, gpointer data G_GNUC_UNUSED) { gint enabled; gtk_tree_model_get(model, iter, FC_ENABLED, &enabled, -1); g_object_set(renderer, "inconsistent", (enabled == MIXED), - "active", (enabled == TRUE), NULL); + "active", (enabled == TRUE), NULL); } struct SubtreeForeachData { @@ -317,116 +317,116 @@ struct SubtreeForeachData { static gboolean setSubtreeForeach(GtkTreeModel * model, - GtkTreePath * path, GtkTreeIter * iter, gpointer gdata) + GtkTreePath * path, GtkTreeIter * iter, gpointer gdata) { struct SubtreeForeachData *data = gdata; if (!gtk_tree_path_compare(path, data->path) - || gtk_tree_path_is_descendant(path, data->path)) { - gtk_tree_store_set(GTK_TREE_STORE(model), iter, data->column, - data->new_value, -1); + || gtk_tree_path_is_descendant(path, data->path)) { + gtk_tree_store_set(GTK_TREE_STORE(model), iter, data->column, + data->new_value, -1); } - return FALSE; /* keep walking */ + return FALSE; /* keep walking */ } static void setSubtree(GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter, - gint column, gint new_value) + gint column, gint new_value) { gint result = new_value; GtkTreeIter back_iter = *iter; if (gtk_tree_model_iter_has_child(model, iter)) { - struct SubtreeForeachData tmp; - GtkTreeIter parent; + struct SubtreeForeachData tmp; + GtkTreeIter parent; - tmp.column = column; - tmp.new_value = new_value; - tmp.path = path; - gtk_tree_model_foreach(model, setSubtreeForeach, &tmp); + tmp.column = column; + tmp.new_value = new_value; + tmp.path = path; + gtk_tree_model_foreach(model, setSubtreeForeach, &tmp); - gtk_tree_model_iter_parent(model, &parent, iter); + gtk_tree_model_iter_parent(model, &parent, iter); } else { - gtk_tree_store_set(GTK_TREE_STORE(model), &back_iter, column, - new_value, -1); + gtk_tree_store_set(GTK_TREE_STORE(model), &back_iter, column, + new_value, -1); } while (1) { - GtkTreeIter tmp_iter; - gint n_children, i; + GtkTreeIter tmp_iter; + gint n_children, i; - if (!gtk_tree_model_iter_parent(model, &tmp_iter, &back_iter)) - break; + if (!gtk_tree_model_iter_parent(model, &tmp_iter, &back_iter)) + break; - n_children = gtk_tree_model_iter_n_children(model, &tmp_iter); + n_children = gtk_tree_model_iter_n_children(model, &tmp_iter); - for (i = 0; i < n_children; i++) { - GtkTreeIter child; - gint current_value; + for (i = 0; i < n_children; i++) { + GtkTreeIter child; + gint current_value; - if (!gtk_tree_model_iter_nth_child - (model, &child, &tmp_iter, i)) - continue; + if (!gtk_tree_model_iter_nth_child + (model, &child, &tmp_iter, i)) + continue; - gtk_tree_model_get(model, &child, column, ¤t_value, -1); - if (current_value != new_value) { - result = MIXED; - break; - } - } + gtk_tree_model_get(model, &child, column, ¤t_value, -1); + if (current_value != new_value) { + result = MIXED; + break; + } + } - gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, column, - result, -1); + gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, column, + result, -1); - back_iter = tmp_iter; + back_iter = tmp_iter; } } static gboolean onViewPathToggled(GtkTreeView * view, - GtkTreeViewColumn * col, - GtkTreePath * path, gpointer data) + GtkTreeViewColumn * col, + GtkTreePath * path, gpointer data) { int cid; gboolean handled = FALSE; if (!col || !path) - return FALSE; + return FALSE; cid = - GPOINTER_TO_INT(g_object_get_data - (G_OBJECT(col), TR_COLUMN_ID_KEY)); + GPOINTER_TO_INT(g_object_get_data + (G_OBJECT(col), TR_COLUMN_ID_KEY)); if ((cid == FC_PRIORITY) || (cid == FC_ENABLED)) { - GtkTreeIter iter; - GtkTreeModel *model = gtk_tree_view_get_model(view); - - gtk_tree_model_get_iter(model, &iter, path); - - if (cid == FC_PRIORITY) { - int priority; - gtk_tree_model_get(model, &iter, FC_PRIORITY, &priority, -1); - switch (priority) { - case TR_PRI_NORMAL: - priority = TR_PRI_HIGH; - break; - case TR_PRI_HIGH: - priority = TR_PRI_LOW; - break; - default: - priority = TR_PRI_NORMAL; - break; - } - setSubtree(model, path, &iter, FC_PRIORITY, priority); - } else { - int enabled; - gtk_tree_model_get(model, &iter, FC_ENABLED, &enabled, -1); - enabled = !enabled; - - setSubtree(model, path, &iter, FC_ENABLED, enabled); - } - - handled = TRUE; + GtkTreeIter iter; + GtkTreeModel *model = gtk_tree_view_get_model(view); + + gtk_tree_model_get_iter(model, &iter, path); + + if (cid == FC_PRIORITY) { + int priority; + gtk_tree_model_get(model, &iter, FC_PRIORITY, &priority, -1); + switch (priority) { + case TR_PRI_NORMAL: + priority = TR_PRI_HIGH; + break; + case TR_PRI_HIGH: + priority = TR_PRI_LOW; + break; + default: + priority = TR_PRI_NORMAL; + break; + } + setSubtree(model, path, &iter, FC_PRIORITY, priority); + } else { + int enabled; + gtk_tree_model_get(model, &iter, FC_ENABLED, &enabled, -1); + enabled = !enabled; + + setSubtree(model, path, &iter, FC_ENABLED, enabled); + } + + handled = TRUE; } return handled; @@ -434,20 +434,20 @@ onViewPathToggled(GtkTreeView * view, static gboolean getAndSelectEventPath(GtkTreeView * treeview, - GdkEventButton * event, - GtkTreeViewColumn ** col, GtkTreePath ** path) + GdkEventButton * event, + GtkTreeViewColumn ** col, GtkTreePath ** path) { GtkTreeSelection *sel; if (gtk_tree_view_get_path_at_pos(treeview, - event->x, event->y, - path, col, NULL, NULL)) { - sel = gtk_tree_view_get_selection(treeview); - if (!gtk_tree_selection_path_is_selected(sel, *path)) { - gtk_tree_selection_unselect_all(sel); - gtk_tree_selection_select_path(sel, *path); - } - return TRUE; + event->x, event->y, + path, col, NULL, NULL)) { + sel = gtk_tree_view_get_selection(treeview); + if (!gtk_tree_selection_path_is_selected(sel, *path)) { + gtk_tree_selection_unselect_all(sel); + gtk_tree_selection_select_path(sel, *path); + } + return TRUE; } return FALSE; @@ -462,9 +462,9 @@ onViewButtonPressed(GtkWidget * w, GdkEventButton * event, gpointer gdata) GtkTreeView *treeview = GTK_TREE_VIEW(w); if (event->type == GDK_BUTTON_PRESS && event->button == 1 - && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) - && getAndSelectEventPath(treeview, event, &col, &path)) { - handled = onViewPathToggled(treeview, col, path, NULL); + && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) + && getAndSelectEventPath(treeview, event, &col, &path)) { + handled = onViewPathToggled(treeview, col, path, NULL); } gtk_tree_path_free(path); @@ -492,12 +492,12 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) gtk_tree_view_set_rules_hint(tree_view, TRUE); gtk_container_set_border_width(GTK_CONTAINER(view), GUI_PAD_BIG); g_signal_connect(view, "button-press-event", - G_CALLBACK(onViewButtonPressed), view); + G_CALLBACK(onViewButtonPressed), view); pango_context = gtk_widget_create_pango_context(view); pango_font_description = - pango_font_description_copy(pango_context_get_font_description - (pango_context)); + pango_font_description_copy(pango_context_get_font_description + (pango_context)); size = pango_font_description_get_size(pango_font_description); pango_font_description_set_size(pango_font_description, size * 0.8); g_object_unref(G_OBJECT(pango_context)); @@ -510,8 +510,8 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* add file column */ col = GTK_TREE_VIEW_COLUMN(g_object_new(GTK_TYPE_TREE_VIEW_COLUMN, - "expand", TRUE, - "title", _("Name"), NULL)); + "expand", TRUE, + "title", _("Name"), NULL)); gtk_tree_view_column_set_resizable(col, TRUE); rend = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(col, rend, FALSE); @@ -520,7 +520,7 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* add text renderer */ rend = gtk_cell_renderer_text_new(); g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, "font-desc", - pango_font_description, NULL); + pango_font_description, NULL); gtk_tree_view_column_pack_start(col, rend, TRUE); gtk_tree_view_column_set_attributes(col, rend, "text", FC_LABEL, NULL); gtk_tree_view_column_set_sort_column_id(col, FC_LABEL); @@ -531,29 +531,29 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) title = _("Size"); rend = trg_cell_renderer_size_new(); g_object_set(rend, "alignment", PANGO_ALIGN_RIGHT, - "font-desc", pango_font_description, - "xpad", GUI_PAD, "xalign", 1.0f, "yalign", 0.5f, NULL); + "font-desc", pango_font_description, + "xpad", GUI_PAD, "xalign", 1.0f, "yalign", 0.5f, NULL); col = gtk_tree_view_column_new_with_attributes(title, rend, NULL); gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_column_set_sort_column_id(col, FC_SIZE); gtk_tree_view_column_set_attributes(col, rend, "size-value", FC_SIZE, - NULL); + NULL); gtk_tree_view_append_column(tree_view, col); /* add "enabled" column */ title = _("Download"); pango_layout = gtk_widget_create_pango_layout(view, title); pango_layout_get_pixel_size(pango_layout, &width, NULL); - width += 30; /* room for the sort indicator */ + width += 30; /* room for the sort indicator */ g_object_unref(G_OBJECT(pango_layout)); rend = gtk_cell_renderer_toggle_new(); col = gtk_tree_view_column_new_with_attributes(title, rend, NULL); g_object_set_data(G_OBJECT(col), TR_COLUMN_ID_KEY, - GINT_TO_POINTER(FC_ENABLED)); + GINT_TO_POINTER(FC_ENABLED)); gtk_tree_view_column_set_fixed_width(col, width); gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_cell_data_func(col, rend, renderDownload, - NULL, NULL); + NULL, NULL); gtk_tree_view_column_set_sort_column_id(col, FC_ENABLED); gtk_tree_view_append_column(tree_view, col); @@ -561,27 +561,27 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) title = _("Priority"); pango_layout = gtk_widget_create_pango_layout(view, title); pango_layout_get_pixel_size(pango_layout, &width, NULL); - width += 30; /* room for the sort indicator */ + width += 30; /* room for the sort indicator */ g_object_unref(G_OBJECT(pango_layout)); rend = gtk_cell_renderer_text_new(); g_object_set(rend, "xalign", (gfloat) 0.5, "yalign", (gfloat) 0.5, - NULL); + NULL); col = gtk_tree_view_column_new_with_attributes(title, rend, NULL); g_object_set_data(G_OBJECT(col), TR_COLUMN_ID_KEY, - GINT_TO_POINTER(FC_PRIORITY)); + GINT_TO_POINTER(FC_PRIORITY)); gtk_tree_view_column_set_fixed_width(col, width); gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_column_set_sort_column_id(col, FC_PRIORITY); gtk_tree_view_column_set_cell_data_func(col, rend, renderPriority, - NULL, NULL); + NULL, NULL); gtk_tree_view_append_column(tree_view, col); - *store = gtk_tree_store_new(N_FILE_COLS, G_TYPE_STRING, /* icon */ - G_TYPE_UINT, /* index */ - G_TYPE_STRING, /* label */ - G_TYPE_INT64, /* size */ - G_TYPE_INT, /* priority */ - G_TYPE_INT); /* dl enabled */ + *store = gtk_tree_store_new(N_FILE_COLS, G_TYPE_STRING, /* icon */ + G_TYPE_UINT, /* index */ + G_TYPE_STRING, /* label */ + G_TYPE_INT64, /* size */ + G_TYPE_INT, /* priority */ + G_TYPE_INT); /* dl enabled */ gtk_tree_view_set_model(tree_view, GTK_TREE_MODEL(*store)); g_object_unref(G_OBJECT(*store)); @@ -589,10 +589,10 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* create the scrolled window and stick the view in it */ scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll), - GTK_SHADOW_IN); + GTK_SHADOW_IN); gtk_container_add(GTK_CONTAINER(scroll), view); gtk_widget_set_size_request(scroll, -1, 200); @@ -619,8 +619,8 @@ static void gtr_dialog_set_content(GtkDialog * dialog, GtkWidget * content) GtkWidget *gtr_priority_combo_new(void) { return gtr_combo_box_new_enum(_("Low"), TR_PRI_LOW, - _("Normal"), TR_PRI_NORMAL, - _("High"), TR_PRI_HIGH, NULL); + _("Normal"), TR_PRI_NORMAL, + _("High"), TR_PRI_HIGH, NULL); } static void addTorrentFilters(GtkFileChooser * chooser) @@ -639,37 +639,37 @@ static void addTorrentFilters(GtkFileChooser * chooser) } static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent, - trg_torrent_file_node * node) + trg_torrent_file_node * node) { GtkTreeIter child; GList *li; if (node->name) { - gtk_tree_store_append(store, &child, parent); - gtk_tree_store_set(store, &child, FC_LABEL, node->name, -1); - gtk_tree_store_set(store, &child, FC_ICON, - node->children ? GTK_STOCK_DIRECTORY : - GTK_STOCK_FILE, -1); - gtk_tree_store_set(store, &child, FC_ENABLED, 1, -1); - if (!node->children) { - gtk_tree_store_set(store, &child, FC_INDEX, node->index, -1); - gtk_tree_store_set(store, &child, FC_SIZE, node->length, -1); - gtk_tree_store_set(store, &child, FC_PRIORITY, 0, -1); - } + gtk_tree_store_append(store, &child, parent); + gtk_tree_store_set(store, &child, FC_LABEL, node->name, -1); + gtk_tree_store_set(store, &child, FC_ICON, + node->children ? GTK_STOCK_DIRECTORY : + GTK_STOCK_FILE, -1); + gtk_tree_store_set(store, &child, FC_ENABLED, 1, -1); + if (!node->children) { + gtk_tree_store_set(store, &child, FC_INDEX, node->index, -1); + gtk_tree_store_set(store, &child, FC_SIZE, node->length, -1); + gtk_tree_store_set(store, &child, FC_PRIORITY, 0, -1); + } } for (li = node->children; li; li = g_list_next(li)) - store_add_node(store, node->name ? &child : NULL, - (trg_torrent_file_node *) li->data); + store_add_node(store, node->name ? &child : NULL, + (trg_torrent_file_node *) li->data); } static void torrent_not_parsed_warning(GtkWindow * parent) { GtkWidget *dialog = - gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, - _ - ("Unable to parse torrent file. File preferences unavailable, but you can still try uploading it.")); + gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, + _ + ("Unable to parse torrent file. File preferences unavailable, but you can still try uploading it.")); gtk_window_set_transient_for(GTK_WINDOW(dialog), parent); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); @@ -678,145 +678,145 @@ static void torrent_not_parsed_warning(GtkWindow * parent) static void torrent_not_found_error(GtkWindow * parent, gchar * file) { GtkWidget *dialog = - gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - _("Unable to open torrent file: %s"), file); + gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, + _("Unable to open torrent file: %s"), file); gtk_window_set_transient_for(GTK_WINDOW(dialog), parent); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, - GSList * filenames) + GSList * filenames) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d); GtkButton *chooser = GTK_BUTTON(priv->source_chooser); gint nfiles = filenames ? g_slist_length(filenames) : 0; gtk_tree_store_clear(priv->store); if (nfiles == 1) { - gchar *file_name = (gchar *) filenames->data; - if (is_url(file_name) || is_magnet(file_name)) { - gtk_button_set_label(chooser, file_name); - gtk_widget_set_sensitive(priv->file_list, FALSE); - gtk_widget_set_sensitive(priv->delete_check, FALSE); - } else { - gchar *file_name_base; - trg_torrent_file *tor_data = NULL; - - file_name_base = g_path_get_basename(file_name); - - if (file_name_base) { - gtk_button_set_label(chooser, file_name_base); - g_free(file_name_base); - } else { - gtk_button_set_label(chooser, file_name); - } - - if (g_file_test(file_name, G_FILE_TEST_IS_REGULAR)) { - tor_data = trg_parse_torrent_file(file_name); - if (!tor_data) { - torrent_not_parsed_warning(GTK_WINDOW(priv->parent)); - } else { - store_add_node(priv->store, NULL, tor_data->top_node); - trg_torrent_file_free(tor_data); - } - } else { - torrent_not_found_error(GTK_WINDOW(priv->parent), - file_name); - } - - gtk_widget_set_sensitive(priv->file_list, tor_data != NULL); - } + gchar *file_name = (gchar *) filenames->data; + if (is_url(file_name) || is_magnet(file_name)) { + gtk_button_set_label(chooser, file_name); + gtk_widget_set_sensitive(priv->file_list, FALSE); + gtk_widget_set_sensitive(priv->delete_check, FALSE); + } else { + gchar *file_name_base; + trg_torrent_file *tor_data = NULL; + + file_name_base = g_path_get_basename(file_name); + + if (file_name_base) { + gtk_button_set_label(chooser, file_name_base); + g_free(file_name_base); + } else { + gtk_button_set_label(chooser, file_name); + } + + if (g_file_test(file_name, G_FILE_TEST_IS_REGULAR)) { + tor_data = trg_parse_torrent_file(file_name); + if (!tor_data) { + torrent_not_parsed_warning(GTK_WINDOW(priv->parent)); + } else { + store_add_node(priv->store, NULL, tor_data->top_node); + trg_torrent_file_free(tor_data); + } + } else { + torrent_not_found_error(GTK_WINDOW(priv->parent), + file_name); + } + + gtk_widget_set_sensitive(priv->file_list, tor_data != NULL); + } } else { - gtk_widget_set_sensitive(priv->file_list, FALSE); - if (nfiles < 1) { - gtk_button_set_label(chooser, _("(None)")); - } else { - gtk_button_set_label(chooser, _("(Multiple)")); - } + gtk_widget_set_sensitive(priv->file_list, FALSE); + if (nfiles < 1) { + gtk_button_set_label(chooser, _("(None)")); + } else { + gtk_button_set_label(chooser, _("(Multiple)")); + } } priv->filenames = filenames; } static void trg_torrent_add_dialog_generic_save_dir(GtkFileChooser * c, - TrgPrefs * prefs) + TrgPrefs * prefs) { gchar *cwd = gtk_file_chooser_get_current_folder(c); if (cwd) { - trg_prefs_set_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, cwd, - TRG_PREFS_GLOBAL); - g_free(cwd); + trg_prefs_set_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, cwd, + TRG_PREFS_GLOBAL); + g_free(cwd); } } static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent, - TrgPrefs * prefs) + TrgPrefs * prefs) { GtkWidget *w = gtk_file_chooser_dialog_new(_("Add a Torrent"), parent, - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_ADD, - GTK_RESPONSE_ACCEPT, - NULL); + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, + GTK_RESPONSE_CANCEL, + GTK_STOCK_ADD, + GTK_RESPONSE_ACCEPT, + NULL); gchar *dir = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, - TRG_PREFS_GLOBAL); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, + TRG_PREFS_GLOBAL); if (dir) { - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir); - g_free(dir); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir); + g_free(dir); } addTorrentFilters(GTK_FILE_CHOOSER(w)); gtk_dialog_set_alternative_button_order(GTK_DIALOG(w), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(w), TRUE); return w; } static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w, - gpointer data) + gpointer data) { TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data); GtkWidget *d = trg_torrent_add_dialog_generic(GTK_WINDOW(data), - trg_client_get_prefs - (priv->client)); + trg_client_get_prefs + (priv->client)); if (gtk_dialog_run(GTK_DIALOG(d)) == GTK_RESPONSE_ACCEPT) { - if (priv->filenames) - g_str_slist_free(priv->filenames); + if (priv->filenames) + g_str_slist_free(priv->filenames); - priv->filenames = - gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d)); + priv->filenames = + gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d)); - trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(d), - trg_client_get_prefs(priv-> - client)); - trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(data), - priv->filenames); + trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(d), + trg_client_get_prefs + (priv->client)); + trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(data), + priv->filenames); } gtk_widget_destroy(GTK_WIDGET(d)); } static GObject *trg_torrent_add_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *obj = G_OBJECT_CLASS - (trg_torrent_add_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_add_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgTorrentAddDialogPrivate *priv = - TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj); + TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj); TrgPrefs *prefs = trg_client_get_prefs(priv->client); GtkWidget *t, *l; @@ -826,17 +826,17 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, /* window */ gtk_window_set_title(GTK_WINDOW(obj), _("Add Torrent")); gtk_window_set_transient_for(GTK_WINDOW(obj), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(obj), TRUE); /* buttons */ gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_OPEN, - GTK_RESPONSE_ACCEPT); + GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(obj), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response(GTK_DIALOG(obj), GTK_RESPONSE_ACCEPT); /* workspace */ @@ -849,19 +849,19 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, gtk_widget_set_sensitive(priv->file_list, FALSE); priv->paused_check = - gtk_check_button_new_with_mnemonic(_("Start _paused")); + gtk_check_button_new_with_mnemonic(_("Start _paused")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->paused_check), - trg_prefs_get_bool(prefs, - TRG_PREFS_KEY_START_PAUSED, - TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_START_PAUSED, + TRG_PREFS_GLOBAL)); priv->delete_check = - gtk_check_button_new_with_mnemonic(_ - ("Delete local .torrent file after adding")); + gtk_check_button_new_with_mnemonic(_ + ("Delete local .torrent file after adding")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->delete_check), - trg_prefs_get_bool(prefs, - TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, - TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_DELETE_LOCAL_TORRENT, + TRG_PREFS_GLOBAL)); priv->priority_combo = gtr_priority_combo_new(); gtk_combo_box_set_active(GTK_COMBO_BOX(priv->priority_combo), 1); @@ -869,68 +869,68 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, l = gtk_label_new_with_mnemonic(_("_Torrent file:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++col; priv->source_chooser = gtk_button_new(); gtk_button_set_alignment(GTK_BUTTON(priv->source_chooser), 0.0f, 0.5f); trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(obj), - priv->filenames); + priv->filenames); gtk_table_attach(GTK_TABLE(t), priv->source_chooser, col, col + 1, row, - row + 1, ~0, 0, 0, 0); + row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->source_chooser); g_signal_connect(priv->source_chooser, "clicked", - G_CALLBACK(trg_torrent_add_dialog_source_click_cb), - obj); + G_CALLBACK(trg_torrent_add_dialog_source_click_cb), + obj); ++row; col = 0; l = gtk_label_new_with_mnemonic(_("_Destination folder:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL, - 0, 0, 0); + 0, 0, 0); ++col; priv->dest_combo = trg_destination_combo_new(priv->client, NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(priv->dest_combo), 0); gtk_table_attach(GTK_TABLE(t), priv->dest_combo, col, col + 1, row, - row + 1, ~0, 0, 0, 0); + row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->dest_combo); ++row; col = 0; gtk_widget_set_size_request(priv->file_list, 466u, 300u); gtk_table_attach_defaults(GTK_TABLE(t), priv->file_list, col, col + 2, - row, row + 1); + row, row + 1); ++row; col = 0; l = gtk_label_new_with_mnemonic(_("Torrent _priority:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, ~0, 0, 0, - 0); + 0); ++col; gtk_table_attach(GTK_TABLE(t), priv->priority_combo, col, col + 1, row, - row + 1, ~0, 0, 0, 0); + row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->priority_combo); ++row; col = 0; gtk_table_attach(GTK_TABLE(t), priv->paused_check, col, col + 2, row, - row + 1, GTK_FILL, 0, 0, 0); + row + 1, GTK_FILL, 0, 0, 0); ++row; col = 0; gtk_table_attach(GTK_TABLE(t), priv->delete_check, col, col + 2, row, - row + 1, GTK_FILL, 0, 0, 0); + row + 1, GTK_FILL, 0, 0, 0); gtr_dialog_set_content(GTK_DIALOG(obj), t); g_signal_connect(G_OBJECT(obj), - "response", - G_CALLBACK(trg_torrent_add_response_cb), - priv->parent); + "response", + G_CALLBACK(trg_torrent_add_response_cb), + priv->parent); return obj; } @@ -947,48 +947,48 @@ trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass * klass) object_class->constructor = trg_torrent_add_dialog_constructor; g_object_class_install_property(object_class, - PROP_FILENAME, - g_param_spec_pointer("filenames", - "filenames", - "filenames", - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_FILENAME, + g_param_spec_pointer("filenames", + "filenames", + "filenames", + 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_CLIENT, - g_param_spec_pointer("client", - "client", - "client", - G_PARAM_READWRITE - | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_CLIENT, + g_param_spec_pointer("client", + "client", + "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_PARENT, - g_param_spec_object("parent", "parent", - "parent", - TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PARENT, + g_param_spec_object("parent", "parent", + "parent", + TRG_TYPE_MAIN_WINDOW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self) @@ -996,12 +996,12 @@ static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self) } TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * parent, - TrgClient * client, - GSList * filenames) + TrgClient * client, + GSList * filenames) { return g_object_new(TRG_TYPE_TORRENT_ADD_DIALOG, - "filenames", filenames, - "parent", parent, "client", client, NULL); + "filenames", filenames, + "parent", parent, "client", client, NULL); } void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client) @@ -1014,38 +1014,38 @@ void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client) c = gtk_check_button_new_with_mnemonic(_("Show _options dialog")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(c), - trg_prefs_get_bool(prefs, - TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, - TRG_PREFS_GLOBAL)); + trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, + TRG_PREFS_GLOBAL)); gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(w), c); if (gtk_dialog_run(GTK_DIALOG(w)) == GTK_RESPONSE_ACCEPT) { - GtkFileChooser *chooser = GTK_FILE_CHOOSER(w); - GtkToggleButton *tb = - GTK_TOGGLE_BUTTON(gtk_file_chooser_get_extra_widget(chooser)); - gboolean showOptions = gtk_toggle_button_get_active(tb); - GSList *l = gtk_file_chooser_get_filenames(chooser); - - trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w), - prefs); - - if (showOptions) { - TrgTorrentAddDialog *dialog = - trg_torrent_add_dialog_new(win, client, l); - - gtk_widget_show_all(GTK_WIDGET(dialog)); - } else { - struct add_torrent_threadfunc_args *args = - g_new0(struct add_torrent_threadfunc_args, 1); - - args->list = l; - args->cb_data = win; - args->client = client; - args->extraArgs = FALSE; - args->flags = trg_prefs_get_add_flags(prefs); - - launch_add_thread(args); - } + GtkFileChooser *chooser = GTK_FILE_CHOOSER(w); + GtkToggleButton *tb = + GTK_TOGGLE_BUTTON(gtk_file_chooser_get_extra_widget(chooser)); + gboolean showOptions = gtk_toggle_button_get_active(tb); + GSList *l = gtk_file_chooser_get_filenames(chooser); + + trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w), + prefs); + + if (showOptions) { + TrgTorrentAddDialog *dialog = + trg_torrent_add_dialog_new(win, client, l); + + gtk_widget_show_all(GTK_WIDGET(dialog)); + } else { + struct add_torrent_threadfunc_args *args = + g_new0(struct add_torrent_threadfunc_args, 1); + + args->list = l; + args->cb_data = win; + args->client = client; + args->extraArgs = FALSE; + args->flags = trg_prefs_get_add_flags(prefs); + + launch_add_thread(args); + } } gtk_widget_destroy(GTK_WIDGET(w)); diff --git a/src/trg-torrent-add-dialog.h b/src/trg-torrent-add-dialog.h index be355f6..0d95103 100644 --- a/src/trg-torrent-add-dialog.h +++ b/src/trg-torrent-add-dialog.h @@ -64,10 +64,10 @@ struct add_torrent_threadfunc_args { GType trg_torrent_add_dialog_get_type(void); TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * win, - TrgClient * client, - GSList * filenames); + TrgClient * client, + GSList * filenames); void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client); void launch_add_thread(struct add_torrent_threadfunc_args *args); G_END_DECLS -#endif /* TRG_TORRENT_ADD_DIALOG_H_ */ +#endif /* TRG_TORRENT_ADD_DIALOG_H_ */ diff --git a/src/trg-torrent-add-url-dialog.c b/src/trg-torrent-add-url-dialog.c index 67f87c0..aa178ee 100644 --- a/src/trg-torrent-add-url-dialog.c +++ b/src/trg-torrent-add-url-dialog.c @@ -28,7 +28,7 @@ #include "requests.h" G_DEFINE_TYPE(TrgTorrentAddUrlDialog, trg_torrent_add_url_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_ADD_URL_DIALOG, TrgTorrentAddUrlDialogPrivate)) typedef struct _TrgTorrentAddUrlDialogPrivate @@ -49,7 +49,7 @@ trg_torrent_add_url_dialog_class_init(TrgTorrentAddUrlDialogClass * klass) static gboolean has_dht_support(TrgTorrentAddUrlDialog * dlg) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); JsonObject *session = trg_client_get_session(priv->client); return session_get_dht_enabled(session); } @@ -57,13 +57,13 @@ static gboolean has_dht_support(TrgTorrentAddUrlDialog * dlg) static void show_dht_not_enabled_warning(TrgTorrentAddUrlDialog * dlg) { gchar *msg = - _ - ("You are trying to add a magnet torrent, but DHT is disabled. Distributed Hash Table (DHT) should be enabled in remote settings."); + _ + ("You are trying to add a magnet torrent, but DHT is disabled. Distributed Hash Table (DHT) should be enabled in remote settings."); GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(dlg), - GTK_DIALOG_MODAL, - GTK_MESSAGE_WARNING, - GTK_BUTTONS_OK, - "%s", msg); + GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "%s", msg); gtk_window_set_title(GTK_WINDOW(dialog), _("Error")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); @@ -71,26 +71,26 @@ static void show_dht_not_enabled_warning(TrgTorrentAddUrlDialog * dlg) static void trg_torrent_add_url_response_cb(TrgTorrentAddUrlDialog * dlg, gint res_id, - gpointer data) + gpointer data) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_ACCEPT) { - JsonNode *request; - const gchar *entryText = - gtk_entry_get_text(GTK_ENTRY(priv->urlEntry)); - - if (g_str_has_prefix(entryText, "magnet:") - && !has_dht_support(dlg)) - show_dht_not_enabled_warning(dlg); - - request = - torrent_add_url(entryText, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(priv->startCheck))); - dispatch_async(priv->client, request, - on_generic_interactive_action, data); + JsonNode *request; + const gchar *entryText = + gtk_entry_get_text(GTK_ENTRY(priv->urlEntry)); + + if (g_str_has_prefix(entryText, "magnet:") + && !has_dht_support(dlg)) + show_dht_not_enabled_warning(dlg); + + request = + torrent_add_url(entryText, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(priv->startCheck))); + dispatch_async(priv->client, request, + on_generic_interactive_action, data); } gtk_widget_destroy(GTK_WIDGET(dlg)); @@ -99,15 +99,15 @@ trg_torrent_add_url_response_cb(TrgTorrentAddUrlDialog * dlg, gint res_id, static void url_entry_changed(GtkWidget * w, gpointer data) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(data); gtk_widget_set_sensitive(priv->addButton, - gtk_entry_get_text_length(GTK_ENTRY(w)) > 0); + gtk_entry_get_text_length(GTK_ENTRY(w)) > 0); } static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) { TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(self); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(self); GtkWidget *w, *t, *contentvbox; gint row = 0; @@ -120,17 +120,17 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) hig_workarea_add_row(t, &row, _("URL:"), w, NULL); priv->startCheck = - hig_workarea_add_wide_checkbutton(t, &row, _("Start Paused"), - FALSE); + hig_workarea_add_wide_checkbutton(t, &row, _("Start Paused"), + FALSE); gtk_window_set_title(GTK_WINDOW(self), _("Add torrent from URL")); gtk_window_set_destroy_with_parent(GTK_WINDOW(self), TRUE); gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_CLOSE, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); priv->addButton = - gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_ADD, - GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button(GTK_DIALOG(self), GTK_STOCK_ADD, + GTK_RESPONSE_ACCEPT); gtk_widget_set_sensitive(priv->addButton, FALSE); gtk_container_set_border_width(GTK_CONTAINER(self), GUI_PAD); @@ -138,8 +138,8 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) gtk_dialog_set_default_response(GTK_DIALOG(self), GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(self), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD); @@ -147,19 +147,19 @@ static void trg_torrent_add_url_dialog_init(TrgTorrentAddUrlDialog * self) } TrgTorrentAddUrlDialog *trg_torrent_add_url_dialog_new(TrgMainWindow * win, - TrgClient * client) + TrgClient * client) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_ADD_URL_DIALOG, NULL); TrgTorrentAddUrlDialogPrivate *priv = - TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(obj); + TRG_TORRENT_ADD_URL_DIALOG_GET_PRIVATE(obj); priv->client = client; priv->win = win; gtk_window_set_transient_for(GTK_WINDOW(obj), GTK_WINDOW(win)); g_signal_connect(G_OBJECT(obj), - "response", - G_CALLBACK(trg_torrent_add_url_response_cb), win); + "response", + G_CALLBACK(trg_torrent_add_url_response_cb), win); return TRG_TORRENT_ADD_URL_DIALOG(obj); } diff --git a/src/trg-torrent-add-url-dialog.h b/src/trg-torrent-add-url-dialog.h index 4742837..be89fd4 100644 --- a/src/trg-torrent-add-url-dialog.h +++ b/src/trg-torrent-add-url-dialog.h @@ -49,7 +49,7 @@ typedef struct { GType trg_torrent_add_url_dialog_get_type(void); TrgTorrentAddUrlDialog *trg_torrent_add_url_dialog_new(TrgMainWindow * win, - TrgClient * client); + TrgClient * client); G_END_DECLS -#endif /* TRG_TORRENT_ADD_URL_DIALOG_H_ */ +#endif /* TRG_TORRENT_ADD_URL_DIALOG_H_ */ diff --git a/src/trg-torrent-graph.c b/src/trg-torrent-graph.c index 26e5fd4..99c5dad 100644 --- a/src/trg-torrent-graph.c +++ b/src/trg-torrent-graph.c @@ -90,23 +90,23 @@ static int trg_torrent_graph_update(gpointer user_data); static void trg_torrent_graph_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_torrent_graph_set_property(GObject * object, guint property_id, - const GValue * value, GParamSpec * pspec) + const GValue * value, GParamSpec * pspec) { switch (property_id) { default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -127,18 +127,18 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); num_bars = trg_torrent_graph_get_num_bars(g); - priv->graph_dely = (priv->draw_height - 15) / num_bars; /* round to int to avoid AA blur */ + priv->graph_dely = (priv->draw_height - 15) / num_bars; /* round to int to avoid AA blur */ priv->real_draw_height = priv->graph_dely * num_bars; priv->graph_delx = - (priv->draw_width - 2.0 - priv->rmargin - - priv->indent) / (GRAPH_NUM_POINTS - 3); + (priv->draw_width - 2.0 - priv->rmargin - + priv->indent) / (GRAPH_NUM_POINTS - 3); priv->graph_buffer_offset = - (int) (1.5 * priv->graph_delx) + GRAPH_FRAME_WIDTH; + (int) (1.5 * priv->graph_delx) + GRAPH_FRAME_WIDTH; gtk_widget_get_allocation(priv->disp, &allocation); priv->background = - gdk_pixmap_new(GDK_DRAWABLE(gtk_widget_get_window(priv->disp)), - allocation.width, allocation.height, -1); + gdk_pixmap_new(GDK_DRAWABLE(gtk_widget_get_window(priv->disp)), + allocation.width, allocation.height, -1); cr = gdk_cairo_create(priv->background); gdk_cairo_set_source_color(cr, &priv->style->bg[GTK_STATE_NORMAL]); @@ -146,8 +146,8 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) cairo_translate(cr, GRAPH_FRAME_WIDTH, GRAPH_FRAME_WIDTH); cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); cairo_rectangle(cr, priv->rmargin + priv->indent, 0, - priv->draw_width - priv->rmargin - priv->indent, - priv->real_draw_height); + priv->draw_width - priv->rmargin - priv->indent, + priv->real_draw_height); cairo_fill(cr); @@ -156,22 +156,22 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) cairo_set_font_size(cr, priv->fontsize); for (i = 0; i <= num_bars; ++i) { - double y; - gchar caption[32]; - - if (i == 0) - y = 0.5 + priv->fontsize / 2.0; - else if (i == num_bars) - y = i * priv->graph_dely + 0.5; - else - y = i * priv->graph_dely + priv->fontsize / 2.0; - - gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); - rate = priv->max - (i * priv->max / num_bars); - trg_strlspeed(caption, (gint64) (rate / 1024)); - cairo_text_extents(cr, caption, &extents); - cairo_move_to(cr, priv->indent - extents.width + 20, y); - cairo_show_text(cr, caption); + double y; + gchar caption[32]; + + if (i == 0) + y = 0.5 + priv->fontsize / 2.0; + else if (i == num_bars) + y = i * priv->graph_dely + 0.5; + else + y = i * priv->graph_dely + priv->fontsize / 2.0; + + gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); + rate = priv->max - (i * priv->max / num_bars); + trg_strlspeed(caption, (gint64) (rate / 1024)); + cairo_text_extents(cr, caption, &extents); + cairo_move_to(cr, priv->indent - extents.width + 20, y); + cairo_show_text(cr, caption); } cairo_stroke(cr); @@ -181,29 +181,29 @@ void trg_torrent_graph_draw_background(TrgTorrentGraph * g) total_seconds = priv->speed * (GRAPH_NUM_POINTS - 2) / 1000; for (i = 0; i < 7; i++) { - unsigned seconds; - const char *format; - double x = - (i) * (priv->draw_width - priv->rmargin - priv->indent) / 6; - cairo_set_source_rgba(cr, 0, 0, 0, 0.75); - cairo_move_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, - 0.5); - cairo_line_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, - priv->real_draw_height + 4.5); - cairo_stroke(cr); - seconds = total_seconds - i * total_seconds / 6; - if (i == 0) - format = "%u seconds"; - else - format = "%u"; - caption = g_strdup_printf(format, seconds); - cairo_text_extents(cr, caption, &extents); - cairo_move_to(cr, - ((ceil(x) + 0.5) + priv->rmargin + priv->indent) - - (extents.width / 2), priv->draw_height); - gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); - cairo_show_text(cr, caption); - g_free(caption); + unsigned seconds; + const char *format; + double x = + (i) * (priv->draw_width - priv->rmargin - priv->indent) / 6; + cairo_set_source_rgba(cr, 0, 0, 0, 0.75); + cairo_move_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, + 0.5); + cairo_line_to(cr, (ceil(x) + 0.5) + priv->rmargin + priv->indent, + priv->real_draw_height + 4.5); + cairo_stroke(cr); + seconds = total_seconds - i * total_seconds / 6; + if (i == 0) + format = "%u seconds"; + else + format = "%u"; + caption = g_strdup_printf(format, seconds); + cairo_text_extents(cr, caption, &extents); + cairo_move_to(cr, + ((ceil(x) + 0.5) + priv->rmargin + priv->indent) - + (extents.width / 2), priv->draw_height); + gdk_cairo_set_source_color(cr, &priv->style->fg[GTK_STATE_NORMAL]); + cairo_show_text(cr, caption); + g_free(caption); } cairo_stroke(cr); @@ -218,7 +218,7 @@ void trg_torrent_graph_set_nothing(TrgTorrentGraph * g) } void trg_torrent_graph_set_speed(TrgTorrentGraph * g, - trg_torrent_model_update_stats * stats) + trg_torrent_model_update_stats * stats) { TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); @@ -228,7 +228,7 @@ void trg_torrent_graph_set_speed(TrgTorrentGraph * g, static gboolean trg_torrent_graph_configure(GtkWidget * widget, - GdkEventConfigure * event, gpointer data_ptr) + GdkEventConfigure * event, gpointer data_ptr) { GtkAllocation allocation; TrgTorrentGraph *g = TRG_TORRENT_GRAPH(data_ptr); @@ -241,7 +241,7 @@ trg_torrent_graph_configure(GtkWidget * widget, trg_torrent_graph_clear_background(g); if (priv->gc == NULL) - priv->gc = gdk_gc_new(GDK_DRAWABLE(gtk_widget_get_window(widget))); + priv->gc = gdk_gc_new(GDK_DRAWABLE(gtk_widget_get_window(widget))); trg_torrent_graph_draw(g); @@ -250,7 +250,7 @@ trg_torrent_graph_configure(GtkWidget * widget, static gboolean trg_torrent_graph_expose(GtkWidget * widget, - GdkEventExpose * event, gpointer data_ptr) + GdkEventExpose * event, gpointer data_ptr) { TrgTorrentGraph *g = TRG_TORRENT_GRAPH(data_ptr); TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(data_ptr); @@ -264,22 +264,22 @@ trg_torrent_graph_expose(GtkWidget * widget, gdouble sample_width, x_offset; if (priv->background == NULL) - trg_torrent_graph_draw_background(g); + trg_torrent_graph_draw_background(g); window = gtk_widget_get_window(priv->disp); gtk_widget_get_allocation(priv->disp, &allocation); gdk_draw_drawable(window, - priv->gc, - priv->background, - 0, 0, 0, 0, allocation.width, allocation.height); + priv->gc, + priv->background, + 0, 0, 0, 0, allocation.width, allocation.height); sample_width = - (float) (priv->draw_width - priv->rmargin - - priv->indent) / (float) GRAPH_NUM_POINTS; + (float) (priv->draw_width - priv->rmargin - + priv->indent) / (float) GRAPH_NUM_POINTS; x_offset = priv->draw_width - priv->rmargin + (sample_width * 2); x_offset += - priv->rmargin - - ((sample_width / priv->frames_per_unit) * priv->render_counter); + priv->rmargin - + ((sample_width / priv->frames_per_unit) * priv->render_counter); cr = gdk_cairo_create(window); @@ -287,39 +287,39 @@ trg_torrent_graph_expose(GtkWidget * widget, cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND); cairo_rectangle(cr, - priv->rmargin + priv->indent + GRAPH_FRAME_WIDTH + 1, - GRAPH_FRAME_WIDTH - 1, - priv->draw_width - priv->rmargin - priv->indent - 1, - priv->real_draw_height + GRAPH_FRAME_WIDTH - 1); + priv->rmargin + priv->indent + GRAPH_FRAME_WIDTH + 1, + GRAPH_FRAME_WIDTH - 1, + priv->draw_width - priv->rmargin - priv->indent - 1, + priv->real_draw_height + GRAPH_FRAME_WIDTH - 1); cairo_clip(cr); for (j = 0; j < GRAPH_NUM_LINES; ++j) { - GList *li = priv->points; - fp = (float *) li->data; - cairo_move_to(cr, x_offset, - (1.0f - fp[j]) * priv->real_draw_height); - gdk_cairo_set_source_color(cr, &(priv->colors[j])); - - i = 0; - for (li = g_list_next(li); li != NULL; li = g_list_next(li)) { - GList *lli = g_list_previous(li); - float *lfp = (float *) lli->data; - fp = (float *) li->data; - - i++; - - if (fp[j] == -1.0f) - continue; - - cairo_curve_to(cr, - x_offset - ((i - 0.5f) * priv->graph_delx), - (1.0f - lfp[j]) * priv->real_draw_height + 3.5f, - x_offset - ((i - 0.5f) * priv->graph_delx), - (1.0f - fp[j]) * priv->real_draw_height + 3.5f, - x_offset - (i * priv->graph_delx), - (1.0f - fp[j]) * priv->real_draw_height + 3.5f); - } - cairo_stroke(cr); + GList *li = priv->points; + fp = (float *) li->data; + cairo_move_to(cr, x_offset, + (1.0f - fp[j]) * priv->real_draw_height); + gdk_cairo_set_source_color(cr, &(priv->colors[j])); + + i = 0; + for (li = g_list_next(li); li != NULL; li = g_list_next(li)) { + GList *lli = g_list_previous(li); + float *lfp = (float *) lli->data; + fp = (float *) li->data; + + i++; + + if (fp[j] == -1.0f) + continue; + + cairo_curve_to(cr, + x_offset - ((i - 0.5f) * priv->graph_delx), + (1.0f - lfp[j]) * priv->real_draw_height + 3.5f, + x_offset - ((i - 0.5f) * priv->graph_delx), + (1.0f - fp[j]) * priv->real_draw_height + 3.5f, + x_offset - (i * priv->graph_delx), + (1.0f - fp[j]) * priv->real_draw_height + 3.5f); + } + cairo_stroke(cr); } cairo_destroy(cr); @@ -342,7 +342,7 @@ static void trg_torrent_graph_dispose(GObject * object) trg_torrent_graph_stop(g); if (priv->timer_index) - g_source_remove(priv->timer_index); + g_source_remove(priv->timer_index); trg_torrent_graph_clear_background(g); @@ -354,11 +354,11 @@ void trg_torrent_graph_start(TrgTorrentGraph * g) TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); if (!priv->timer_index) { - trg_torrent_graph_update(g); + trg_torrent_graph_update(g); - priv->timer_index = - g_timeout_add(priv->speed / priv->frames_per_unit, - trg_torrent_graph_update, g); + priv->timer_index = + g_timeout_add(priv->speed / priv->frames_per_unit, + trg_torrent_graph_update, g); } priv->draw = TRUE; @@ -371,8 +371,8 @@ static unsigned get_max_value_element(TrgTorrentGraph * g) int i; for (i = 0; i < GRAPH_NUM_POINTS; i++) - if (priv->values[i] > r) - r = priv->values[i]; + if (priv->values[i] > r) + r = priv->values[i]; return r; } @@ -382,7 +382,7 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); unsigned max, new_max, bak_max, pow2, base10, coef10, factor10, - num_bars; + num_bars; float scale; char speed[32]; @@ -402,17 +402,17 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) trg_strlspeed(speed, (gint64) (priv->out / KILOBYTE_FACTOR)); labelMarkup = - g_markup_printf_escaped("%s: %s", - _("Total Uploading"), speed); + g_markup_printf_escaped("%s: %s", + _("Total Uploading"), speed); gtk_label_set_markup(GTK_LABEL(priv->label_out), labelMarkup); g_free(labelMarkup); trg_strlspeed(speed, (gint64) (priv->in / 1024)); labelMarkup = - g_markup_printf_escaped("%s: %s", - _("Total Downloading"), speed); + g_markup_printf_escaped("%s: %s", + _("Total Downloading"), speed); gtk_label_set_markup(GTK_LABEL(priv->label_in), labelMarkup); g_free(labelMarkup); @@ -421,9 +421,9 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) priv->cur = (priv->cur + 1) % GRAPH_NUM_POINTS; if (max >= priv->max) - new_max = max; + new_max = max; else - new_max = get_max_value_element(g); + new_max = get_max_value_element(g); bak_max = new_max; new_max = 1.1 * new_max; @@ -437,25 +437,25 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) num_bars = trg_torrent_graph_get_num_bars(g); if (coef10 % num_bars != 0) - coef10 = coef10 + (num_bars - coef10 % num_bars); + coef10 = coef10 + (num_bars - coef10 % num_bars); new_max = coef10 * (1UL << (base10 * 10)); if (bak_max > new_max) { - new_max = bak_max; + new_max = bak_max; } if ((0.8 * priv->max) < new_max && new_max <= priv->max) - return; + return; scale = 1.0f * priv->max / new_max; for (li = priv->points; li != NULL; li = g_list_next(li)) { - float *fp = (float *) li->data; - if (fp[0] >= 0.0f) { - fp[0] *= scale; - fp[1] *= scale; - } + float *fp = (float *) li->data; + if (fp[0] >= 0.0f) { + fp[0] *= scale; + fp[1] *= scale; + } } priv->max = new_max; @@ -464,10 +464,10 @@ static void trg_torrent_graph_update_net(TrgTorrentGraph * g) } static GObject *trg_torrent_graph_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam * - construct_params) + guint + n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *object; TrgTorrentGraphPrivate *priv; @@ -475,10 +475,10 @@ static GObject *trg_torrent_graph_constructor(GType type, int i; object = - G_OBJECT_CLASS - (trg_torrent_graph_parent_class)->constructor(type, - n_construct_properties, - construct_params); + G_OBJECT_CLASS + (trg_torrent_graph_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_TORRENT_GRAPH_GET_PRIVATE(object); priv->draw_width = 0; @@ -526,9 +526,9 @@ static GObject *trg_torrent_graph_constructor(GType type, priv->disp = gtk_drawing_area_new(); g_signal_connect(G_OBJECT(priv->disp), "expose_event", - G_CALLBACK(trg_torrent_graph_expose), object); + G_CALLBACK(trg_torrent_graph_expose), object); g_signal_connect(G_OBJECT(priv->disp), "configure_event", - G_CALLBACK(trg_torrent_graph_configure), object); + G_CALLBACK(trg_torrent_graph_configure), object); gtk_widget_set_events(priv->disp, GDK_EXPOSURE_MASK); @@ -536,10 +536,10 @@ static GObject *trg_torrent_graph_constructor(GType type, priv->points = NULL; for (i = 0; i < GRAPH_NUM_DATA_BLOCK_ELEMENTS; i++) { - priv->data_block[i] = -1.0f; - if (i % GRAPH_NUM_LINES == 0) - priv->points = - g_list_append(priv->points, &priv->data_block[i]); + priv->data_block[i] = -1.0f; + if (i % GRAPH_NUM_LINES == 0) + priv->points = + g_list_append(priv->points, &priv->data_block[i]); } return object; @@ -583,8 +583,8 @@ void trg_torrent_graph_clear_background(TrgTorrentGraph * g) TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); if (priv->background) { - g_object_unref(priv->background); - priv->background = NULL; + g_object_unref(priv->background); + priv->background = NULL; } } @@ -593,18 +593,18 @@ static gboolean trg_torrent_graph_update(gpointer user_data) { TrgTorrentGraph *g = TRG_TORRENT_GRAPH(user_data); TrgTorrentGraphPrivate *priv = - TRG_TORRENT_GRAPH_GET_PRIVATE(user_data); + TRG_TORRENT_GRAPH_GET_PRIVATE(user_data); if (priv->render_counter == priv->frames_per_unit - 1) - trg_torrent_graph_update_net(g); + trg_torrent_graph_update_net(g); if (priv->draw) - trg_torrent_graph_draw(g); + trg_torrent_graph_draw(g); priv->render_counter++; if (priv->render_counter >= priv->frames_per_unit) - priv->render_counter = 0; + priv->render_counter = 0; return TRUE; } @@ -617,18 +617,18 @@ unsigned trg_torrent_graph_get_num_bars(TrgTorrentGraph * g) switch ((int) (priv->draw_height / (priv->fontsize + 14))) { case 0: case 1: - n = 1; - break; + n = 1; + break; case 2: case 3: - n = 2; - break; + n = 2; + break; case 4: - n = 4; - break; + n = 4; + break; default: - n = 5; - break; + n = 5; + break; } return n; diff --git a/src/trg-torrent-graph.h b/src/trg-torrent-graph.h index 7a9e7c9..c71f3b6 100644 --- a/src/trg-torrent-graph.h +++ b/src/trg-torrent-graph.h @@ -45,8 +45,8 @@ void trg_torrent_graph_stop(TrgTorrentGraph * g); void trg_torrent_graph_change_speed(TrgTorrentGraph * g, guint new_speed); void trg_torrent_graph_set_speed(TrgTorrentGraph * g, - trg_torrent_model_update_stats * stats); + trg_torrent_model_update_stats * stats); void trg_torrent_graph_set_nothing(TrgTorrentGraph * g); G_END_DECLS -#endif /* _TRG_TORRENT_GRAPH */ +#endif /* _TRG_TORRENT_GRAPH */ diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index 678f39a..7f9f922 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -82,9 +82,9 @@ static void trg_torrent_model_dispose(GObject * object) static void update_torrent_iter(TrgTorrentModel * model, TrgClient * tc, gint64 rpcv, - gint64 serial, GtkTreeIter * iter, JsonObject * t, - trg_torrent_model_update_stats * stats, - gboolean * updateFilters); + gint64 serial, GtkTreeIter * iter, JsonObject * t, + trg_torrent_model_update_stats * stats, + gboolean * updateFilters); static void trg_torrent_model_class_init(TrgTorrentModelClass * klass) { @@ -94,75 +94,75 @@ static void trg_torrent_model_class_init(TrgTorrentModelClass * klass) object_class->dispose = trg_torrent_model_dispose; signals[TMODEL_TORRENT_COMPLETED] = g_signal_new("torrent-completed", - G_TYPE_FROM_CLASS - (object_class), - G_SIGNAL_RUN_LAST | - G_SIGNAL_ACTION, - G_STRUCT_OFFSET - (TrgTorrentModelClass, - torrent_completed), - NULL, NULL, - g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, - G_TYPE_POINTER); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgTorrentModelClass, + torrent_completed), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); signals[TMODEL_TORRENT_ADDED] = g_signal_new("torrent-added", - G_TYPE_FROM_CLASS - (object_class), - G_SIGNAL_RUN_LAST | - G_SIGNAL_ACTION, - G_STRUCT_OFFSET - (TrgTorrentModelClass, - torrent_added), NULL, - NULL, - g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, - G_TYPE_POINTER); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgTorrentModelClass, + torrent_added), NULL, + NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); signals[TMODEL_UPDATE_FILTERS] = g_signal_new("update-filters", - G_TYPE_FROM_CLASS - (object_class), - G_SIGNAL_RUN_LAST | - G_SIGNAL_ACTION, - G_STRUCT_OFFSET - (TrgTorrentModelClass, - torrent_removed), NULL, - NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS + (object_class), + G_SIGNAL_RUN_LAST | + G_SIGNAL_ACTION, + G_STRUCT_OFFSET + (TrgTorrentModelClass, + torrent_removed), NULL, + NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); } trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel - * model) + * model) { TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); return &(priv->stats); } static void trg_torrent_model_count_peers(TrgTorrentModel * model, - GtkTreeIter * iter, - JsonObject * t) + GtkTreeIter * iter, + JsonObject * t) { GList *trackersList = - json_array_get_elements(torrent_get_tracker_stats(t)); + json_array_get_elements(torrent_get_tracker_stats(t)); gint seeders = 0; gint leechers = 0; gint downloads = 0; GList *li; for (li = trackersList; li; li = g_list_next(li)) { - JsonObject *tracker = json_node_get_object((JsonNode *) li->data); + JsonObject *tracker = json_node_get_object((JsonNode *) li->data); - seeders += tracker_stats_get_seeder_count(tracker); - leechers += tracker_stats_get_leecher_count(tracker); - downloads += tracker_stats_get_download_count(tracker); + seeders += tracker_stats_get_seeder_count(tracker); + leechers += tracker_stats_get_leecher_count(tracker); + downloads += tracker_stats_get_download_count(tracker); } g_list_free(trackersList); gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_SEEDS, - seeders, TORRENT_COLUMN_LEECHERS, leechers, - TORRENT_COLUMN_DOWNLOADS, downloads, -1); + seeders, TORRENT_COLUMN_LEECHERS, leechers, + TORRENT_COLUMN_DOWNLOADS, downloads, -1); } static void trg_torrent_model_ref_free(gpointer data) @@ -171,20 +171,20 @@ static void trg_torrent_model_ref_free(gpointer data) GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); GtkTreePath *path = gtk_tree_row_reference_get_path(rr); if (path) { - GtkTreeIter iter; - JsonObject *json; - if (gtk_tree_model_get_iter(model, &iter, path)) { - gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json, - -1); - json_object_unref(json); - g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, - GINT_TO_POINTER(TRUE)); - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, - GINT_TO_POINTER(FALSE)); - } - - gtk_tree_path_free(path); + GtkTreeIter iter; + JsonObject *json; + if (gtk_tree_model_get_iter(model, &iter, path)) { + gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json, + -1); + json_object_unref(json); + g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, + GINT_TO_POINTER(TRUE)); + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS, + GINT_TO_POINTER(FALSE)); + } + + gtk_tree_path_free(path); } gtk_tree_row_reference_free(rr); @@ -234,14 +234,14 @@ static void trg_torrent_model_init(TrgTorrentModel * self) column_types[TORRENT_COLUMN_LASTACTIVE] = G_TYPE_INT64; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - TORRENT_COLUMN_COLUMNS, column_types); + TORRENT_COLUMN_COLUMNS, column_types); priv->ht = g_hash_table_new_full(g_int64_hash, g_int64_equal, - (GDestroyNotify) g_free, - trg_torrent_model_ref_free); + (GDestroyNotify) g_free, + trg_torrent_model_ref_free); g_object_set_data(G_OBJECT(self), PROP_REMOVE_IN_PROGRESS, - GINT_TO_POINTER(FALSE)); + GINT_TO_POINTER(FALSE)); priv->urlHostRegex = trg_uri_host_regex_new(); } @@ -249,28 +249,28 @@ static void trg_torrent_model_init(TrgTorrentModel * self) gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model) { return (gboolean) GPOINTER_TO_INT(g_object_get_data - (G_OBJECT(model), - PROP_REMOVE_IN_PROGRESS)); + (G_OBJECT(model), + PROP_REMOVE_IN_PROGRESS)); } static gboolean trg_torrent_model_reload_dir_aliases_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer gdata) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer gdata) { gchar *downloadDir, *shortDownloadDir; gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR, - &downloadDir, -1); + &downloadDir, -1); shortDownloadDir = - shorten_download_dir((TrgClient *) gdata, downloadDir); + shorten_download_dir((TrgClient *) gdata, downloadDir); gtk_list_store_set(GTK_LIST_STORE(model), iter, - TORRENT_COLUMN_DOWNLOADDIR_SHORT, shortDownloadDir, - -1); + TORRENT_COLUMN_DOWNLOADDIR_SHORT, shortDownloadDir, + -1); g_free(downloadDir); g_free(shortDownloadDir); @@ -279,37 +279,37 @@ trg_torrent_model_reload_dir_aliases_foreachfunc(GtkTreeModel * model, } void trg_torrent_model_reload_dir_aliases(TrgClient * tc, - GtkTreeModel * model) + GtkTreeModel * model) { gtk_tree_model_foreach(model, - trg_torrent_model_reload_dir_aliases_foreachfunc, - tc); + trg_torrent_model_reload_dir_aliases_foreachfunc, + tc); } static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * - model, - GtkTreePath * - path - G_GNUC_UNUSED, - GtkTreeIter * - iter, - gpointer gdata) + model, + GtkTreePath * + path + G_GNUC_UNUSED, + GtkTreeIter * + iter, + gpointer gdata) { trg_torrent_model_update_stats *stats = - (trg_torrent_model_update_stats *) gdata; + (trg_torrent_model_update_stats *) gdata; guint flags; gtk_tree_model_get(model, iter, TORRENT_COLUMN_FLAGS, &flags, -1); if (flags & TORRENT_FLAG_SEEDING) - stats->seeding++; + stats->seeding++; else if (flags & TORRENT_FLAG_DOWNLOADING) - stats->down++; + stats->down++; else if (flags & TORRENT_FLAG_PAUSED) - stats->paused++; + stats->paused++; if (flags & TORRENT_FLAG_ERROR) - stats->error++; + stats->error++; stats->count++; @@ -327,59 +327,59 @@ gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir) { TrgPrefs *prefs = trg_client_get_prefs(tc); JsonArray *labels = - trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, - TRG_PREFS_CONNECTION); + trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS, + TRG_PREFS_CONNECTION); JsonObject *session = trg_client_get_session(tc); const gchar *defaultDownloadDir = session_get_download_dir(session); gchar *shortDownloadDir = NULL; if (labels) { - GList *labelsList = json_array_get_elements(labels); - if (labelsList) { - GList *li; - for (li = labelsList; li; li = g_list_next(li)) { - JsonObject *labelObj = json_node_get_object((JsonNode *) - li->data); - const gchar *labelDir = - json_object_get_string_member(labelObj, - TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR); - if (!g_strcmp0(downloadDir, labelDir)) { - const gchar *labelLabel = - json_object_get_string_member(labelObj, - TRG_PREFS_SUBKEY_LABEL); - shortDownloadDir = g_strdup(labelLabel); - break; - } - } - g_list_free(labelsList); - } + GList *labelsList = json_array_get_elements(labels); + if (labelsList) { + GList *li; + for (li = labelsList; li; li = g_list_next(li)) { + JsonObject *labelObj = json_node_get_object((JsonNode *) + li->data); + const gchar *labelDir = + json_object_get_string_member(labelObj, + TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR); + if (!g_strcmp0(downloadDir, labelDir)) { + const gchar *labelLabel = + json_object_get_string_member(labelObj, + TRG_PREFS_SUBKEY_LABEL); + shortDownloadDir = g_strdup(labelLabel); + break; + } + } + g_list_free(labelsList); + } } if (shortDownloadDir) { - return shortDownloadDir; + return shortDownloadDir; } else { - if (!g_strcmp0(defaultDownloadDir, downloadDir)) - return g_strdup(_("Default")); + if (!g_strcmp0(defaultDownloadDir, downloadDir)) + return g_strdup(_("Default")); - if (g_str_has_prefix(downloadDir, defaultDownloadDir)) { - int offset = strlen(defaultDownloadDir); - if (*(downloadDir + offset) == '/') - offset++; + if (g_str_has_prefix(downloadDir, defaultDownloadDir)) { + int offset = strlen(defaultDownloadDir); + if (*(downloadDir + offset) == '/') + offset++; - if (offset < strlen(downloadDir)) - return g_strdup(downloadDir + offset); - } + if (offset < strlen(downloadDir)) + return g_strdup(downloadDir + offset); + } } return g_strdup(downloadDir); } static inline void update_torrent_iter(TrgTorrentModel * model, - TrgClient * tc, gint64 rpcv, - gint64 serial, GtkTreeIter * iter, - JsonObject * t, - trg_torrent_model_update_stats * - stats, gboolean * updateFilters) + TrgClient * tc, gint64 rpcv, + gint64 serial, GtkTreeIter * iter, + JsonObject * t, + trg_torrent_model_update_stats * + stats, gboolean * updateFilters) { TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); GtkListStore *ls = GTK_LIST_STORE(model); @@ -413,172 +413,172 @@ static inline void update_torrent_iter(TrgTorrentModel * model, trackerStats = torrent_get_tracker_stats(t); gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_FLAGS, - &lastFlags, TORRENT_COLUMN_JSON, &lastJson, - TORRENT_COLUMN_DOWNLOADDIR, &lastDownloadDir, -1); + &lastFlags, TORRENT_COLUMN_JSON, &lastJson, + TORRENT_COLUMN_DOWNLOADDIR, &lastDownloadDir, -1); json_object_ref(t); if (json_array_get_length(trackerStats) > 0) { - JsonObject *firstTracker = - json_array_get_object_element(trackerStats, - 0); - firstTrackerHost = trg_gregex_get_first(priv->urlHostRegex, - tracker_stats_get_host - (firstTracker)); + JsonObject *firstTracker = + json_array_get_object_element(trackerStats, + 0); + firstTrackerHost = trg_gregex_get_first(priv->urlHostRegex, + tracker_stats_get_host + (firstTracker)); } lpd = peerfrom_get_lpd(pf); if (newFlags & TORRENT_FLAG_ACTIVE) { - if (lpd >= 0) { - peerSources = - g_strdup_printf("%ld / %ld / %ld / %ld / %ld / %ld / %ld", - peerfrom_get_trackers(pf), - peerfrom_get_incoming(pf), - peerfrom_get_ltep(pf), - peerfrom_get_dht(pf), peerfrom_get_pex(pf), - lpd, peerfrom_get_resume(pf)); - } else { - peerSources = - g_strdup_printf("%ld / %ld / %ld / %ld / %ld / N/A / %ld", - peerfrom_get_trackers(pf), - peerfrom_get_incoming(pf), - peerfrom_get_ltep(pf), - peerfrom_get_dht(pf), peerfrom_get_pex(pf), - peerfrom_get_resume(pf)); - } + if (lpd >= 0) { + peerSources = + g_strdup_printf("%ld / %ld / %ld / %ld / %ld / %ld / %ld", + peerfrom_get_trackers(pf), + peerfrom_get_incoming(pf), + peerfrom_get_ltep(pf), + peerfrom_get_dht(pf), peerfrom_get_pex(pf), + lpd, peerfrom_get_resume(pf)); + } else { + peerSources = + g_strdup_printf("%ld / %ld / %ld / %ld / %ld / N/A / %ld", + peerfrom_get_trackers(pf), + peerfrom_get_incoming(pf), + peerfrom_get_ltep(pf), + peerfrom_get_dht(pf), peerfrom_get_pex(pf), + peerfrom_get_resume(pf)); + } } #ifdef DEBUG gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon, -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_NAME, torrent_get_name(t), -1); + TORRENT_COLUMN_NAME, torrent_get_name(t), -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_SIZE, torrent_get_size(t), -1); + TORRENT_COLUMN_SIZE, torrent_get_size(t), -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_DONE, - (newFlags & TORRENT_FLAG_CHECKING) ? - torrent_get_recheck_progress(t) - : torrent_get_percent_done(t), -1); + TORRENT_COLUMN_DONE, + (newFlags & TORRENT_FLAG_CHECKING) ? + torrent_get_recheck_progress(t) + : torrent_get_percent_done(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_STATUS, statusString, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNSPEED, downRate, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FLAGS, newFlags, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPSPEED, upRate, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_ETA, - torrent_get_eta(t), -1); + torrent_get_eta(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPLOADED, uploaded, -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_DOWNLOADED, downloaded, -1); + TORRENT_COLUMN_DOWNLOADED, downloaded, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_RATIO, - uploaded > 0 - && downloaded > - 0 ? (double) uploaded / (double) downloaded : 0, - -1); + uploaded > 0 + && downloaded > + 0 ? (double) uploaded / (double) downloaded : 0, + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_ID, id, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_JSON, t, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPDATESERIAL, serial, -1); gtk_list_store_set(ls, iter, - TORRENT_COLUMN_ADDED, torrent_get_added_date(t), - -1); + TORRENT_COLUMN_ADDED, torrent_get_added_date(t), + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR, - downloadDir, -1); + downloadDir, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_BANDWIDTH_PRIORITY, - torrent_get_bandwidth_priority(t), -1); + torrent_get_bandwidth_priority(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DONE_DATE, - torrent_get_done_date(t), -1); + torrent_get_done_date(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMPEX, - peerfrom_get_pex(pf), -1); + peerfrom_get_pex(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMDHT, - peerfrom_get_dht(pf), -1); + peerfrom_get_dht(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMTRACKERS, - peerfrom_get_trackers(pf), -1); + peerfrom_get_trackers(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMLTEP, - peerfrom_get_ltep(pf), -1); + peerfrom_get_ltep(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMRESUME, - peerfrom_get_resume(pf), -1); + peerfrom_get_resume(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMINCOMING, - peerfrom_get_incoming(pf), -1); + peerfrom_get_incoming(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEER_SOURCES, - peerSources, -1); + peerSources, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_CONNECTED, - torrent_get_peers_connected(t), -1); + torrent_get_peers_connected(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_TO_US, - torrent_get_peers_sending_to_us(t), -1); + torrent_get_peers_sending_to_us(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_FROM_US, - torrent_get_peers_getting_from_us(t), -1); + torrent_get_peers_getting_from_us(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_TRACKERHOST, - firstTrackerHost ? firstTrackerHost : "", -1); + firstTrackerHost ? firstTrackerHost : "", -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_QUEUE_POSITION, - torrent_get_queue_position(t), -1); + torrent_get_queue_position(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_LASTACTIVE, - torrent_get_activity_date(t), -1); + torrent_get_activity_date(t), -1); #else gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon, - TORRENT_COLUMN_ADDED, torrent_get_added_date(t), - TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t), - TORRENT_COLUMN_NAME, torrent_get_name(t), - TORRENT_COLUMN_SIZE, torrent_get_size(t), - TORRENT_COLUMN_DONE, - (newFlags & TORRENT_FLAG_CHECKING) ? - torrent_get_recheck_progress(t) - : torrent_get_percent_done(t), - TORRENT_COLUMN_STATUS, statusString, - TORRENT_COLUMN_DOWNSPEED, downRate, - TORRENT_COLUMN_FLAGS, newFlags, - TORRENT_COLUMN_UPSPEED, upRate, TORRENT_COLUMN_ETA, - torrent_get_eta(t), TORRENT_COLUMN_UPLOADED, - uploaded, TORRENT_COLUMN_DOWNLOADED, downloaded, - TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf), - TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf), - TORRENT_COLUMN_FROMTRACKERS, - peerfrom_get_trackers(pf), TORRENT_COLUMN_FROMLTEP, - peerfrom_get_ltep(pf), TORRENT_COLUMN_FROMRESUME, - peerfrom_get_resume(pf), - TORRENT_COLUMN_FROMINCOMING, - peerfrom_get_incoming(pf), - TORRENT_COLUMN_PEER_SOURCES, peerSources, - TORRENT_COLUMN_PEERS_CONNECTED, - torrent_get_peers_connected(t), - TORRENT_COLUMN_PEERS_TO_US, - torrent_get_peers_sending_to_us(t), - TORRENT_COLUMN_PEERS_FROM_US, - torrent_get_peers_getting_from_us(t), - TORRENT_COLUMN_QUEUE_POSITION, - torrent_get_queue_position(t), - TORRENT_COLUMN_LASTACTIVE, - torrent_get_activity_date(t), TORRENT_COLUMN_RATIO, - uploaded > 0 - && downloaded > - 0 ? (double) uploaded / (double) downloaded : 0, - TORRENT_COLUMN_DOWNLOADDIR, downloadDir, - TORRENT_COLUMN_BANDWIDTH_PRIORITY, - torrent_get_bandwidth_priority(t), - TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t, - TORRENT_COLUMN_TRACKERHOST, - firstTrackerHost ? firstTrackerHost : "", - TORRENT_COLUMN_UPDATESERIAL, serial, -1); + TORRENT_COLUMN_ADDED, torrent_get_added_date(t), + TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t), + TORRENT_COLUMN_NAME, torrent_get_name(t), + TORRENT_COLUMN_SIZE, torrent_get_size(t), + TORRENT_COLUMN_DONE, + (newFlags & TORRENT_FLAG_CHECKING) ? + torrent_get_recheck_progress(t) + : torrent_get_percent_done(t), + TORRENT_COLUMN_STATUS, statusString, + TORRENT_COLUMN_DOWNSPEED, downRate, + TORRENT_COLUMN_FLAGS, newFlags, + TORRENT_COLUMN_UPSPEED, upRate, TORRENT_COLUMN_ETA, + torrent_get_eta(t), TORRENT_COLUMN_UPLOADED, + uploaded, TORRENT_COLUMN_DOWNLOADED, downloaded, + TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf), + TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf), + TORRENT_COLUMN_FROMTRACKERS, + peerfrom_get_trackers(pf), TORRENT_COLUMN_FROMLTEP, + peerfrom_get_ltep(pf), TORRENT_COLUMN_FROMRESUME, + peerfrom_get_resume(pf), + TORRENT_COLUMN_FROMINCOMING, + peerfrom_get_incoming(pf), + TORRENT_COLUMN_PEER_SOURCES, peerSources, + TORRENT_COLUMN_PEERS_CONNECTED, + torrent_get_peers_connected(t), + TORRENT_COLUMN_PEERS_TO_US, + torrent_get_peers_sending_to_us(t), + TORRENT_COLUMN_PEERS_FROM_US, + torrent_get_peers_getting_from_us(t), + TORRENT_COLUMN_QUEUE_POSITION, + torrent_get_queue_position(t), + TORRENT_COLUMN_LASTACTIVE, + torrent_get_activity_date(t), TORRENT_COLUMN_RATIO, + uploaded > 0 + && downloaded > + 0 ? (double) uploaded / (double) downloaded : 0, + TORRENT_COLUMN_DOWNLOADDIR, downloadDir, + TORRENT_COLUMN_BANDWIDTH_PRIORITY, + torrent_get_bandwidth_priority(t), + TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t, + TORRENT_COLUMN_TRACKERHOST, + firstTrackerHost ? firstTrackerHost : "", + TORRENT_COLUMN_UPDATESERIAL, serial, -1); #endif if (!lastDownloadDir || g_strcmp0(downloadDir, lastDownloadDir)) { - gchar *shortDownloadDir = shorten_download_dir(tc, downloadDir); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT, - shortDownloadDir, -1); - g_free(shortDownloadDir); - *updateFilters = TRUE; + gchar *shortDownloadDir = shorten_download_dir(tc, downloadDir); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT, + shortDownloadDir, -1); + g_free(shortDownloadDir); + *updateFilters = TRUE; } if (lastJson) - json_object_unref(lastJson); + json_object_unref(lastJson); if ((lastFlags & TORRENT_FLAG_DOWNLOADING) - && (newFlags & TORRENT_FLAG_COMPLETE)) - g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter); + && (newFlags & TORRENT_FLAG_COMPLETE)) + g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter); trg_torrent_model_count_peers(model, iter, t); if (firstTrackerHost) - g_free(firstTrackerHost); + g_free(firstTrackerHost); if (peerSources) - g_free(peerSources); + g_free(peerSources); g_free(lastDownloadDir); g_free(statusString); @@ -602,71 +602,71 @@ GHashTable *get_torrent_table(TrgTorrentModel * model) } gboolean trg_model_find_removed_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer gdata) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer gdata) { struct TrgModelRemoveData *args = (struct TrgModelRemoveData *) gdata; gint64 rowSerial; gtk_tree_model_get(model, iter, TORRENT_COLUMN_UPDATESERIAL, - &rowSerial, -1); + &rowSerial, -1); if (rowSerial != args->currentSerial) { - gint64 *id = g_new(gint64, 1); - gtk_tree_model_get(model, iter, TORRENT_COLUMN_ID, id, -1); - args->toRemove = g_list_append(args->toRemove, id); + gint64 *id = g_new(gint64, 1); + gtk_tree_model_get(model, iter, TORRENT_COLUMN_ID, id, -1); + args->toRemove = g_list_append(args->toRemove, id); } return FALSE; } GList *trg_torrent_model_find_removed(GtkTreeModel * model, - gint64 currentSerial) + gint64 currentSerial) { struct TrgModelRemoveData args; args.toRemove = NULL; args.currentSerial = currentSerial; gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_model_find_removed_foreachfunc, &args); + trg_model_find_removed_foreachfunc, &args); return args.toRemove; } gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t, - GtkTreeIter * out_iter) + GtkTreeIter * out_iter) { gpointer result = g_hash_table_lookup(table, &id); gboolean found = FALSE; if (result) { - GtkTreeRowReference *rr = (GtkTreeRowReference *) result; - GtkTreePath *path = gtk_tree_row_reference_get_path(rr); - GtkTreeIter iter; - if (path) { - GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); - gtk_tree_model_get_iter(model, &iter, path); - if (out_iter) - *out_iter = iter; - if (t) - gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, t, - -1); - found = TRUE; - gtk_tree_path_free(path); - } + GtkTreeRowReference *rr = (GtkTreeRowReference *) result; + GtkTreePath *path = gtk_tree_row_reference_get_path(rr); + GtkTreeIter iter; + if (path) { + GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); + gtk_tree_model_get_iter(model, &iter, path); + if (out_iter) + *out_iter = iter; + if (t) + gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, t, + -1); + found = TRUE; + gtk_tree_path_free(path); + } } return found; } trg_torrent_model_update_stats *trg_torrent_model_update(TrgTorrentModel * - model, - TrgClient * tc, - JsonObject * - response, - gint mode) + model, + TrgClient * tc, + JsonObject * + response, + gint mode) { TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); @@ -690,76 +690,76 @@ trg_torrent_model_update_stats *trg_torrent_model_update(TrgTorrentModel * memset(&(priv->stats), 0, sizeof(trg_torrent_model_update_stats)); for (li = torrentList; li; li = g_list_next(li)) { - t = json_node_get_object((JsonNode *) li->data); - id = torrent_get_id(t); - - result = - mode == TORRENT_GET_MODE_FIRST ? NULL : - g_hash_table_lookup(priv->ht, &id); - - if (!result) { - gtk_list_store_append(GTK_LIST_STORE(model), &iter); - - update_torrent_iter(model, tc, rpcv, trg_client_get_serial(tc), - &iter, t, &(priv->stats), &updateFilters); - - path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &iter); - rr = gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); - idCopy = g_new(gint64, 1); - *idCopy = id; - g_hash_table_insert(priv->ht, idCopy, rr); - gtk_tree_path_free(path); - if (mode != TORRENT_GET_MODE_FIRST) - g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, - &iter); - } else { - path = gtk_tree_row_reference_get_path((GtkTreeRowReference *) - result); - if (path) { - if (gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, - path)) { - update_torrent_iter(model, tc, rpcv, - trg_client_get_serial(tc), &iter, - t, &(priv->stats), &updateFilters); - } - gtk_tree_path_free(path); - } - } + t = json_node_get_object((JsonNode *) li->data); + id = torrent_get_id(t); + + result = + mode == TORRENT_GET_MODE_FIRST ? NULL : + g_hash_table_lookup(priv->ht, &id); + + if (!result) { + gtk_list_store_append(GTK_LIST_STORE(model), &iter); + + update_torrent_iter(model, tc, rpcv, trg_client_get_serial(tc), + &iter, t, &(priv->stats), &updateFilters); + + path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &iter); + rr = gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path); + idCopy = g_new(gint64, 1); + *idCopy = id; + g_hash_table_insert(priv->ht, idCopy, rr); + gtk_tree_path_free(path); + if (mode != TORRENT_GET_MODE_FIRST) + g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, + &iter); + } else { + path = gtk_tree_row_reference_get_path((GtkTreeRowReference *) + result); + if (path) { + if (gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, + path)) { + update_torrent_iter(model, tc, rpcv, + trg_client_get_serial(tc), &iter, + t, &(priv->stats), &updateFilters); + } + gtk_tree_path_free(path); + } + } } g_list_free(torrentList); if (mode == TORRENT_GET_MODE_UPDATE) { - GList *hitlist = - trg_torrent_model_find_removed(GTK_TREE_MODEL(model), - trg_client_get_serial(tc)); - if (hitlist) { - for (li = hitlist; li; li = g_list_next(li)) { - g_hash_table_remove(priv->ht, li->data); - g_free(li->data); - } - updateFilters = TRUE; - g_list_free(hitlist); - } + GList *hitlist = + trg_torrent_model_find_removed(GTK_TREE_MODEL(model), + trg_client_get_serial(tc)); + if (hitlist) { + for (li = hitlist; li; li = g_list_next(li)) { + g_hash_table_remove(priv->ht, li->data); + g_free(li->data); + } + updateFilters = TRUE; + g_list_free(hitlist); + } } else if (mode > TORRENT_GET_MODE_FIRST) { - removedTorrents = get_torrents_removed(args); - if (removedTorrents) { - GList *hitlist = json_array_get_elements(removedTorrents); - for (li = hitlist; li; li = g_list_next(li)) { - id = json_node_get_int((JsonNode *) li->data); - g_hash_table_remove(priv->ht, &id); - updateFilters = TRUE; - } - g_list_free(hitlist); - } + removedTorrents = get_torrents_removed(args); + if (removedTorrents) { + GList *hitlist = json_array_get_elements(removedTorrents); + for (li = hitlist; li; li = g_list_next(li)) { + id = json_node_get_int((JsonNode *) li->data); + g_hash_table_remove(priv->ht, &id); + updateFilters = TRUE; + } + g_list_free(hitlist); + } } if (updateFilters) - g_signal_emit(model, signals[TMODEL_UPDATE_FILTERS], 0); + g_signal_emit(model, signals[TMODEL_UPDATE_FILTERS], 0); gtk_tree_model_foreach(GTK_TREE_MODEL(model), - trg_torrent_model_stats_scan_foreachfunc, - &(priv->stats)); + trg_torrent_model_stats_scan_foreachfunc, + &(priv->stats)); return &(priv->stats); } diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index a29c279..38ba1b3 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -44,9 +44,9 @@ G_BEGIN_DECLS typedef struct { GtkListStoreClass parent_class; void (*torrent_completed) (TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data); + GtkTreeIter * iter, gpointer data); void (*torrent_added) (TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data); + GtkTreeIter * iter, gpointer data); void (*torrent_removed) (TrgTorrentModel * model, gpointer data); } TrgTorrentModelClass; @@ -68,16 +68,16 @@ TrgTorrentModel *trg_torrent_model_new(); G_END_DECLS gboolean find_existing_peer_item(GtkListStore * model, JsonObject * p, - GtkTreeIter * iter); + GtkTreeIter * iter); trg_torrent_model_update_stats *trg_torrent_model_update(TrgTorrentModel * - model, - TrgClient * tc, - JsonObject * - response, - gint mode); + model, + TrgClient * tc, + JsonObject * + response, + gint mode); trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel - * model); + * model); GHashTable *get_torrent_table(TrgTorrentModel * model); void trg_torrent_model_remove_all(TrgTorrentModel * model); @@ -85,11 +85,11 @@ void trg_torrent_model_remove_all(TrgTorrentModel * model); gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model); gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t, - GtkTreeIter * out_iter); + GtkTreeIter * out_iter); gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir); void trg_torrent_model_reload_dir_aliases(TrgClient * tc, - GtkTreeModel * model); + GtkTreeModel * model); enum { TORRENT_COLUMN_ICON, @@ -131,4 +131,4 @@ enum { TORRENT_COLUMN_COLUMNS }; -#endif /* TRG_TORRENT_MODEL_H_ */ +#endif /* TRG_TORRENT_MODEL_H_ */ diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c index bfd18f2..e6f7b71 100644 --- a/src/trg-torrent-move-dialog.c +++ b/src/trg-torrent-move-dialog.c @@ -31,7 +31,7 @@ #include "requests.h" G_DEFINE_TYPE(TrgTorrentMoveDialog, trg_torrent_move_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) #define TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_MOVE_DIALOG, TrgTorrentMoveDialogPrivate)) typedef struct _TrgTorrentMoveDialogPrivate @@ -56,24 +56,24 @@ static void trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(dlg); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(dlg); if (res_id == GTK_RESPONSE_ACCEPT) { - gchar *location = - trg_destination_combo_get_dir(TRG_DESTINATION_COMBO - (priv->location_combo)); - JsonNode *request = torrent_set_location(priv->ids, location, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON - (priv->move_check))); - g_free(location); - request_set_tag_from_ids(request, priv->ids); - trg_destination_combo_save_selection(TRG_DESTINATION_COMBO - (priv->location_combo)); - dispatch_async(priv->client, request, - on_generic_interactive_action, data); + gchar *location = + trg_destination_combo_get_dir(TRG_DESTINATION_COMBO + (priv->location_combo)); + JsonNode *request = torrent_set_location(priv->ids, location, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON + (priv->move_check))); + g_free(location); + request_set_tag_from_ids(request, priv->ids); + trg_destination_combo_save_selection(TRG_DESTINATION_COMBO + (priv->location_combo)); + dispatch_async(priv->client, request, + on_generic_interactive_action, data); } else { - json_array_unref(priv->ids); + json_array_unref(priv->ids); } gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -81,25 +81,25 @@ trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data) static void location_changed(GtkWidget * w, gpointer data) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(data); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(data); gtk_widget_set_sensitive(priv->move_button, - trg_destination_combo_has_text - (TRG_DESTINATION_COMBO - (priv->location_combo))); + trg_destination_combo_has_text + (TRG_DESTINATION_COMBO + (priv->location_combo))); } static GObject *trg_torrent_move_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object = G_OBJECT_CLASS - (trg_torrent_move_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_move_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); gint count; gchar *msg; @@ -110,116 +110,116 @@ static GObject *trg_torrent_move_dialog_constructor(GType type, t = hig_workarea_create(); w = priv->location_combo = - trg_destination_combo_new(priv->client, - TRG_PREFS_KEY_LAST_MOVE_DESTINATION); + trg_destination_combo_new(priv->client, + TRG_PREFS_KEY_LAST_MOVE_DESTINATION); g_signal_connect(trg_destination_combo_get_entry - (TRG_DESTINATION_COMBO(w)), "changed", - G_CALLBACK(location_changed), object); + (TRG_DESTINATION_COMBO(w)), "changed", + G_CALLBACK(location_changed), object); hig_workarea_add_row(t, &row, _("Location:"), w, NULL); priv->move_check = - hig_workarea_add_wide_checkbutton(t, &row, _("Move"), TRUE); + hig_workarea_add_wide_checkbutton(t, &row, _("Move"), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CANCEL); + GTK_RESPONSE_CANCEL); priv->move_button = - gtk_dialog_add_button(GTK_DIALOG(object), _("Move"), - GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button(GTK_DIALOG(object), _("Move"), + GTK_RESPONSE_ACCEPT); gtk_widget_set_sensitive(priv->move_button, - trg_destination_combo_has_text - (TRG_DESTINATION_COMBO - (priv->location_combo))); + trg_destination_combo_has_text + (TRG_DESTINATION_COMBO + (priv->location_combo))); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), - GTK_RESPONSE_ACCEPT); + GTK_RESPONSE_ACCEPT); gtk_dialog_set_alternative_button_order(GTK_DIALOG(object), - GTK_RESPONSE_ACCEPT, - GTK_RESPONSE_CANCEL, -1); + GTK_RESPONSE_ACCEPT, + GTK_RESPONSE_CANCEL, -1); gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD); gtk_box_pack_start(GTK_BOX - (gtk_dialog_get_content_area(GTK_DIALOG(object))), - t, TRUE, TRUE, 0); + (gtk_dialog_get_content_area(GTK_DIALOG(object))), + t, TRUE, TRUE, 0); count = - gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection - (GTK_TREE_VIEW - (priv->treeview))); + gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection + (GTK_TREE_VIEW + (priv->treeview))); priv->ids = build_json_id_array(priv->treeview); if (count == 1) { - JsonObject *json; - const gchar *name; - - get_torrent_data(trg_client_get_torrent_table(priv->client), - trg_mw_get_selected_torrent_id(priv->win), &json, - NULL); - name = torrent_get_name(json); - msg = g_strdup_printf(_("Move %s"), name); + JsonObject *json; + const gchar *name; + + get_torrent_data(trg_client_get_torrent_table(priv->client), + trg_mw_get_selected_torrent_id(priv->win), &json, + NULL); + name = torrent_get_name(json); + msg = g_strdup_printf(_("Move %s"), name); } else { - msg = g_strdup_printf(_("Move %d torrents"), count); + msg = g_strdup_printf(_("Move %d torrents"), count); } gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->win)); + GTK_WINDOW(priv->win)); gtk_window_set_title(GTK_WINDOW(object), msg); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_torrent_move_response_cb), priv->win); + "response", + G_CALLBACK(trg_torrent_move_response_cb), priv->win); return object; } static void trg_torrent_move_dialog_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; case PROP_PARENT_WINDOW: - g_value_set_object(value, priv->win); - break; + g_value_set_object(value, priv->win); + break; case PROP_TREEVIEW: - g_value_set_object(value, priv->treeview); - break; + g_value_set_object(value, priv->treeview); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static void trg_torrent_move_dialog_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgTorrentMoveDialogPrivate *priv = - TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(object); switch (property_id) { case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; case PROP_PARENT_WINDOW: - priv->win = g_value_get_object(value); - break; + priv->win = g_value_get_object(value); + break; case PROP_TREEVIEW: - priv->treeview = g_value_get_object(value); - break; + priv->treeview = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } @@ -235,39 +235,39 @@ trg_torrent_move_dialog_class_init(TrgTorrentMoveDialogClass * klass) object_class->constructor = trg_torrent_move_dialog_constructor; g_object_class_install_property(object_class, - PROP_TREEVIEW, - g_param_spec_object - ("torrent-tree-view", - "TrgTorrentTreeView", - "TrgTorrentTreeView", - TRG_TYPE_TORRENT_TREE_VIEW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_TREEVIEW, + g_param_spec_object + ("torrent-tree-view", + "TrgTorrentTreeView", + "TrgTorrentTreeView", + TRG_TYPE_TORRENT_TREE_VIEW, + 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_PARENT_WINDOW, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT_WINDOW, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) @@ -275,11 +275,11 @@ static void trg_torrent_move_dialog_init(TrgTorrentMoveDialog * self) } TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, - TrgClient * client, - TrgTorrentTreeView * ttv) + TrgClient * client, + TrgTorrentTreeView * ttv) { return g_object_new(TRG_TYPE_TORRENT_MOVE_DIALOG, - "trg-client", client, - "torrent-tree-view", ttv, - "parent-window", win, NULL); + "trg-client", client, + "torrent-tree-view", ttv, + "parent-window", win, NULL); } diff --git a/src/trg-torrent-move-dialog.h b/src/trg-torrent-move-dialog.h index 40c38ca..c99f78f 100644 --- a/src/trg-torrent-move-dialog.h +++ b/src/trg-torrent-move-dialog.h @@ -49,9 +49,9 @@ typedef struct { GType trg_torrent_move_dialog_get_type(void); TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, - TrgClient * client, - TrgTorrentTreeView * - ttv); + TrgClient * client, + TrgTorrentTreeView * + ttv); G_END_DECLS -#endif /* TRG_TORRENT_MOVE_DIALOG_H_ */ +#endif /* TRG_TORRENT_MOVE_DIALOG_H_ */ diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 9486c41..241b518 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -47,7 +47,7 @@ */ G_DEFINE_TYPE(TrgTorrentPropsDialog, trg_torrent_props_dialog, - GTK_TYPE_DIALOG) + GTK_TYPE_DIALOG) enum { PROP_0, @@ -73,51 +73,51 @@ struct _TrgTorrentPropsDialogPrivate { static void trg_torrent_props_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_PARENT_WINDOW: - priv->parent = g_value_get_object(value); - break; + priv->parent = g_value_get_object(value); + break; case PROP_TREEVIEW: - priv->tv = g_value_get_object(value); - break; + priv->tv = g_value_get_object(value); + break; case PROP_CLIENT: - priv->client = g_value_get_pointer(value); - break; + priv->client = g_value_get_pointer(value); + break; } } static void trg_torrent_props_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); switch (prop_id) { case PROP_TREEVIEW: - g_value_set_object(value, priv->tv); - break; + g_value_set_object(value, priv->tv); + break; case PROP_PARENT_WINDOW: - g_value_set_object(value, priv->parent); - break; + g_value_set_object(value, priv->parent); + break; case PROP_CLIENT: - g_value_set_pointer(value, priv->client); - break; + g_value_set_pointer(value, priv->client); + break; } } static void trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { TrgTorrentPropsDialogPrivate *priv; JsonNode *request; @@ -126,9 +126,9 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, priv = TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(dlg); if (res_id != GTK_RESPONSE_OK) { - gtk_widget_destroy(GTK_WIDGET(dlg)); - json_array_unref(priv->targetIds); - return; + gtk_widget_destroy(GTK_WIDGET(dlg)); + json_array_unref(priv->targetIds); + return; } request = torrent_set(priv->targetIds); @@ -136,18 +136,20 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, args = node_get_arguments(request); json_object_set_int_member(args, FIELD_SEED_RATIO_MODE, - gtk_combo_box_get_active(GTK_COMBO_BOX - (priv->seedRatioMode))); + gtk_combo_box_get_active(GTK_COMBO_BOX + (priv-> + seedRatioMode))); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, - gtk_combo_box_get_active(GTK_COMBO_BOX - (priv->bandwidthPriorityCombo)) - - 1); + gtk_combo_box_get_active(GTK_COMBO_BOX + (priv-> + bandwidthPriorityCombo)) + - 1); trg_json_widgets_save(priv->widgets, args); trg_json_widget_desc_list_free(priv->widgets); dispatch_async(priv->client, request, - on_generic_interactive_action, priv->parent); + on_generic_interactive_action, priv->parent); gtk_widget_destroy(GTK_WIDGET(dlg)); } @@ -155,15 +157,15 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, static void seed_ratio_mode_changed_cb(GtkWidget * w, gpointer data) { gtk_widget_set_sensitive(GTK_WIDGET(data), - gtk_combo_box_get_active(GTK_COMBO_BOX(w)) - == 1 ? TRUE : FALSE); + gtk_combo_box_get_active(GTK_COMBO_BOX(w)) + == 1 ? TRUE : FALSE); } static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, - JsonObject * json) + JsonObject * json) { TrgTorrentPropsDialogPrivate *priv = - TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(win); + TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(win); GtkWidget *w, *tb, *t; gint row = 0; @@ -172,74 +174,74 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win, hig_workarea_add_section_title(t, &row, _("Bandwidth")); w = trg_json_widget_check_new(&priv->widgets, json, - FIELD_HONORS_SESSION_LIMITS, - _("Honor global limits"), NULL); + FIELD_HONORS_SESSION_LIMITS, + _("Honor global limits"), NULL); hig_workarea_add_wide_control(t, &row, w); w = priv->bandwidthPriorityCombo = - gtr_combo_box_new_enum(_("Low"), 0, _("Normal"), 1, _("High"), 2, - NULL); + gtr_combo_box_new_enum(_("Low"), 0, _("Normal"), 1, _("High"), 2, + NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(w), - torrent_get_bandwidth_priority(json) + 1); + torrent_get_bandwidth_priority(json) + 1); hig_workarea_add_row(t, &row, _("Torrent priority:"), w, NULL); if (json_object_has_member(json, FIELD_QUEUE_POSITION)) { - w = trg_json_widget_spin_new_int(&priv->widgets, json, - FIELD_QUEUE_POSITION, NULL, 0, - INT_MAX, 1); - hig_workarea_add_row(t, &row, _("Queue Position:"), w, w); + w = trg_json_widget_spin_new_int(&priv->widgets, json, + FIELD_QUEUE_POSITION, NULL, 0, + INT_MAX, 1); + hig_workarea_add_row(t, &row, _("Queue Position:"), w, w); } tb = trg_json_widget_check_new(&priv->widgets, json, - FIELD_DOWNLOAD_LIMITED, - _("Limit download speed (Kbps)"), NULL); + FIELD_DOWNLOAD_LIMITED, + _("Limit download speed (Kbps)"), NULL); w = trg_json_widget_spin_new_int(&priv->widgets, json, - FIELD_DOWNLOAD_LIMIT, tb, 0, INT_MAX, - 1); + FIELD_DOWNLOAD_LIMIT, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); tb = trg_json_widget_check_new(&priv->widgets, json, - FIELD_UPLOAD_LIMITED, - _("Limit upload speed (Kbps)"), NULL); + FIELD_UPLOAD_LIMITED, + _("Limit upload speed (Kbps)"), NULL); w = trg_json_widget_spin_new_int(&priv->widgets, json, - FIELD_UPLOAD_LIMIT, tb, 0, INT_MAX, - 1); + FIELD_UPLOAD_LIMIT, tb, 0, INT_MAX, + 1); hig_workarea_add_row_w(t, &row, tb, w, NULL); hig_workarea_add_section_title(t, &row, _("Seeding")); w = priv->seedRatioMode = - gtr_combo_box_new_enum(_("Use global settings"), 0, - _("Stop seeding at ratio"), 1, - _("Seed regardless of ratio"), 2, NULL); + gtr_combo_box_new_enum(_("Use global settings"), 0, + _("Stop seeding at ratio"), 1, + _("Seed regardless of ratio"), 2, NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(w), - torrent_get_seed_ratio_mode(json)); + torrent_get_seed_ratio_mode(json)); hig_workarea_add_row(t, &row, _("Seed ratio mode:"), w, NULL); w = trg_json_widget_spin_new_double(&priv->widgets, json, - FIELD_SEED_RATIO_LIMIT, NULL, 0, - INT_MAX, 0.2); + FIELD_SEED_RATIO_LIMIT, NULL, 0, + INT_MAX, 0.2); seed_ratio_mode_changed_cb(priv->seedRatioMode, w); g_signal_connect(G_OBJECT(priv->seedRatioMode), "changed", - G_CALLBACK(seed_ratio_mode_changed_cb), w); + G_CALLBACK(seed_ratio_mode_changed_cb), w); hig_workarea_add_row(t, &row, _("Seed ratio limit:"), w, w); hig_workarea_add_section_title(t, &row, _("Peers")); w = trg_json_widget_spin_new_int(&priv->widgets, json, - FIELD_PEER_LIMIT, NULL, 0, INT_MAX, - 5); + FIELD_PEER_LIMIT, NULL, 0, INT_MAX, + 5); hig_workarea_add_row(t, &row, _("Peer limit:"), w, w); return t; } static GObject *trg_torrent_props_dialog_constructor(GType type, - guint - n_construct_properties, - GObjectConstructParam - * construct_params) + guint + n_construct_properties, + GObjectConstructParam + * construct_params) { GObject *object; TrgTorrentPropsDialogPrivate *priv; @@ -249,52 +251,52 @@ static GObject *trg_torrent_props_dialog_constructor(GType type, GtkWidget *notebook, *contentvbox; object = G_OBJECT_CLASS - (trg_torrent_props_dialog_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_torrent_props_dialog_parent_class)->constructor(type, + n_construct_properties, + construct_params); priv = TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(object); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->tv)); rowCount = gtk_tree_selection_count_selected_rows(selection); get_torrent_data(trg_client_get_torrent_table(priv->client), - trg_mw_get_selected_torrent_id(priv->parent), &json, - NULL); + trg_mw_get_selected_torrent_id(priv->parent), &json, + NULL); priv->targetIds = build_json_id_array(priv->tv); if (rowCount > 1) { - gchar *windowTitle = - g_strdup_printf(_("Multiple (%d) torrent properties"), - rowCount); - gtk_window_set_title(GTK_WINDOW(object), windowTitle); - g_free(windowTitle); + gchar *windowTitle = + g_strdup_printf(_("Multiple (%d) torrent properties"), + rowCount); + gtk_window_set_title(GTK_WINDOW(object), windowTitle); + g_free(windowTitle); } else if (rowCount == 1) { - gtk_window_set_title(GTK_WINDOW(object), torrent_get_name(json)); + gtk_window_set_title(GTK_WINDOW(object), torrent_get_name(json)); } gtk_window_set_transient_for(GTK_WINDOW(object), - GTK_WINDOW(priv->parent)); + GTK_WINDOW(priv->parent)); gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE); + GTK_RESPONSE_CLOSE); gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, - GTK_RESPONSE_OK); + GTK_RESPONSE_OK); gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD); gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(object), - "response", - G_CALLBACK(trg_torrent_props_response_cb), NULL); + "response", + G_CALLBACK(trg_torrent_props_response_cb), NULL); notebook = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), - trg_props_limitsPage - (TRG_TORRENT_PROPS_DIALOG(object), json), - gtk_label_new(_("Limits"))); + trg_props_limitsPage + (TRG_TORRENT_PROPS_DIALOG(object), json), + gtk_label_new(_("Limits"))); gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD); @@ -316,39 +318,39 @@ trg_torrent_props_dialog_class_init(TrgTorrentPropsDialogClass * klass) g_type_class_add_private(klass, sizeof(TrgTorrentPropsDialogPrivate)); g_object_class_install_property(object_class, - PROP_TREEVIEW, - g_param_spec_object - ("torrent-tree-view", - "TrgTorrentTreeView", - "TrgTorrentTreeView", - TRG_TYPE_TORRENT_TREE_VIEW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_TREEVIEW, + g_param_spec_object + ("torrent-tree-view", + "TrgTorrentTreeView", + "TrgTorrentTreeView", + TRG_TYPE_TORRENT_TREE_VIEW, + 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_PARENT_WINDOW, - g_param_spec_object - ("parent-window", "Parent window", - "Parent window", TRG_TYPE_MAIN_WINDOW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY | - G_PARAM_STATIC_NAME | - G_PARAM_STATIC_NICK | - G_PARAM_STATIC_BLURB)); + PROP_PARENT_WINDOW, + g_param_spec_object + ("parent-window", "Parent window", + "Parent window", TRG_TYPE_MAIN_WINDOW, + 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_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)); + 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)); } static void @@ -358,12 +360,12 @@ trg_torrent_props_dialog_init(TrgTorrentPropsDialog * self G_GNUC_UNUSED) } TrgTorrentPropsDialog *trg_torrent_props_dialog_new(GtkWindow * window, - TrgTorrentTreeView * - treeview, - TrgClient * client) + TrgTorrentTreeView * + treeview, + TrgClient * client) { return g_object_new(TRG_TYPE_TORRENT_PROPS_DIALOG, - "parent-window", window, - "torrent-tree-view", treeview, - "trg-client", client, NULL); + "parent-window", window, + "torrent-tree-view", treeview, + "trg-client", client, NULL); } diff --git a/src/trg-torrent-props-dialog.h b/src/trg-torrent-props-dialog.h index 9c935db..78d72de 100644 --- a/src/trg-torrent-props-dialog.h +++ b/src/trg-torrent-props-dialog.h @@ -48,9 +48,9 @@ typedef struct { GType trg_torrent_props_dialog_get_type(void); TrgTorrentPropsDialog *trg_torrent_props_dialog_new(GtkWindow * window, - TrgTorrentTreeView * - treeview, - TrgClient * client); + TrgTorrentTreeView * + treeview, + TrgClient * client); G_END_DECLS -#endif /* TRG_TORRENT_PROPS_DIALOG_H_ */ +#endif /* TRG_TORRENT_PROPS_DIALOG_H_ */ diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index de1d986..a359dff 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -26,11 +26,11 @@ #include "trg-torrent-tree-view.h" G_DEFINE_TYPE(TrgTorrentTreeView, trg_torrent_tree_view, - TRG_TYPE_TREE_VIEW) + TRG_TYPE_TREE_VIEW) static void trg_torrent_tree_view_class_init(TrgTorrentTreeViewClass * - klass G_GNUC_UNUSED) + klass G_GNUC_UNUSED) { } @@ -40,110 +40,110 @@ static void trg_torrent_tree_view_init(TrgTorrentTreeView * tttv) trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, - TORRENT_COLUMN_NAME, _("Name"), "name", - 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, + TORRENT_COLUMN_NAME, _("Name"), "name", + 0); desc->model_column_icon = TORRENT_COLUMN_ICON; trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, TORRENT_COLUMN_SIZE, - _("Size"), "size", 0); + _("Size"), "size", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, TORRENT_COLUMN_DONE, - _("Done"), "done", 0); + _("Done"), "done", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_STATUS, - _("Status"), "status", 0); + _("Status"), "status", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_SEEDS, _("Seeds"), "seeds", 0); + TORRENT_COLUMN_SEEDS, _("Seeds"), "seeds", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_PEERS_TO_US, _("Sending"), - "sending", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_PEERS_TO_US, _("Sending"), + "sending", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_LEECHERS, _("Leechers"), - "leechers", 0); + TORRENT_COLUMN_LEECHERS, _("Leechers"), + "leechers", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_DOWNLOADS, _("Downloads"), - "downloads", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_DOWNLOADS, _("Downloads"), + "downloads", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_PEERS_FROM_US, _("Receiving"), - "connected-leechers", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_PEERS_FROM_US, _("Receiving"), + "connected-leechers", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_PEERS_CONNECTED, - _("Connected"), "connected-peers", 0); + TORRENT_COLUMN_PEERS_CONNECTED, + _("Connected"), "connected-peers", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMPEX, _("PEX Peers"), - "from-pex", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMPEX, _("PEX Peers"), + "from-pex", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMDHT, _("DHT Peers"), - "from-dht", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMDHT, _("DHT Peers"), + "from-dht", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMTRACKERS, - _("Tracker Peers"), "from-trackers", - TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMTRACKERS, + _("Tracker Peers"), "from-trackers", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMLTEP, _("LTEP Peers"), - "from-ltep", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMLTEP, _("LTEP Peers"), + "from-ltep", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMRESUME, _("Resumed Peers"), - "from-resume", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMRESUME, _("Resumed Peers"), + "from-resume", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TORRENT_COLUMN_FROMINCOMING, - _("Incoming Peers"), "from-incoming", - TRG_COLUMN_EXTRA); + TORRENT_COLUMN_FROMINCOMING, + _("Incoming Peers"), "from-incoming", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TORRENT_COLUMN_PEER_SOURCES, - _("Peers T/I/E/H/X/L/R"), "peer-sources", - TRG_COLUMN_EXTRA); + TORRENT_COLUMN_PEER_SOURCES, + _("Peers T/I/E/H/X/L/R"), "peer-sources", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, - TORRENT_COLUMN_DOWNSPEED, _("Down Speed"), - "down-speed", 0); + TORRENT_COLUMN_DOWNSPEED, _("Down Speed"), + "down-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, - TORRENT_COLUMN_UPSPEED, _("Up Speed"), - "up-speed", 0); + TORRENT_COLUMN_UPSPEED, _("Up Speed"), + "up-speed", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_ETA, TORRENT_COLUMN_ETA, - _("ETA"), "eta", 0); + _("ETA"), "eta", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, - TORRENT_COLUMN_UPLOADED, _("Uploaded"), - "uploaded", 0); + TORRENT_COLUMN_UPLOADED, _("Uploaded"), + "uploaded", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, - TORRENT_COLUMN_DOWNLOADED, _("Downloaded"), - "downloaded", 0); + TORRENT_COLUMN_DOWNLOADED, _("Downloaded"), + "downloaded", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_RATIO, TORRENT_COLUMN_RATIO, - _("Ratio"), "ratio", 0); + _("Ratio"), "ratio", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, TORRENT_COLUMN_ADDED, - _("Added"), "added", 0); + _("Added"), "added", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TORRENT_COLUMN_TRACKERHOST, - _("First Tracker"), "first-tracker", - TRG_COLUMN_EXTRA); + TORRENT_COLUMN_TRACKERHOST, + _("First Tracker"), "first-tracker", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TORRENT_COLUMN_DOWNLOADDIR, _("Location"), - "download-dir", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_DOWNLOADDIR, _("Location"), + "download-dir", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_ID, - _("ID"), "id", TRG_COLUMN_EXTRA); + _("ID"), "id", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_PRIO, - TORRENT_COLUMN_BANDWIDTH_PRIORITY, - _("Priority"), "priority", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_BANDWIDTH_PRIORITY, + _("Priority"), "priority", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTEQZERO, - TORRENT_COLUMN_QUEUE_POSITION, - _("Queue Position"), "queue-position", - TRG_COLUMN_EXTRA); + TORRENT_COLUMN_QUEUE_POSITION, + _("Queue Position"), "queue-position", + TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, - TORRENT_COLUMN_DONE_DATE, _("Completed"), - "done-date", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_DONE_DATE, _("Completed"), + "done-date", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, - TORRENT_COLUMN_LASTACTIVE, _("Last Active"), - "last-active", TRG_COLUMN_EXTRA); + TORRENT_COLUMN_LASTACTIVE, _("Last Active"), + "last-active", TRG_COLUMN_EXTRA); gtk_tree_view_set_search_column(GTK_TREE_VIEW(tttv), - TORRENT_COLUMN_NAME); + TORRENT_COLUMN_NAME); } static void trg_torrent_model_get_json_id_array_foreach(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer data) { JsonArray *output = (JsonArray *) data; gint64 id; @@ -154,19 +154,19 @@ trg_torrent_model_get_json_id_array_foreach(GtkTreeModel * model, JsonArray *build_json_id_array(TrgTorrentTreeView * tv) { GtkTreeSelection *selection = - gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); + gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); JsonArray *ids = json_array_new(); gtk_tree_selection_selected_foreach(selection, - (GtkTreeSelectionForeachFunc) - trg_torrent_model_get_json_id_array_foreach, - ids); + (GtkTreeSelectionForeachFunc) + trg_torrent_model_get_json_id_array_foreach, + ids); return ids; } TrgTorrentTreeView *trg_torrent_tree_view_new(TrgPrefs * prefs, - GtkTreeModel * model) + GtkTreeModel * model) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_TREE_VIEW, NULL); diff --git a/src/trg-torrent-tree-view.h b/src/trg-torrent-tree-view.h index 42887ef..a63d792 100644 --- a/src/trg-torrent-tree-view.h +++ b/src/trg-torrent-tree-view.h @@ -51,8 +51,8 @@ typedef struct { GType trg_torrent_tree_view_get_type(void); TrgTorrentTreeView *trg_torrent_tree_view_new(TrgPrefs * prefs, - GtkTreeModel * model); + GtkTreeModel * model); JsonArray *build_json_id_array(TrgTorrentTreeView * tv); G_END_DECLS -#endif /* _TRG_TORRENT_TREE_VIEW_H_ */ +#endif /* _TRG_TORRENT_TREE_VIEW_H_ */ diff --git a/src/trg-trackers-model.c b/src/trg-trackers-model.c index d86ed7a..2a4c92d 100644 --- a/src/trg-trackers-model.c +++ b/src/trg-trackers-model.c @@ -49,8 +49,8 @@ gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model) } void trg_trackers_model_update(TrgTrackersModel * model, - gint64 updateSerial, JsonObject * t, - gint mode) + gint64 updateSerial, JsonObject * t, + gint mode) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); @@ -62,93 +62,93 @@ void trg_trackers_model_update(TrgTrackersModel * model, const gchar *scrape; if (mode == TORRENT_GET_MODE_FIRST) { - gtk_list_store_clear(GTK_LIST_STORE(model)); - priv->torrentId = torrent_get_id(t); - priv->accept = TRUE; + gtk_list_store_clear(GTK_LIST_STORE(model)); + priv->torrentId = torrent_get_id(t); + priv->accept = TRUE; } else if (!priv->accept) { - return; + return; } trackers = json_array_get_elements(torrent_get_tracker_stats(t)); for (li = trackers; li; li = g_list_next(li)) { - tracker = json_node_get_object((JsonNode *) li->data); - trackerId = tracker_stats_get_id(tracker); - announce = tracker_stats_get_announce(tracker); - scrape = tracker_stats_get_scrape(tracker); + tracker = json_node_get_object((JsonNode *) li->data); + trackerId = tracker_stats_get_id(tracker); + announce = tracker_stats_get_announce(tracker); + scrape = tracker_stats_get_scrape(tracker); - if (mode == TORRENT_GET_MODE_FIRST - || find_existing_model_item(GTK_TREE_MODEL(model), - TRACKERCOL_ID, trackerId, - &trackIter) == FALSE) - gtk_list_store_append(GTK_LIST_STORE(model), &trackIter); + if (mode == TORRENT_GET_MODE_FIRST + || find_existing_model_item(GTK_TREE_MODEL(model), + TRACKERCOL_ID, trackerId, + &trackIter) == FALSE) + gtk_list_store_append(GTK_LIST_STORE(model), &trackIter); #ifdef DEBUG - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ICON, GTK_STOCK_NETWORK, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_TIER, - tracker_stats_get_tier(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ANNOUNCE, announce, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_SCRAPE, scrape, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ID, trackerId, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_UPDATESERIAL, updateSerial, -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_ANNOUNCE_RESULT, - tracker_stats_get_announce_result(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_ANNOUNCE_TIME, - tracker_stats_get_last_announce_time(tracker), - -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_SCRAPE_TIME, - tracker_stats_get_last_scrape_time(tracker), - -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_HOST, - tracker_stats_get_host(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, - tracker_stats_get_last_announce_peer_count - (tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_LEECHERCOUNT, - tracker_stats_get_leecher_count(tracker), -1); - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_SEEDERCOUNT, - tracker_stats_get_seeder_count(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ICON, GTK_STOCK_NETWORK, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_TIER, + tracker_stats_get_tier(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ANNOUNCE, announce, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_SCRAPE, scrape, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ID, trackerId, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_UPDATESERIAL, updateSerial, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_ANNOUNCE_RESULT, + tracker_stats_get_announce_result(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_ANNOUNCE_TIME, + tracker_stats_get_last_announce_time(tracker), + -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_SCRAPE_TIME, + tracker_stats_get_last_scrape_time(tracker), + -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_HOST, + tracker_stats_get_host(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, + tracker_stats_get_last_announce_peer_count + (tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_LEECHERCOUNT, + tracker_stats_get_leecher_count(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_SEEDERCOUNT, + tracker_stats_get_seeder_count(tracker), -1); #else - gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, - TRACKERCOL_ICON, GTK_STOCK_NETWORK, - TRACKERCOL_ID, trackerId, - TRACKERCOL_UPDATESERIAL, updateSerial, - TRACKERCOL_TIER, - tracker_stats_get_tier(tracker), - TRACKERCOL_ANNOUNCE, announce, - TRACKERCOL_SCRAPE, scrape, TRACKERCOL_HOST, - tracker_stats_get_host(tracker), - TRACKERCOL_LAST_ANNOUNCE_RESULT, - tracker_stats_get_announce_result(tracker), - TRACKERCOL_LAST_ANNOUNCE_TIME, - tracker_stats_get_last_announce_time(tracker), - TRACKERCOL_LAST_SCRAPE_TIME, - tracker_stats_get_last_scrape_time(tracker), - TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, - tracker_stats_get_last_announce_peer_count - (tracker), TRACKERCOL_LEECHERCOUNT, - tracker_stats_get_leecher_count(tracker), - TRACKERCOL_SEEDERCOUNT, - tracker_stats_get_seeder_count(tracker), -1); + gtk_list_store_set(GTK_LIST_STORE(model), &trackIter, + TRACKERCOL_ICON, GTK_STOCK_NETWORK, + TRACKERCOL_ID, trackerId, + TRACKERCOL_UPDATESERIAL, updateSerial, + TRACKERCOL_TIER, + tracker_stats_get_tier(tracker), + TRACKERCOL_ANNOUNCE, announce, + TRACKERCOL_SCRAPE, scrape, TRACKERCOL_HOST, + tracker_stats_get_host(tracker), + TRACKERCOL_LAST_ANNOUNCE_RESULT, + tracker_stats_get_announce_result(tracker), + TRACKERCOL_LAST_ANNOUNCE_TIME, + tracker_stats_get_last_announce_time(tracker), + TRACKERCOL_LAST_SCRAPE_TIME, + tracker_stats_get_last_scrape_time(tracker), + TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, + tracker_stats_get_last_announce_peer_count + (tracker), TRACKERCOL_LEECHERCOUNT, + tracker_stats_get_leecher_count(tracker), + TRACKERCOL_SEEDERCOUNT, + tracker_stats_get_seeder_count(tracker), -1); #endif } g_list_free(trackers); trg_model_remove_removed(GTK_LIST_STORE(model), - TRACKERCOL_UPDATESERIAL, updateSerial); + TRACKERCOL_UPDATESERIAL, updateSerial); } static void trg_trackers_model_class_init(TrgTrackersModelClass * klass) @@ -157,7 +157,7 @@ static void trg_trackers_model_class_init(TrgTrackersModelClass * klass) } void trg_trackers_model_set_accept(TrgTrackersModel * model, - gboolean accept) + gboolean accept) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); priv->accept = accept; @@ -187,7 +187,7 @@ static void trg_trackers_model_init(TrgTrackersModel * self) priv->torrentId = -1; gtk_list_store_set_column_types(GTK_LIST_STORE(self), - TRACKERCOL_COLUMNS, column_types); + TRACKERCOL_COLUMNS, column_types); } TrgTrackersModel *trg_trackers_model_new(void) diff --git a/src/trg-trackers-model.h b/src/trg-trackers-model.h index 20189ce..67025ea 100644 --- a/src/trg-trackers-model.h +++ b/src/trg-trackers-model.h @@ -49,10 +49,10 @@ TrgTrackersModel *trg_trackers_model_new(void); G_END_DECLS void trg_trackers_model_update(TrgTrackersModel * model, - gint64 updateSerial, JsonObject * t, - gint mode); + gint64 updateSerial, JsonObject * t, + gint mode); void trg_trackers_model_set_accept(TrgTrackersModel * model, - gboolean accept); + gboolean accept); gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model); void trg_trackers_model_set_no_selection(TrgTrackersModel * model); @@ -93,4 +93,4 @@ enum { TRACKERCOL_COLUMNS }; -#endif /* TRG_TRACKERS_MODEL_H_ */ +#endif /* TRG_TRACKERS_MODEL_H_ */ diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index 2edf858..334b35c 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -32,7 +32,7 @@ #include "trg-main-window.h" G_DEFINE_TYPE(TrgTrackersTreeView, trg_trackers_tree_view, - TRG_TYPE_TREE_VIEW) + TRG_TYPE_TREE_VIEW) #define TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TRACKERS_TREE_VIEW, TrgTrackersTreeViewPrivate)) typedef struct _TrgTrackersTreeViewPrivate TrgTrackersTreeViewPrivate; @@ -59,9 +59,9 @@ static gboolean on_trackers_update(gpointer data) { trg_response *response = (trg_response *) data; TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(response->cb_data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(response->cb_data); GtkTreeModel *model = - gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); + gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); trg_trackers_model_set_accept(TRG_TRACKERS_MODEL(model), TRUE); @@ -70,30 +70,30 @@ static gboolean on_trackers_update(gpointer data) } void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, - TrgClient * tc) + TrgClient * tc) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); gboolean editable = is_tracker_edit_supported(tc); g_object_set(priv->announceRenderer, "editable", editable, NULL); g_object_set(priv->announceRenderer, "mode", - editable ? GTK_CELL_RENDERER_MODE_EDITABLE : - GTK_CELL_RENDERER_MODE_INERT, NULL); + editable ? GTK_CELL_RENDERER_MODE_EDITABLE : + GTK_CELL_RENDERER_MODE_INERT, NULL); } static void trg_tracker_announce_edited(GtkCellRendererText * renderer, - gchar * path, - gchar * new_text, - gpointer user_data) + gchar * path, + gchar * new_text, + gpointer user_data) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); GtkTreeModel *model = - gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); + gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); gint64 torrentId = - trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); + trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); JsonArray *torrentIds = json_array_new(); JsonArray *trackerModifiers = json_array_new(); @@ -105,9 +105,9 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, gtk_tree_model_get_iter_from_string(model, &iter, path); gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ANNOUNCE, - new_text, -1); + new_text, -1); gtk_tree_model_get(model, &iter, TRACKERCOL_ID, &trackerId, - TRACKERCOL_ICON, &icon, -1); + TRACKERCOL_ICON, &icon, -1); json_array_add_int_element(torrentIds, torrentId); @@ -116,13 +116,13 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, args = node_get_arguments(req); if (!g_strcmp0(icon, GTK_STOCK_ADD)) { - json_array_add_string_element(trackerModifiers, new_text); - json_object_set_array_member(args, "trackerAdd", trackerModifiers); + json_array_add_string_element(trackerModifiers, new_text); + json_object_set_array_member(args, "trackerAdd", trackerModifiers); } else { - json_array_add_int_element(trackerModifiers, trackerId); - json_array_add_string_element(trackerModifiers, new_text); - json_object_set_array_member(args, "trackerReplace", - trackerModifiers); + json_array_add_int_element(trackerModifiers, trackerId); + json_array_add_string_element(trackerModifiers, new_text); + json_object_set_array_member(args, "trackerReplace", + trackerModifiers); } g_free(icon); @@ -131,26 +131,26 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, } static void trg_tracker_announce_editing_started(GtkCellRenderer * - renderer G_GNUC_UNUSED, - GtkCellEditable * - editable G_GNUC_UNUSED, - gchar * - path G_GNUC_UNUSED, - gpointer user_data) + renderer G_GNUC_UNUSED, + GtkCellEditable * + editable G_GNUC_UNUSED, + gchar * + path G_GNUC_UNUSED, + gpointer user_data) { TrgTrackersModel *model = - TRG_TRACKERS_MODEL(gtk_tree_view_get_model - (GTK_TREE_VIEW(user_data))); + TRG_TRACKERS_MODEL(gtk_tree_view_get_model + (GTK_TREE_VIEW(user_data))); trg_trackers_model_set_accept(model, FALSE); } static void trg_tracker_announce_editing_canceled(GtkWidget * - w G_GNUC_UNUSED, - gpointer data) + w G_GNUC_UNUSED, + gpointer data) { TrgTrackersModel *model = - TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); + TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); trg_trackers_model_set_accept(model, TRUE); } @@ -158,68 +158,68 @@ static void trg_tracker_announce_editing_canceled(GtkWidget * static void trg_trackers_tree_view_init(TrgTrackersTreeView * self) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(self); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(self); TrgTreeView *ttv = TRG_TREE_VIEW(self); trg_column_description *desc; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, - TRACKERCOL_TIER, _("Tier"), "tier", - TRG_COLUMN_UNREMOVABLE); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_STOCKICONTEXT, + TRACKERCOL_TIER, _("Tier"), "tier", + TRG_COLUMN_UNREMOVABLE); desc->model_column_icon = TRACKERCOL_ICON; desc = - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TRACKERCOL_ANNOUNCE, _("Announce URL"), - "announce-url", TRG_COLUMN_UNREMOVABLE); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, + TRACKERCOL_ANNOUNCE, _("Announce URL"), + "announce-url", TRG_COLUMN_UNREMOVABLE); priv->announceRenderer = desc->customRenderer = - gtk_cell_renderer_text_new(); + gtk_cell_renderer_text_new(); g_signal_connect(priv->announceRenderer, "edited", - G_CALLBACK(trg_tracker_announce_edited), self); + G_CALLBACK(trg_tracker_announce_edited), self); g_signal_connect(priv->announceRenderer, "editing-canceled", - G_CALLBACK(trg_tracker_announce_editing_canceled), - self); + G_CALLBACK(trg_tracker_announce_editing_canceled), + self); g_signal_connect(priv->announceRenderer, "editing-started", - G_CALLBACK(trg_tracker_announce_editing_started), - self); + G_CALLBACK(trg_tracker_announce_editing_started), + self); desc->out = &priv->announceColumn; trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, - _("Peers"), "last-announce-peer-count", 0); + TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT, + _("Peers"), "last-announce-peer-count", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TRACKERCOL_SEEDERCOUNT, _("Seeder Count"), - "seeder-count", 0); + TRACKERCOL_SEEDERCOUNT, _("Seeder Count"), + "seeder-count", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, - TRACKERCOL_LEECHERCOUNT, _("Leecher Count"), - "leecher-count", 0); + TRACKERCOL_LEECHERCOUNT, _("Leecher Count"), + "leecher-count", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, - TRACKERCOL_LAST_ANNOUNCE_TIME, - _("Last Announce"), "last-announce-time", 0); + TRACKERCOL_LAST_ANNOUNCE_TIME, + _("Last Announce"), "last-announce-time", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, - TRACKERCOL_LAST_ANNOUNCE_RESULT, - _("Last Result"), "last-result", 0); + TRACKERCOL_LAST_ANNOUNCE_RESULT, + _("Last Result"), "last-result", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TRACKERCOL_SCRAPE, - _("Scrape URL"), "scrape-url", 0); + _("Scrape URL"), "scrape-url", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, - TRACKERCOL_LAST_SCRAPE_TIME, _("Last Scrape"), - "last-scrape-time", TRG_COLUMN_EXTRA); + TRACKERCOL_LAST_SCRAPE_TIME, _("Last Scrape"), + "last-scrape-time", TRG_COLUMN_EXTRA); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TRACKERCOL_HOST, - _("Host"), "host", TRG_COLUMN_EXTRA); + _("Host"), "host", TRG_COLUMN_EXTRA); } static void add_tracker(GtkWidget * w, gpointer data) { GtkTreeView *tv = GTK_TREE_VIEW(data); TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); GtkTreeModel *model = gtk_tree_view_get_model(tv); GtkTreeIter iter; GtkTreePath *path; gtk_list_store_append(GTK_LIST_STORE(model), &iter); gtk_list_store_set(GTK_LIST_STORE(model), &iter, TRACKERCOL_ICON, - GTK_STOCK_ADD, -1); + GTK_STOCK_ADD, -1); path = gtk_tree_model_get_path(model, &iter); gtk_tree_view_set_cursor(tv, path, priv->announceColumn, TRUE); @@ -229,13 +229,13 @@ static void add_tracker(GtkWidget * w, gpointer data) static void delete_tracker(GtkWidget * w, gpointer data) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); GtkTreeView *tv = GTK_TREE_VIEW(data); GList *selectionRefs = trg_tree_view_get_selected_refs_list(tv); GtkTreeModel *model = gtk_tree_view_get_model(tv); JsonArray *trackerIds = json_array_new(); gint64 torrentId = - trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); + trg_trackers_model_get_torrent_id(TRG_TRACKERS_MODEL(model)); JsonArray *torrentIds = json_array_new(); JsonNode *req; @@ -243,19 +243,19 @@ static void delete_tracker(GtkWidget * w, gpointer data) GList *li; for (li = selectionRefs; li; li = g_list_next(li)) { - GtkTreeRowReference *rr = (GtkTreeRowReference *) li->data; - GtkTreePath *path = gtk_tree_row_reference_get_path(rr); - if (path) { - gint64 trackerId; - GtkTreeIter trackerIter; - gtk_tree_model_get_iter(model, &trackerIter, path); - gtk_tree_model_get(model, &trackerIter, TRACKERCOL_ID, - &trackerId, -1); - json_array_add_int_element(trackerIds, trackerId); - gtk_list_store_remove(GTK_LIST_STORE(model), &trackerIter); - gtk_tree_path_free(path); - } - gtk_tree_row_reference_free(rr); + GtkTreeRowReference *rr = (GtkTreeRowReference *) li->data; + GtkTreePath *path = gtk_tree_row_reference_get_path(rr); + if (path) { + gint64 trackerId; + GtkTreeIter trackerIter; + gtk_tree_model_get_iter(model, &trackerIter, path); + gtk_tree_model_get(model, &trackerIter, TRACKERCOL_ID, + &trackerId, -1); + json_array_add_int_element(trackerIds, trackerId); + gtk_list_store_remove(GTK_LIST_STORE(model), &trackerIter); + gtk_tree_path_free(path); + } + gtk_tree_row_reference_free(rr); } g_list_free(selectionRefs); @@ -274,85 +274,85 @@ static void delete_tracker(GtkWidget * w, gpointer data) static void view_popup_menu_add_only(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); menuitem = - trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), - GTK_STOCK_ADD, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), + GTK_STOCK_ADD, TRUE); g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), - treeview); + treeview); 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 void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data G_GNUC_UNUSED) + gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); menuitem = - trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Delete"), - GTK_STOCK_DELETE, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Delete"), + GTK_STOCK_DELETE, TRUE); g_signal_connect(menuitem, "activate", G_CALLBACK(delete_tracker), - treeview); + treeview); menuitem = - trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), - GTK_STOCK_ADD, TRUE); + trg_menu_bar_item_new(GTK_MENU_SHELL(menu), _("Add"), + GTK_STOCK_ADD, TRUE); g_signal_connect(menuitem, "activate", G_CALLBACK(add_tracker), - treeview); + treeview); 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 gboolean view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event, - gpointer userdata) + gpointer userdata) { TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(treeview); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(treeview); TrgTrackersModel *model = - TRG_TRACKERS_MODEL(gtk_tree_view_get_model - (GTK_TREE_VIEW(treeview))); + TRG_TRACKERS_MODEL(gtk_tree_view_get_model + (GTK_TREE_VIEW(treeview))); GtkTreeSelection *selection; GtkTreePath *path; if (!is_tracker_edit_supported(priv->client)) - return FALSE; + return FALSE; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - 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)) { - if (!gtk_tree_selection_path_is_selected(selection, path)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - } - gtk_tree_path_free(path); - - view_popup_menu(treeview, event, userdata); - } else if (trg_trackers_model_get_torrent_id(model) >= 0) { - view_popup_menu_add_only(treeview, event, userdata); - } - return TRUE; + 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)) { + if (!gtk_tree_selection_path_is_selected(selection, path)) { + gtk_tree_selection_unselect_all(selection); + gtk_tree_selection_select_path(selection, path); + } + gtk_tree_path_free(path); + + view_popup_menu(treeview, event, userdata); + } else if (trg_trackers_model_get_torrent_id(model) >= 0) { + view_popup_menu_add_only(treeview, event, userdata); + } + return TRUE; } return FALSE; @@ -365,20 +365,20 @@ static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) } TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, - TrgClient * client, - TrgMainWindow * win) + TrgClient * client, + TrgMainWindow * win) { GObject *obj = g_object_new(TRG_TYPE_TRACKERS_TREE_VIEW, NULL); TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(obj); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(obj); trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), - trg_client_get_prefs(client)); + trg_client_get_prefs(client)); g_signal_connect(obj, "button-press-event", - G_CALLBACK(view_onButtonPressed), NULL); + G_CALLBACK(view_onButtonPressed), NULL); g_signal_connect(obj, "popup-menu", G_CALLBACK(view_onPopupMenu), - NULL); + NULL); gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); priv->client = client; diff --git a/src/trg-trackers-tree-view.h b/src/trg-trackers-tree-view.h index d6a4942..c98a472 100644 --- a/src/trg-trackers-tree-view.h +++ b/src/trg-trackers-tree-view.h @@ -51,10 +51,10 @@ typedef struct { GType trg_trackers_tree_view_get_type(void); TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, - TrgClient * client, - TrgMainWindow * win); + TrgClient * client, + TrgMainWindow * win); void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, - TrgClient * tc); + TrgClient * tc); G_END_DECLS -#endif /* TRG_TRACKERS_TREE_VIEW_H_ */ +#endif /* TRG_TRACKERS_TREE_VIEW_H_ */ diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index 26c90cd..30db56e 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -63,48 +63,48 @@ gboolean trg_tree_view_is_column_showing(TrgTreeView * tv, gint index) GList *li; for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *cd = (trg_column_description *) li->data; - if (cd->model_column == index) { - if (cd->flags & TRG_COLUMN_SHOWING) - return TRUE; - else - break; - } + trg_column_description *cd = (trg_column_description *) li->data; + if (cd->model_column == index) { + if (cd->flags & TRG_COLUMN_SHOWING) + return TRUE; + else + break; + } } return FALSE; } static void trg_tree_view_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) + GValue * value, GParamSpec * pspec) { G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } static void trg_tree_view_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) + const GValue * value, + GParamSpec * pspec) { TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(object); switch (property_id) { case PROP_PREFS: - priv->prefs = g_value_get_object(value); - break; + priv->prefs = g_value_get_object(value); + break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); - break; + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; } } static GObject *trg_tree_view_constructor(GType type, - guint n_construct_properties, - GObjectConstructParam * - construct_params) + guint n_construct_properties, + GObjectConstructParam * + construct_params) { GObject *obj = G_OBJECT_CLASS - (trg_tree_view_parent_class)->constructor(type, - n_construct_properties, - construct_params); + (trg_tree_view_parent_class)->constructor(type, + n_construct_properties, + construct_params); return obj; } @@ -118,33 +118,33 @@ static JsonObject *trg_prefs_get_tree_view_props(TrgTreeView * tv) JsonObject *tvProps = NULL; if (!json_object_has_member(root, TRG_PREFS_KEY_TREE_VIEWS)) { - obj = json_object_new(); - json_object_set_object_member(root, TRG_PREFS_KEY_TREE_VIEWS, obj); + obj = json_object_new(); + json_object_set_object_member(root, TRG_PREFS_KEY_TREE_VIEWS, obj); } else { - obj = - json_object_get_object_member(root, TRG_PREFS_KEY_TREE_VIEWS); + obj = + json_object_get_object_member(root, TRG_PREFS_KEY_TREE_VIEWS); } if (!json_object_has_member(obj, className)) { - tvProps = json_object_new(); - json_object_set_object_member(obj, className, tvProps); + tvProps = json_object_new(); + json_object_set_object_member(obj, className, tvProps); } else { - tvProps = json_object_get_object_member(obj, className); + tvProps = json_object_get_object_member(obj, className); } return tvProps; } static void trg_tree_view_add_column_after(TrgTreeView * tv, - trg_column_description * desc, - gint64 width, - GtkTreeViewColumn * after_col); + trg_column_description * desc, + gint64 width, + GtkTreeViewColumn * after_col); trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, - gint type, - gint model_column, - gchar * header, - gchar * id, gint flags) + gint type, + gint model_column, + gchar * header, + gchar * id, gint flags) { TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); trg_column_description *desc = g_new0(trg_column_description, 1); @@ -161,50 +161,50 @@ trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, } static trg_column_description *trg_tree_view_find_column(TrgTreeView * tv, - const gchar * id) + const gchar * id) { TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); GList *li; trg_column_description *desc; for (li = priv->columns; li; li = g_list_next(li)) { - desc = (trg_column_description *) li->data; - if (!g_strcmp0(desc->id, id)) - return desc; + desc = (trg_column_description *) li->data; + if (!g_strcmp0(desc->id, id)) + return desc; } return NULL; } static void trg_tree_view_hide_column(GtkWidget * w, - GtkTreeViewColumn * col) + GtkTreeViewColumn * col) { trg_column_description *desc = g_object_get_data(G_OBJECT(col), - "column-desc"); + "column-desc"); GtkWidget *tv = gtk_tree_view_column_get_tree_view(col); desc->flags &= ~TRG_COLUMN_SHOWING; gtk_tree_view_remove_column(GTK_TREE_VIEW(tv), col); } static void trg_tree_view_add_column(TrgTreeView * tv, - trg_column_description * desc, - gint64 width) + trg_column_description * desc, + gint64 width) { trg_tree_view_add_column_after(tv, desc, width, NULL); } static void trg_tree_view_user_add_column_cb(GtkWidget * w, - trg_column_description * desc) + trg_column_description * desc) { GtkTreeViewColumn *col = g_object_get_data(G_OBJECT(w), "parent-col"); TrgTreeView *tv = - TRG_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)); + TRG_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)); trg_tree_view_add_column_after(tv, desc, -1, col); } static void view_popup_menu(GtkButton * button, GdkEventButton * event, - GtkTreeViewColumn * column) + GtkTreeViewColumn * column) { GtkWidget *tv = gtk_tree_view_column_get_tree_view(column); TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); @@ -218,44 +218,44 @@ static void view_popup_menu(GtkButton * button, GdkEventButton * event, menuitem = gtk_check_menu_item_new_with_label(desc->header); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); g_signal_connect(menuitem, "activate", - G_CALLBACK(trg_tree_view_hide_column), column); + G_CALLBACK(trg_tree_view_hide_column), column); gtk_widget_set_sensitive(menuitem, - !(desc->flags & TRG_COLUMN_UNREMOVABLE)); + !(desc->flags & TRG_COLUMN_UNREMOVABLE)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *desc = (trg_column_description *) li->data; - if (!(desc->flags & TRG_COLUMN_SHOWING)) { - menuitem = gtk_check_menu_item_new_with_label(desc->header); - g_object_set_data(G_OBJECT(menuitem), "parent-col", column); - g_signal_connect(menuitem, "activate", - G_CALLBACK(trg_tree_view_user_add_column_cb), - desc); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - } + trg_column_description *desc = (trg_column_description *) li->data; + if (!(desc->flags & TRG_COLUMN_SHOWING)) { + menuitem = gtk_check_menu_item_new_with_label(desc->header); + g_object_set_data(G_OBJECT(menuitem), "parent-col", column); + g_signal_connect(menuitem, "activate", + G_CALLBACK(trg_tree_view_user_add_column_cb), + desc); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + } } 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 gboolean col_onButtonPressed(GtkButton * button, - GdkEventButton * event, - GtkTreeViewColumn * col) + GdkEventButton * event, + GtkTreeViewColumn * col) { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - view_popup_menu(button, event, col); - return TRUE; + view_popup_menu(button, event, col); + return TRUE; } return FALSE; } static GtkTreeViewColumn - *trg_tree_view_icontext_column_new(trg_column_description * desc, - gchar * renderer_property) + * trg_tree_view_icontext_column_new(trg_column_description * desc, + gchar * renderer_property) { GtkTreeViewColumn *column = gtk_tree_view_column_new(); GtkCellRenderer *renderer = gtk_cell_renderer_pixbuf_new(); @@ -263,134 +263,124 @@ static GtkTreeViewColumn gtk_tree_view_column_set_title(column, desc->header); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_attributes(column, renderer, - renderer_property, - desc->model_column_icon, NULL); + renderer_property, + desc->model_column_icon, NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_attributes(column, renderer, "text", - desc->model_column, NULL); + desc->model_column, NULL); return column; } static void trg_tree_view_add_column_after(TrgTreeView * tv, - trg_column_description * desc, - gint64 width, - GtkTreeViewColumn * after_col) + trg_column_description * desc, + gint64 width, + GtkTreeViewColumn * after_col) { GtkCellRenderer *renderer; GtkTreeViewColumn *column = NULL; switch (desc->type) { case TRG_COLTYPE_TEXT: - renderer = - desc->customRenderer ? desc->customRenderer : - gtk_cell_renderer_text_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, "text", - desc-> - model_column, - NULL); - - break; + renderer = + desc->customRenderer ? desc->customRenderer : + gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, "text", + desc->model_column, + NULL); + + break; case TRG_COLTYPE_SPEED: - renderer = trg_cell_renderer_speed_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "speed-value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_speed_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "speed-value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_EPOCH: - renderer = trg_cell_renderer_epoch_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "epoch-value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_epoch_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "epoch-value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_ETA: - renderer = trg_cell_renderer_eta_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "eta-value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_eta_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "eta-value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_SIZE: - renderer = trg_cell_renderer_size_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "size-value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_size_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "size-value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_PROG: - renderer = gtk_cell_renderer_progress_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "value", - desc-> - model_column, - NULL); - break; + renderer = gtk_cell_renderer_progress_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_RATIO: - renderer = trg_cell_renderer_ratio_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "ratio-value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_ratio_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "ratio-value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_ICON: - column = gtk_tree_view_column_new(); - renderer = gtk_cell_renderer_pixbuf_new(); - gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 0.5f, - 0.0); - gtk_tree_view_column_set_title(column, desc->header); - gtk_tree_view_column_pack_start(column, renderer, TRUE); - gtk_tree_view_column_set_attributes(column, renderer, "stock-id", - desc->model_column, NULL); - break; + column = gtk_tree_view_column_new(); + renderer = gtk_cell_renderer_pixbuf_new(); + gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 0.5f, + 0.0); + gtk_tree_view_column_set_title(column, desc->header); + gtk_tree_view_column_pack_start(column, renderer, TRUE); + gtk_tree_view_column_set_attributes(column, renderer, "stock-id", + desc->model_column, NULL); + break; case TRG_COLTYPE_STOCKICONTEXT: - column = trg_tree_view_icontext_column_new(desc, "stock-id"); - break; + column = trg_tree_view_icontext_column_new(desc, "stock-id"); + break; case TRG_COLTYPE_GICONTEXT: - column = trg_tree_view_icontext_column_new(desc, "gicon"); - break; + column = trg_tree_view_icontext_column_new(desc, "gicon"); + break; case TRG_COLTYPE_PRIO: - renderer = trg_cell_renderer_priority_new(); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "priority-value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_priority_new(); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "priority-value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_NUMGTZERO: - renderer = trg_cell_renderer_numgteqthan_new(1); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_numgteqthan_new(1); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "value", + desc->model_column, + NULL); + break; case TRG_COLTYPE_NUMGTEQZERO: - renderer = trg_cell_renderer_numgteqthan_new(0); - column = gtk_tree_view_column_new_with_attributes(desc->header, - renderer, - "value", - desc-> - model_column, - NULL); - break; + renderer = trg_cell_renderer_numgteqthan_new(0); + column = gtk_tree_view_column_new_with_attributes(desc->header, + renderer, + "value", + desc->model_column, + NULL); + break; } gtk_tree_view_column_set_min_width(column, 0); @@ -399,9 +389,9 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv, gtk_tree_view_column_set_sort_column_id(column, desc->model_column); if (width >= 0) { - gtk_tree_view_column_set_sizing(column, - GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_fixed_width(column, width); + gtk_tree_view_column_set_sizing(column, + GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_fixed_width(column, width); } g_object_set_data(G_OBJECT(column), "column-desc", desc); @@ -409,20 +399,20 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv, gtk_tree_view_append_column(GTK_TREE_VIEW(tv), column); if (after_col) - gtk_tree_view_move_column_after(GTK_TREE_VIEW(tv), column, - after_col); + gtk_tree_view_move_column_after(GTK_TREE_VIEW(tv), column, + after_col); #if GTK_CHECK_VERSION( 3,0,0 ) g_signal_connect(gtk_tree_view_column_get_button(column), - "button-press-event", G_CALLBACK(col_onButtonPressed), - column); + "button-press-event", G_CALLBACK(col_onButtonPressed), + column); #else g_signal_connect(column->button, "button-press-event", - G_CALLBACK(col_onButtonPressed), column); + G_CALLBACK(col_onButtonPressed), column); #endif if (desc->out) - *(desc->out) = column; + *(desc->out) = column; desc->flags |= TRG_COLUMN_SHOWING; } @@ -439,67 +429,67 @@ void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable) JsonArray *widths, *columns; if (json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_WIDTHS); + json_object_remove_member(props, TRG_PREFS_KEY_TV_WIDTHS); widths = json_array_new(); json_object_set_array_member(props, TRG_PREFS_KEY_TV_WIDTHS, widths); if (json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_COLUMNS); + json_object_remove_member(props, TRG_PREFS_KEY_TV_COLUMNS); columns = json_array_new(); json_object_set_array_member(props, TRG_PREFS_KEY_TV_COLUMNS, columns); for (li = cols; li; li = g_list_next(li)) { - GtkTreeViewColumn *col = (GtkTreeViewColumn *) li->data; - trg_column_description *desc = - g_object_get_data(G_OBJECT(li->data), - "column-desc"); - - json_array_add_string_element(columns, desc->id); - json_array_add_int_element(widths, - gtk_tree_view_column_get_width(col)); + GtkTreeViewColumn *col = (GtkTreeViewColumn *) li->data; + trg_column_description *desc = + g_object_get_data(G_OBJECT(li->data), + "column-desc"); + + json_array_add_string_element(columns, desc->id); + json_array_add_int_element(widths, + gtk_tree_view_column_get_width(col)); } g_list_free(cols); gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE - (parentIsSortable ? - gtk_tree_model_filter_get_model - (GTK_TREE_MODEL_FILTER(model)) : - model), &sort_column_id, - &sort_type); + (parentIsSortable ? + gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER(model)) : + model), &sort_column_id, + &sort_type); if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_COL)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_COL); + json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_COL); if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); + json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_COL, - (gint64) sort_column_id); + (gint64) sort_column_id); json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_TYPE, - (gint64) sort_type); + (gint64) sort_type); } void trg_tree_view_restore_sort(TrgTreeView * tv, - gboolean parentIsSortable) + gboolean parentIsSortable) { JsonObject *props = trg_prefs_get_tree_view_props(tv); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_COL) - && json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) { - gint64 sort_col = json_object_get_int_member(props, - TRG_PREFS_KEY_TV_SORT_COL); - gint64 sort_type = json_object_get_int_member(props, - TRG_PREFS_KEY_TV_SORT_TYPE); - gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE - (parentIsSortable ? - gtk_tree_model_filter_get_model - (GTK_TREE_MODEL_FILTER - (model)) : model), sort_col, - (GtkSortType) sort_type); + && json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) { + gint64 sort_col = json_object_get_int_member(props, + TRG_PREFS_KEY_TV_SORT_COL); + gint64 sort_type = json_object_get_int_member(props, + TRG_PREFS_KEY_TV_SORT_TYPE); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE + (parentIsSortable ? + gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER + (model)) : model), sort_col, + (GtkSortType) sort_type); } } @@ -516,38 +506,38 @@ void trg_tree_view_setup_columns(TrgTreeView * tv) JsonObject *props = trg_prefs_get_tree_view_props(tv); if (!json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS) - || !json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) { - GList *li; - for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *desc = - (trg_column_description *) li->data; - if (desc && !(desc->flags & TRG_COLUMN_EXTRA)) - trg_tree_view_add_column(tv, desc, -1); - } - return; + || !json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) { + GList *li; + for (li = priv->columns; li; li = g_list_next(li)) { + trg_column_description *desc = + (trg_column_description *) li->data; + if (desc && !(desc->flags & TRG_COLUMN_EXTRA)) + trg_tree_view_add_column(tv, desc, -1); + } + return; } GList *columns = - json_array_get_elements(json_object_get_array_member - (props, TRG_PREFS_KEY_TV_COLUMNS)); + json_array_get_elements(json_object_get_array_member + (props, TRG_PREFS_KEY_TV_COLUMNS)); GList *widths = - json_array_get_elements(json_object_get_array_member - (props, TRG_PREFS_KEY_TV_WIDTHS)); + json_array_get_elements(json_object_get_array_member + (props, TRG_PREFS_KEY_TV_WIDTHS)); GList *wli = widths; GList *cli = columns; for (; cli; cli = g_list_next(cli)) { - trg_column_description *desc = trg_tree_view_find_column(tv, - json_node_get_string - ((JsonNode - *) cli-> - data)); - if (desc) { - gint64 width = json_node_get_int((JsonNode *) wli->data); - trg_tree_view_add_column(tv, desc, width); - } - wli = g_list_next(wli); + trg_column_description *desc = trg_tree_view_find_column(tv, + json_node_get_string + ((JsonNode + *) + cli->data)); + if (desc) { + gint64 width = json_node_get_int((JsonNode *) wli->data); + trg_tree_view_add_column(tv, desc, width); + } + wli = g_list_next(wli); } g_list_free(columns); @@ -563,10 +553,10 @@ GList *trg_tree_view_get_selected_refs_list(GtkTreeView * tv) selectionList = gtk_tree_selection_get_selected_rows(selection, NULL); for (li = selectionList; li != NULL; li = g_list_next(li)) { - GtkTreePath *path = (GtkTreePath *) li->data; - GtkTreeRowReference *ref = gtk_tree_row_reference_new(model, path); - gtk_tree_path_free(path); - refList = g_list_append(refList, ref); + GtkTreePath *path = (GtkTreePath *) li->data; + GtkTreeRowReference *ref = gtk_tree_row_reference_new(model, path); + gtk_tree_path_free(path); + refList = g_list_append(refList, ref); } g_list_free(selectionList); @@ -584,19 +574,19 @@ static void trg_tree_view_class_init(TrgTreeViewClass * klass) object_class->constructor = trg_tree_view_constructor; g_object_class_install_property(object_class, - PROP_PREFS, - g_param_spec_object("prefs", - "Trg Prefs", - "Trg Prefs", - TRG_TYPE_PREFS, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + PROP_PREFS, + g_param_spec_object("prefs", + "Trg Prefs", + "Trg Prefs", + TRG_TYPE_PREFS, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY + | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); } static void trg_tree_view_init(TrgTreeView * tv) @@ -605,8 +595,8 @@ static void trg_tree_view_init(TrgTreeView * tv) gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tv), TRUE); gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tv), TRUE); gtk_tree_selection_set_mode(gtk_tree_view_get_selection - (GTK_TREE_VIEW(tv)), - GTK_SELECTION_MULTIPLE); + (GTK_TREE_VIEW(tv)), + GTK_SELECTION_MULTIPLE); gtk_widget_set_sensitive(GTK_WIDGET(tv), FALSE); } diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index 7d1a33f..7332ad6 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -78,20 +78,20 @@ typedef struct { } trg_column_description; #define TRG_COLUMN_DEFAULT 0x00 -#define TRG_COLUMN_SHOWING (1 << 0) /* 0x01 */ -#define TRG_COLUMN_UNREMOVABLE (1 << 1) /* 0x02 */ -#define TRG_COLUMN_EXTRA (1 << 2) /* 0x04 */ +#define TRG_COLUMN_SHOWING (1 << 0) /* 0x01 */ +#define TRG_COLUMN_UNREMOVABLE (1 << 1) /* 0x02 */ +#define TRG_COLUMN_EXTRA (1 << 2) /* 0x04 */ trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, - gint type, - gint model_column, - gchar * header, - gchar * id, gint flags); + gint type, + gint model_column, + gchar * header, + gchar * id, gint flags); void trg_tree_view_setup_columns(TrgTreeView * tv); void trg_tree_view_set_prefs(TrgTreeView * tv, TrgPrefs * prefs); void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable); void trg_tree_view_restore_sort(TrgTreeView * tv, - gboolean parentIsSortable); + gboolean parentIsSortable); gboolean trg_tree_view_is_column_showing(TrgTreeView * tv, gint index); -#endif /* _TRG_TREE_VIEW_H_ */ +#endif /* _TRG_TREE_VIEW_H_ */ diff --git a/src/util.c b/src/util.c index 2beefb1..8b31487 100644 --- a/src/util.c +++ b/src/util.c @@ -48,10 +48,10 @@ void add_file_id_to_array(JsonObject * args, gchar * key, gint index) { JsonArray *array; if (json_object_has_member(args, key)) { - array = json_object_get_array_member(args, key); + array = json_object_get_array_member(args, key); } else { - array = json_array_new(); - json_object_set_array_member(args, key, array); + array = json_array_new(); + json_object_set_array_member(args, key, array); } json_array_add_int_element(array, index); } @@ -65,17 +65,17 @@ void g_str_slist_free(GSList * list) GRegex *trg_uri_host_regex_new(void) { return - g_regex_new - ("^[^:/?#]+:?//(?:www\\.|torrent\\.|torrents\\.|tracker\\.|\\d+\\.)?([^/?#:]*)", - G_REGEX_OPTIMIZE, 0, NULL); + g_regex_new + ("^[^:/?#]+:?//(?:www\\.|torrent\\.|torrents\\.|tracker\\.|\\d+\\.)?([^/?#:]*)", + G_REGEX_OPTIMIZE, 0, NULL); } GtkWidget *my_scrolledwin_new(GtkWidget * child) { GtkWidget *scrolled_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_win), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scrolled_win), child); return scrolled_win; } @@ -86,8 +86,8 @@ gchar *trg_gregex_get_first(GRegex * rx, const gchar * src) gchar *dst = NULL; g_regex_match(rx, src, 0, &mi); if (mi) { - dst = g_match_info_fetch(mi, 1); - g_match_info_free(mi); + dst = g_match_info_fetch(mi, 1); + g_match_info_free(mi); } return dst; } @@ -96,10 +96,10 @@ void trg_error_dialog(GtkWindow * parent, trg_response * response) { gchar *msg = make_error_message(response->obj, response->status); GtkWidget *dialog = gtk_message_dialog_new(parent, - 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); @@ -109,19 +109,19 @@ void trg_error_dialog(GtkWindow * parent, trg_response * response) gchar *make_error_message(JsonObject * response, int status) { if (status == FAIL_JSON_DECODE) { - return g_strdup(_("JSON decoding error.")); + return g_strdup(_("JSON decoding error.")); } else if (status == FAIL_RESPONSE_UNSUCCESSFUL) { - const gchar *resultStr = - json_object_get_string_member(response, "result"); - if (resultStr == NULL) - return g_strdup(_("Server responded, but with no result.")); - else - return g_strdup(resultStr); + const gchar *resultStr = + json_object_get_string_member(response, "result"); + if (resultStr == NULL) + return g_strdup(_("Server responded, but with no result.")); + else + return g_strdup(resultStr); } else if (status <= -100) { - return g_strdup_printf(_("Request failed with HTTP code %d"), - -(status + 100)); + return g_strdup_printf(_("Request failed with HTTP code %d"), + -(status + 100)); } else { - return g_strdup(curl_easy_strerror(status)); + return g_strdup(curl_easy_strerror(status)); } } @@ -134,11 +134,11 @@ char *tr_strpercent(char *buf, double x, size_t buflen) { int precision; if (x < 10.0) - precision = 2; + precision = 2; else if (x < 100.0) - precision = 1; + precision = 1; else - precision = 0; + precision = 0; tr_snprintf(buf, buflen, "%.*f%%", precision, tr_truncd(x, precision)); return buf; @@ -152,18 +152,18 @@ double tr_truncd(double x, int decimal_places) } char *tr_strratio(char *buf, size_t buflen, double ratio, - const char *infinity) + const char *infinity) { if ((int) ratio == TR_RATIO_NA) - tr_strlcpy(buf, _("None"), buflen); + tr_strlcpy(buf, _("None"), buflen); else if ((int) ratio == TR_RATIO_INF) - tr_strlcpy(buf, infinity, buflen); + tr_strlcpy(buf, infinity, buflen); else if (ratio < 10.0) - tr_snprintf(buf, buflen, "%.2f", tr_truncd(ratio, 2)); + tr_snprintf(buf, buflen, "%.2f", tr_truncd(ratio, 2)); else if (ratio < 100.0) - tr_snprintf(buf, buflen, "%.1f", tr_truncd(ratio, 1)); + tr_snprintf(buf, buflen, "%.1f", tr_truncd(ratio, 1)); else - tr_snprintf(buf, buflen, "%'.0f", ratio); + tr_snprintf(buf, buflen, "%'.0f", ratio); return buf; } @@ -175,30 +175,30 @@ char *tr_strlratio(char *buf, double ratio, size_t buflen) char *tr_strlsize(char *buf, guint64 size, size_t buflen) { if (!size) - g_strlcpy(buf, _("None"), buflen); + g_strlcpy(buf, _("None"), buflen); #if GLIB_CHECK_VERSION( 2, 16, 0 ) else { - char *tmp = g_format_size_for_display(size); - g_strlcpy(buf, tmp, buflen); - g_free(tmp); + char *tmp = g_format_size_for_display(size); + g_strlcpy(buf, tmp, buflen); + g_free(tmp); } #else else if (size < (guint64) KILOBYTE_FACTOR) - g_snprintf(buf, buflen, - ngettext("%'u byte", "%'u bytes", (guint) size), - (guint) size); + g_snprintf(buf, buflen, + ngettext("%'u byte", "%'u bytes", (guint) size), + (guint) size); else { - gdouble displayed_size; - if (size < (guint64) MEGABYTE_FACTOR) { - displayed_size = (gdouble) size / KILOBYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f KB"), displayed_size); - } else if (size < (guint64) GIGABYTE_FACTOR) { - displayed_size = (gdouble) size / MEGABYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f MB"), displayed_size); - } else { - displayed_size = (gdouble) size / GIGABYTE_FACTOR; - g_snprintf(buf, buflen, _("%'.1f GB"), displayed_size); - } + gdouble displayed_size; + if (size < (guint64) MEGABYTE_FACTOR) { + displayed_size = (gdouble) size / KILOBYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f KB"), displayed_size); + } else if (size < (guint64) GIGABYTE_FACTOR) { + displayed_size = (gdouble) size / MEGABYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f MB"), displayed_size); + } else { + displayed_size = (gdouble) size / GIGABYTE_FACTOR; + g_snprintf(buf, buflen, _("%'.1f GB"), displayed_size); + } } #endif return buf; @@ -208,14 +208,14 @@ char *tr_strlspeed(char *buf, double kb_sec, size_t buflen) { const double speed = kb_sec; - if (speed < 1000.0) /* 0.0 KB to 999.9 KB */ - g_snprintf(buf, buflen, _("%.1f KB/s"), speed); - else if (speed < 102400.0) /* 0.98 MB to 99.99 MB */ - g_snprintf(buf, buflen, _("%.2f MB/s"), (speed / KILOBYTE_FACTOR)); - else if (speed < 1024000.0) /* 100.0 MB to 999.9 MB */ - g_snprintf(buf, buflen, _("%.1f MB/s"), (speed / MEGABYTE_FACTOR)); - else /* insane speeds */ - g_snprintf(buf, buflen, _("%.2f GB/s"), (speed / GIGABYTE_FACTOR)); + if (speed < 1000.0) /* 0.0 KB to 999.9 KB */ + g_snprintf(buf, buflen, _("%.1f KB/s"), speed); + else if (speed < 102400.0) /* 0.98 MB to 99.99 MB */ + g_snprintf(buf, buflen, _("%.2f MB/s"), (speed / KILOBYTE_FACTOR)); + else if (speed < 1024000.0) /* 100.0 MB to 999.9 MB */ + g_snprintf(buf, buflen, _("%.1f MB/s"), (speed / MEGABYTE_FACTOR)); + else /* insane speeds */ + g_snprintf(buf, buflen, _("%.2f GB/s"), (speed / GIGABYTE_FACTOR)); return buf; } @@ -225,7 +225,7 @@ char *tr_strltime_short(char *buf, long seconds, size_t buflen) int hours, minutes; if (seconds < 0) - seconds = 0; + seconds = 0; hours = seconds / 3600; minutes = (seconds % 3600) / 60; @@ -242,7 +242,7 @@ char *tr_strltime_long(char *buf, long seconds, size_t buflen) char d[128], h[128], m[128], s[128]; if (seconds < 0) - seconds = 0; + seconds = 0; days = seconds / 86400; hours = (seconds % 86400) / 3600; @@ -251,32 +251,32 @@ char *tr_strltime_long(char *buf, long seconds, size_t buflen) g_snprintf(d, sizeof(d), ngettext("%d day", "%d days", days), days); g_snprintf(h, sizeof(h), ngettext("%d hour", "%d hours", hours), - hours); + hours); g_snprintf(m, sizeof(m), ngettext("%d minute", "%d minutes", minutes), - minutes); + minutes); g_snprintf(s, sizeof(s), - ngettext("%ld second", "%ld seconds", seconds), seconds); + ngettext("%ld second", "%ld seconds", seconds), seconds); if (days) { - if (days >= 4 || !hours) { - g_strlcpy(buf, d, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", d, h); - } + if (days >= 4 || !hours) { + g_strlcpy(buf, d, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", d, h); + } } else if (hours) { - if (hours >= 4 || !minutes) { - g_strlcpy(buf, h, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", h, m); - } + if (hours >= 4 || !minutes) { + g_strlcpy(buf, h, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", h, m); + } } else if (minutes) { - if (minutes >= 4 || !seconds) { - g_strlcpy(buf, m, buflen); - } else { - g_snprintf(buf, buflen, "%s, %s", m, s); - } + if (minutes >= 4 || !seconds) { + g_strlcpy(buf, m, buflen); + } else { + g_snprintf(buf, buflen, "%s, %s", m, s); + } } else { - g_strlcpy(buf, s, buflen); + g_strlcpy(buf, s, buflen); } return buf; @@ -289,7 +289,7 @@ char *gtr_localtime(time_t time) g_strlcpy(buf, asctime(&tm), sizeof(buf)); if ((eoln = strchr(buf, '\n'))) - *eoln = '\0'; + *eoln = '\0'; return g_locale_to_utf8(buf, -1, NULL, NULL, NULL); } @@ -324,20 +324,20 @@ size_t tr_strlcpy(char *dst, const void *src, size_t siz) /* Copy as many bytes as will fit */ if (n != 0) { - while (--n != 0) { - if ((*d++ = *s++) == '\0') - break; - } + while (--n != 0) { + if ((*d++ = *s++) == '\0') + break; + } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { - if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++); + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++); } - return s - (char *) src - 1; /* count does not include NUL */ + return s - (char *) src - 1; /* count does not include NUL */ #endif } @@ -348,9 +348,9 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) int r = _vsnprintf(buf, buflen, format, ap); buf[buflen - 1] = '\0'; if (r >= 0) - return r; + return r; else - return _vscprintf(format, ap); + return _vscprintf(format, ap); #else int r = vsnprintf(buf, buflen, format, ap); buf[buflen - 1] = '\0'; @@ -361,17 +361,17 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) void rm_trailing_slashes(gchar * str) { if (!str) - return; + return; int i, len; if ((len = strlen(str)) < 1) - return; + return; for (i = strlen(str) - 1; str[i]; i--) { - if (str[i] == '/') - str[i] = '\0'; - else - return; + if (str[i] == '/') + str[i] = '\0'; + else + return; } } @@ -381,9 +381,9 @@ void rm_trailing_slashes(gchar * str) void trg_widget_set_visible(GtkWidget * w, gboolean visible) { if (visible) - gtk_widget_show(w); + gtk_widget_show(w); else - gtk_widget_hide(w); + gtk_widget_hide(w); } gdouble json_double_to_progress(JsonNode * n) @@ -398,11 +398,11 @@ gdouble json_node_really_get_double(JsonNode * node) json_node_get_value(node, &a); switch (G_VALUE_TYPE(&a)) { case G_TYPE_INT64: - return (gdouble) g_value_get_int64(&a); + return (gdouble) g_value_get_int64(&a); case G_TYPE_DOUBLE: - return g_value_get_double(&a); + return g_value_get_double(&a); default: - return 0.0; + return 0.0; } } @@ -413,12 +413,12 @@ gchar *trg_base64encode(const gchar * filename) gchar *b64out = NULL; if (error) { - g_error("%s", error->message); - g_error_free(error); + g_error("%s", error->message); + g_error_free(error); } else { - b64out = - g_base64_encode((guchar *) g_mapped_file_get_contents(mf), - g_mapped_file_get_length(mf)); + b64out = + g_base64_encode((guchar *) g_mapped_file_get_contents(mf), + g_mapped_file_get_length(mf)); } g_mapped_file_unref(mf); @@ -439,13 +439,13 @@ GtkWidget *gtr_combo_box_new_enum(const char *text_1, ...) text = text_1; if (text != NULL) - do { - const int val = va_arg(vl, int); - gtk_list_store_insert_with_values(store, NULL, INT_MAX, 0, val, - 1, text, -1); - text = va_arg(vl, const char *); - } - while (text != NULL); + do { + const int val = va_arg(vl, int); + gtk_list_store_insert_with_values(store, NULL, INT_MAX, 0, val, + 1, text, -1); + text = va_arg(vl, const char *); + } + while (text != NULL); w = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); r = gtk_cell_renderer_text_new(); diff --git a/src/util.h b/src/util.h index a99933f..6dd6e23 100644 --- a/src/util.h +++ b/src/util.h @@ -51,7 +51,7 @@ char *tr_strltime_short(char *buf, long seconds, size_t buflen); char *tr_strpercent(char *buf, double x, size_t buflen); char *tr_strlpercent(char *buf, double x, size_t buflen); char *tr_strratio(char *buf, size_t buflen, double ratio, - const char *infinity); + const char *infinity); char *tr_strlratio(char *buf, double ratio, size_t buflen); char *tr_strlspeed(char *buf, double kb_sec, size_t buflen); char *tr_strlsize(char *buf, guint64 size, size_t buflen); @@ -62,7 +62,7 @@ int tr_snprintf(char *buf, size_t buflen, const char *fmt, ...); size_t tr_strlcpy(char *dst, const void *src, size_t siz); double tr_truncd(double x, int decimal_places); int evutil_vsnprintf(char *buf, size_t buflen, const char *format, - va_list ap); + va_list ap); void rm_trailing_slashes(gchar * str); void trg_widget_set_visible(GtkWidget * w, gboolean visible); gdouble json_double_to_progress(JsonNode * n); @@ -73,4 +73,4 @@ gboolean is_magnet(gchar * string); gdouble json_node_really_get_double(JsonNode * node); GtkWidget *gtr_combo_box_new_enum(const char *text_1, ...); -#endif /* UTIL_H_ */ +#endif /* UTIL_H_ */ -- cgit v1.2.3 From 03cd50289ea357e9ca6d60920bf6babc50fa0f57 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Wed, 21 Dec 2011 01:36:28 +0000 Subject: hopefully a fix for tree on windows --- src/trg-cell-renderer-epoch.c | 2 +- src/trg-cell-renderer-epoch.h | 2 +- src/trg-cell-renderer-eta.c | 2 +- src/trg-cell-renderer-eta.h | 2 +- src/trg-cell-renderer-file-icon.c | 2 +- src/trg-cell-renderer-file-icon.h | 2 +- src/trg-cell-renderer-numgteqthan.c | 2 +- src/trg-cell-renderer-numgteqthan.h | 2 +- src/trg-cell-renderer-priority.c | 2 +- src/trg-cell-renderer-priority.h | 2 +- src/trg-cell-renderer-ratio.c | 2 +- src/trg-cell-renderer-ratio.h | 2 +- src/trg-cell-renderer-size.c | 2 +- src/trg-cell-renderer-size.h | 2 +- src/trg-cell-renderer-speed.c | 2 +- src/trg-cell-renderer-speed.h | 2 +- src/trg-destination-combo.c | 2 +- src/trg-destination-combo.h | 2 +- src/trg-file-parser.c | 2 +- src/trg-file-parser.h | 2 +- src/trg-files-model.c | 12 ++++++++++-- src/trg-files-model.h | 2 +- src/trg-files-tree-view.c | 2 +- src/trg-files-tree-view.h | 2 +- src/trg-general-panel.c | 2 +- src/trg-general-panel.h | 2 +- src/trg-json-widgets.c | 2 +- src/trg-json-widgets.h | 2 +- src/trg-menu-bar.h | 2 +- src/trg-model.c | 2 +- src/trg-model.h | 2 +- src/trg-peers-model.c | 2 +- src/trg-peers-model.h | 2 +- src/trg-peers-tree-view.c | 2 +- src/trg-peers-tree-view.h | 2 +- src/trg-prefs.c | 2 +- src/trg-remote-prefs-dialog.c | 2 +- src/trg-remote-prefs-dialog.h | 2 +- src/trg-sortable-filtered-model.c | 2 +- src/trg-sortable-filtered-model.h | 2 +- src/trg-state-selector.c | 2 +- src/trg-state-selector.h | 2 +- src/trg-stats-dialog.c | 2 +- src/trg-stats-dialog.h | 2 +- src/trg-status-bar.c | 2 +- src/trg-status-bar.h | 2 +- src/trg-toolbar.c | 2 +- src/trg-toolbar.h | 2 +- src/trg-torrent-add-dialog.c | 2 +- src/trg-torrent-add-dialog.h | 2 +- src/trg-torrent-add-url-dialog.c | 2 +- src/trg-torrent-add-url-dialog.h | 2 +- src/trg-torrent-graph.c | 2 +- src/trg-torrent-model.c | 2 +- src/trg-torrent-model.h | 2 +- src/trg-torrent-move-dialog.c | 2 +- src/trg-torrent-move-dialog.h | 2 +- src/trg-torrent-props-dialog.c | 2 +- src/trg-torrent-props-dialog.h | 2 +- src/trg-torrent-tree-view.c | 2 +- src/trg-torrent-tree-view.h | 2 +- src/trg-trackers-tree-view.c | 2 +- src/trg-trackers-tree-view.h | 2 +- src/trg-tree-view.c | 2 +- src/trg-tree-view.h | 2 +- 65 files changed, 74 insertions(+), 66 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-cell-renderer-epoch.c b/src/trg-cell-renderer-epoch.c index 5b05f09..e897450 100644 --- a/src/trg-cell-renderer-epoch.c +++ b/src/trg-cell-renderer-epoch.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-epoch.h b/src/trg-cell-renderer-epoch.h index af235bf..0620726 100644 --- a/src/trg-cell-renderer-epoch.h +++ b/src/trg-cell-renderer-epoch.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index 604ac8f..cf5014f 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-eta.h b/src/trg-cell-renderer-eta.h index a56d96f..f9bad66 100644 --- a/src/trg-cell-renderer-eta.h +++ b/src/trg-cell-renderer-eta.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-file-icon.c b/src/trg-cell-renderer-file-icon.c index de29cb9..4f67c55 100644 --- a/src/trg-cell-renderer-file-icon.c +++ b/src/trg-cell-renderer-file-icon.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-file-icon.h b/src/trg-cell-renderer-file-icon.h index 11ef2de..314d52f 100644 --- a/src/trg-cell-renderer-file-icon.h +++ b/src/trg-cell-renderer-file-icon.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-numgteqthan.c b/src/trg-cell-renderer-numgteqthan.c index e0f9874..01b9ac1 100644 --- a/src/trg-cell-renderer-numgteqthan.c +++ b/src/trg-cell-renderer-numgteqthan.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-numgteqthan.h b/src/trg-cell-renderer-numgteqthan.h index dca71c6..d63d9e3 100644 --- a/src/trg-cell-renderer-numgteqthan.h +++ b/src/trg-cell-renderer-numgteqthan.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index 3a80322..00e66f5 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-priority.h b/src/trg-cell-renderer-priority.h index 8d47bca..dd33c11 100644 --- a/src/trg-cell-renderer-priority.h +++ b/src/trg-cell-renderer-priority.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index 2a1c304..9e21f0e 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-ratio.h b/src/trg-cell-renderer-ratio.h index 82593a0..123f1ed 100644 --- a/src/trg-cell-renderer-ratio.h +++ b/src/trg-cell-renderer-ratio.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index d6d07cb..1efdb17 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-size.h b/src/trg-cell-renderer-size.h index 94e5a00..e73184f 100644 --- a/src/trg-cell-renderer-size.h +++ b/src/trg-cell-renderer-size.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 6fcc797..9c235cb 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-cell-renderer-speed.h b/src/trg-cell-renderer-speed.h index e8ea8f0..f00effc 100644 --- a/src/trg-cell-renderer-speed.h +++ b/src/trg-cell-renderer-speed.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c index 3ebc14d..07410a1 100644 --- a/src/trg-destination-combo.c +++ b/src/trg-destination-combo.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-destination-combo.h b/src/trg-destination-combo.h index 61eafdd..46700b4 100644 --- a/src/trg-destination-combo.h +++ b/src/trg-destination-combo.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-file-parser.c b/src/trg-file-parser.c index 8565ce9..661596b 100644 --- a/src/trg-file-parser.c +++ b/src/trg-file-parser.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-file-parser.h b/src/trg-file-parser.h index 10a4d8a..eecc04a 100644 --- a/src/trg-file-parser.h +++ b/src/trg-file-parser.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-files-model.c b/src/trg-files-model.c index e1f4d6a..1fe9e9c 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -159,10 +159,18 @@ static void trg_files_model_iter_new(TrgFilesModel * model, GtkTreeIter * iter, } if (!found) { + GValue idValue = { 0 }; + gtk_tree_store_append(GTK_TREE_STORE(model), iter, parentRowRef ? &parentIter : NULL); - gtk_tree_store_set(GTK_TREE_STORE(model), iter, FILESCOL_PRIORITY, - -2, FILESCOL_ID, -1, FILESCOL_NAME, elements[i], -1); + gtk_tree_store_set(GTK_TREE_STORE(model), iter, FILESCOL_NAME, elements[i], -1); + + g_value_init(&idValue, G_TYPE_INT); + g_value_set_int(&idValue, -1); + gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, FILESCOL_ID, &idValue); + g_value_set_int(&idValue, -2); + gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, FILESCOL_PRIORITY, &idValue); + iter_to_row_reference(GTK_TREE_MODEL(model), iter, &parentRowRef); } } diff --git a/src/trg-files-model.h b/src/trg-files-model.h index 1a68d3b..cc6ebfe 100644 --- a/src/trg-files-model.h +++ b/src/trg-files-model.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index 4755e5b..eb145af 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index 06f83ba..17ab161 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index d5043a0..ac5e9ba 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h index 33cbde3..686bffb 100644 --- a/src/trg-general-panel.h +++ b/src/trg-general-panel.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index e4e5ac5..ac4fba3 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h index 9d9c0f8..b5667d8 100644 --- a/src/trg-json-widgets.h +++ b/src/trg-json-widgets.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h index d9538ce..a15e28e 100644 --- a/src/trg-menu-bar.h +++ b/src/trg-menu-bar.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-model.c b/src/trg-model.c index e10c974..96b5472 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-model.h b/src/trg-model.h index 9059303..88e7a85 100644 --- a/src/trg-model.h +++ b/src/trg-model.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 507d4f9..86574fd 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index d9cf885..50ce6c1 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 20eae98..00c80c3 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index 989d172..298ecf6 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 68376f8..cd7f09e 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index cfaa2d0..85643a0 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-remote-prefs-dialog.h b/src/trg-remote-prefs-dialog.h index 0c340a1..b96dda0 100644 --- a/src/trg-remote-prefs-dialog.h +++ b/src/trg-remote-prefs-dialog.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-sortable-filtered-model.c b/src/trg-sortable-filtered-model.c index ed24f8a..f3d3ce5 100644 --- a/src/trg-sortable-filtered-model.c +++ b/src/trg-sortable-filtered-model.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-sortable-filtered-model.h b/src/trg-sortable-filtered-model.h index 325b787..9440b32 100644 --- a/src/trg-sortable-filtered-model.h +++ b/src/trg-sortable-filtered-model.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index ee7cd75..32751d7 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h index d7a494e..11b97a4 100644 --- a/src/trg-state-selector.h +++ b/src/trg-state-selector.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index 8bad6c1..20d8ea2 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-stats-dialog.h b/src/trg-stats-dialog.h index ee0656e..1b1fefb 100644 --- a/src/trg-stats-dialog.h +++ b/src/trg-stats-dialog.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index eb16267..4f1ed64 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index 68ea425..5dd2221 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index 8adfc0e..2fc7149 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-toolbar.h b/src/trg-toolbar.h index 8bea8ac..bc6432c 100644 --- a/src/trg-toolbar.h +++ b/src/trg-toolbar.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index ffa35e2..e5b4a7b 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-add-dialog.h b/src/trg-torrent-add-dialog.h index 0d95103..210e036 100644 --- a/src/trg-torrent-add-dialog.h +++ b/src/trg-torrent-add-dialog.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-add-url-dialog.c b/src/trg-torrent-add-url-dialog.c index aa178ee..6fe07e8 100644 --- a/src/trg-torrent-add-url-dialog.c +++ b/src/trg-torrent-add-url-dialog.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-add-url-dialog.h b/src/trg-torrent-add-url-dialog.h index be89fd4..3b2c9d2 100644 --- a/src/trg-torrent-add-url-dialog.h +++ b/src/trg-torrent-add-url-dialog.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-graph.c b/src/trg-torrent-graph.c index 99c5dad..1b22375 100644 --- a/src/trg-torrent-graph.c +++ b/src/trg-torrent-graph.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index 7f9f922..3dd7f9f 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index 38ba1b3..2a108c9 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c index e6f7b71..5091120 100644 --- a/src/trg-torrent-move-dialog.c +++ b/src/trg-torrent-move-dialog.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-move-dialog.h b/src/trg-torrent-move-dialog.h index c99f78f..76b832b 100644 --- a/src/trg-torrent-move-dialog.h +++ b/src/trg-torrent-move-dialog.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 241b518..7fd262b 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-props-dialog.h b/src/trg-torrent-props-dialog.h index 78d72de..a8adff2 100644 --- a/src/trg-torrent-props-dialog.h +++ b/src/trg-torrent-props-dialog.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index 89885d7..e52f889 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-torrent-tree-view.h b/src/trg-torrent-tree-view.h index a63d792..f26ec77 100644 --- a/src/trg-torrent-tree-view.h +++ b/src/trg-torrent-tree-view.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index d481f53..9166998 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-trackers-tree-view.h b/src/trg-trackers-tree-view.h index c98a472..b8fba0a 100644 --- a/src/trg-trackers-tree-view.h +++ b/src/trg-trackers-tree-view.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index d6c7b93..acb4bdc 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index 3460e3c..249bce6 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - Transmission RPC client for GTK + * transmission-remote-gtk - A GTK RPC client to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify -- cgit v1.2.3 From 6feb984156f7e504a00ad8edfef84993ad1b3e74 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Wed, 20 Feb 2013 19:17:08 +0000 Subject: update year in copyright headers, fix the jumbled file lists (caused by unsorted files) --- src/json.c | 2 +- src/json.h | 2 +- src/main.c | 2 +- src/protocol-constants.h | 2 +- src/remote-exec.c | 2 +- src/remote-exec.h | 2 +- src/requests.c | 2 +- src/requests.h | 2 +- src/session-get.c | 2 +- src/session-get.h | 2 +- src/torrent.c | 2 +- src/torrent.h | 2 +- src/trg-about-window.c | 4 ++-- src/trg-about-window.h | 2 +- src/trg-cell-renderer-counter.c | 2 +- src/trg-cell-renderer-counter.h | 2 +- src/trg-cell-renderer-epoch.c | 2 +- src/trg-cell-renderer-epoch.h | 2 +- src/trg-cell-renderer-eta.c | 2 +- src/trg-cell-renderer-eta.h | 2 +- src/trg-cell-renderer-file-icon.c | 2 +- src/trg-cell-renderer-file-icon.h | 2 +- src/trg-cell-renderer-numgteqthan.c | 2 +- src/trg-cell-renderer-numgteqthan.h | 2 +- src/trg-cell-renderer-priority.c | 2 +- src/trg-cell-renderer-priority.h | 2 +- src/trg-cell-renderer-ratio.c | 2 +- src/trg-cell-renderer-ratio.h | 2 +- src/trg-cell-renderer-size.c | 2 +- src/trg-cell-renderer-size.h | 2 +- src/trg-cell-renderer-speed.c | 2 +- src/trg-cell-renderer-speed.h | 2 +- src/trg-cell-renderer-wanted.c | 2 +- src/trg-cell-renderer-wanted.h | 2 +- src/trg-client.c | 2 +- src/trg-client.h | 2 +- src/trg-destination-combo.c | 2 +- src/trg-destination-combo.h | 2 +- src/trg-file-parser.c | 13 +++++++------ src/trg-file-parser.h | 2 +- src/trg-files-model-common.c | 2 +- src/trg-files-model-common.h | 2 +- src/trg-files-model.c | 10 ++++++---- src/trg-files-model.h | 2 +- src/trg-files-tree-view-common.c | 2 +- src/trg-files-tree-view-common.h | 2 +- src/trg-files-tree-view.c | 2 +- src/trg-files-tree-view.h | 2 +- src/trg-files-tree.c | 14 ++++++++++++++ src/trg-files-tree.h | 6 ++++-- src/trg-general-panel.c | 2 +- src/trg-general-panel.h | 2 +- src/trg-gtk-app.c | 2 +- src/trg-gtk-app.h | 2 +- src/trg-icons.c | 2 +- src/trg-icons.h | 2 +- src/trg-json-widgets.c | 2 +- src/trg-json-widgets.h | 2 +- src/trg-main-window.c | 2 +- src/trg-main-window.h | 2 +- src/trg-menu-bar.c | 2 +- src/trg-menu-bar.h | 2 +- src/trg-model.c | 2 +- src/trg-model.h | 2 +- src/trg-peers-model.c | 2 +- src/trg-peers-model.h | 2 +- src/trg-peers-tree-view.c | 2 +- src/trg-peers-tree-view.h | 2 +- src/trg-persistent-tree-view.c | 2 +- src/trg-persistent-tree-view.h | 2 +- src/trg-preferences-dialog.c | 2 +- src/trg-preferences-dialog.h | 2 +- src/trg-prefs.c | 2 +- src/trg-prefs.h | 2 +- src/trg-remote-prefs-dialog.c | 2 +- src/trg-remote-prefs-dialog.h | 2 +- src/trg-sortable-filtered-model.c | 2 +- src/trg-sortable-filtered-model.h | 2 +- src/trg-state-selector.c | 2 +- src/trg-state-selector.h | 2 +- src/trg-stats-dialog.c | 2 +- src/trg-stats-dialog.h | 2 +- src/trg-status-bar.c | 2 +- src/trg-status-bar.h | 2 +- src/trg-toolbar.c | 2 +- src/trg-toolbar.h | 2 +- src/trg-torrent-add-dialog.h | 2 +- src/trg-torrent-add-url-dialog.c | 2 +- src/trg-torrent-add-url-dialog.h | 2 +- src/trg-torrent-graph.c | 2 +- src/trg-torrent-model.c | 2 +- src/trg-torrent-model.h | 2 +- src/trg-torrent-move-dialog.c | 2 +- src/trg-torrent-move-dialog.h | 2 +- src/trg-torrent-props-dialog.c | 2 +- src/trg-torrent-props-dialog.h | 2 +- src/trg-torrent-tree-view.c | 2 +- src/trg-torrent-tree-view.h | 2 +- src/trg-trackers-model.c | 2 +- src/trg-trackers-model.h | 2 +- src/trg-trackers-tree-view.c | 2 +- src/trg-trackers-tree-view.h | 2 +- src/trg-tree-view.c | 2 +- src/trg-tree-view.h | 2 +- src/util.c | 2 +- src/util.h | 2 +- src/win32-mailslot.c | 2 +- src/win32-mailslot.h | 2 +- 108 files changed, 136 insertions(+), 117 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/json.c b/src/json.c index 38bcf76..fdce0b6 100644 --- a/src/json.c +++ b/src/json.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/json.h b/src/json.h index c321de9..860f73a 100644 --- a/src/json.h +++ b/src/json.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main.c b/src/main.c index 2558e1b..f7570ce 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/protocol-constants.h b/src/protocol-constants.h index 77ab71a..061a10e 100644 --- a/src/protocol-constants.h +++ b/src/protocol-constants.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/remote-exec.c b/src/remote-exec.c index 17f7c41..edf75f2 100644 --- a/src/remote-exec.c +++ b/src/remote-exec.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/remote-exec.h b/src/remote-exec.h index 4468a3a..07ffa57 100644 --- a/src/remote-exec.h +++ b/src/remote-exec.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/requests.c b/src/requests.c index edd39ba..95be1d7 100644 --- a/src/requests.c +++ b/src/requests.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/requests.h b/src/requests.h index 4d08a88..5ea9b2a 100644 --- a/src/requests.h +++ b/src/requests.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/session-get.c b/src/session-get.c index 0b85b22..98c466c 100644 --- a/src/session-get.c +++ b/src/session-get.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/session-get.h b/src/session-get.h index c18163a..9d26c99 100644 --- a/src/session-get.h +++ b/src/session-get.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/torrent.c b/src/torrent.c index 10a556c..ed595dd 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/torrent.h b/src/torrent.h index 99f023c..cebdd76 100644 --- a/src/torrent.h +++ b/src/torrent.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-about-window.c b/src/trg-about-window.c index b2eac86..8dbf7a8 100644 --- a/src/trg-about-window.c +++ b/src/trg-about-window.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -68,7 +68,7 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), PACKAGE_VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), - "(C) 2011 Alan Fitton"); + "(C) 2011-2013 Alan Fitton"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), _ ("A remote client to transmission-daemon.")); diff --git a/src/trg-about-window.h b/src/trg-about-window.h index 8fbd132..fbd1569 100644 --- a/src/trg-about-window.h +++ b/src/trg-about-window.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-counter.c b/src/trg-cell-renderer-counter.c index 1308039..9a4049c 100644 --- a/src/trg-cell-renderer-counter.c +++ b/src/trg-cell-renderer-counter.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-counter.h b/src/trg-cell-renderer-counter.h index 5ecaba8..7e70c4b 100644 --- a/src/trg-cell-renderer-counter.h +++ b/src/trg-cell-renderer-counter.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-epoch.c b/src/trg-cell-renderer-epoch.c index 64a400a..8e38949 100644 --- a/src/trg-cell-renderer-epoch.c +++ b/src/trg-cell-renderer-epoch.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-epoch.h b/src/trg-cell-renderer-epoch.h index 0620726..918fb9b 100644 --- a/src/trg-cell-renderer-epoch.h +++ b/src/trg-cell-renderer-epoch.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index cdae864..90e8886 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-eta.h b/src/trg-cell-renderer-eta.h index f9bad66..90ca95b 100644 --- a/src/trg-cell-renderer-eta.h +++ b/src/trg-cell-renderer-eta.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-file-icon.c b/src/trg-cell-renderer-file-icon.c index 0ef272b..e116d90 100644 --- a/src/trg-cell-renderer-file-icon.c +++ b/src/trg-cell-renderer-file-icon.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-file-icon.h b/src/trg-cell-renderer-file-icon.h index 314d52f..504bd59 100644 --- a/src/trg-cell-renderer-file-icon.h +++ b/src/trg-cell-renderer-file-icon.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-numgteqthan.c b/src/trg-cell-renderer-numgteqthan.c index 0351b71..3be1cd6 100644 --- a/src/trg-cell-renderer-numgteqthan.c +++ b/src/trg-cell-renderer-numgteqthan.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-numgteqthan.h b/src/trg-cell-renderer-numgteqthan.h index d63d9e3..e71ed55 100644 --- a/src/trg-cell-renderer-numgteqthan.h +++ b/src/trg-cell-renderer-numgteqthan.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index 84181b1..d52129a 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-priority.h b/src/trg-cell-renderer-priority.h index 7813053..58a07a2 100644 --- a/src/trg-cell-renderer-priority.h +++ b/src/trg-cell-renderer-priority.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index 1999fb7..ed0a453 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-ratio.h b/src/trg-cell-renderer-ratio.h index 123f1ed..6b7e95b 100644 --- a/src/trg-cell-renderer-ratio.h +++ b/src/trg-cell-renderer-ratio.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index f6b25cc..ebe6b25 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-size.h b/src/trg-cell-renderer-size.h index e73184f..a5d547b 100644 --- a/src/trg-cell-renderer-size.h +++ b/src/trg-cell-renderer-size.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 38dd3cb..a527b59 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-speed.h b/src/trg-cell-renderer-speed.h index f00effc..e74265a 100644 --- a/src/trg-cell-renderer-speed.h +++ b/src/trg-cell-renderer-speed.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-wanted.c b/src/trg-cell-renderer-wanted.c index 5a31a06..c23aae1 100644 --- a/src/trg-cell-renderer-wanted.c +++ b/src/trg-cell-renderer-wanted.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-cell-renderer-wanted.h b/src/trg-cell-renderer-wanted.h index 6a48f4c..4a8720b 100644 --- a/src/trg-cell-renderer-wanted.h +++ b/src/trg-cell-renderer-wanted.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-client.c b/src/trg-client.c index ad18921..f20677a 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-client.h b/src/trg-client.h index 803579e..3b7d916 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c index 000d371..d2e3eb0 100644 --- a/src/trg-destination-combo.c +++ b/src/trg-destination-combo.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-destination-combo.h b/src/trg-destination-combo.h index 46700b4..9ab5076 100644 --- a/src/trg-destination-combo.h +++ b/src/trg-destination-combo.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-file-parser.c b/src/trg-file-parser.c index d59cabc..03c4f8d 100644 --- a/src/trg-file-parser.c +++ b/src/trg-file-parser.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,8 +60,7 @@ static trg_files_tree_node *trg_file_parser_node_insert(trg_files_tree_node trg_files_tree_node *target_node = NULL; if (li && !isFile) { - trg_files_tree_node *lastPathNode = - (trg_files_tree_node *) li->data; + trg_files_tree_node *lastPathNode = (trg_files_tree_node *) li->data; if (!g_strcmp0(lastPathNode->name, path_el_node->val.s)) { target_node = lastPathNode; @@ -71,16 +70,18 @@ static trg_files_tree_node *trg_file_parser_node_insert(trg_files_tree_node } } + if (!target_node && lastIter && lastIter->childrenHash) + target_node = g_hash_table_lookup(lastIter->childrenHash, path_el_node->val.s); + if (!target_node) { target_node = g_new0(trg_files_tree_node, 1); target_node->name = g_strdup(path_el_node->val.s); target_node->parent = lastIter; if (lastIter) - lastIter->children = - g_list_append(lastIter->children, target_node); + trg_files_tree_node_add_child(lastIter, target_node); else - top->children = g_list_append(top->children, target_node); + trg_files_tree_node_add_child(top, target_node); } if (isFile) { diff --git a/src/trg-file-parser.h b/src/trg-file-parser.h index f2d6fb7..1344be2 100644 --- a/src/trg-file-parser.h +++ b/src/trg-file-parser.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-model-common.c b/src/trg-files-model-common.c index 6e72907..b435069 100644 --- a/src/trg-files-model-common.c +++ b/src/trg-files-model-common.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-model-common.h b/src/trg-files-model-common.h index e8f52f2..ad151e1 100644 --- a/src/trg-files-model-common.h +++ b/src/trg-files-model-common.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-model.c b/src/trg-files-model.c index f082bd8..a0a2a37 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -192,6 +192,9 @@ static trg_files_tree_node *trg_file_parser_node_insert(trg_files_tree_node } } + if (!target_node && lastIter && lastIter->childrenHash) + target_node = g_hash_table_lookup(lastIter->childrenHash, path_el); + /* Node needs creating */ if (!target_node) { @@ -201,11 +204,10 @@ static trg_files_tree_node *trg_file_parser_node_insert(trg_files_tree_node /* Under the parent of the last iteration. */ if (lastIter) - lastIter->children = - g_list_append(lastIter->children, target_node); + trg_files_tree_node_add_child(lastIter, target_node); /* None set, so under the top node. */ else - top->children = g_list_append(top->children, target_node); + trg_files_tree_node_add_child(top, target_node); } lastIter = target_node; diff --git a/src/trg-files-model.h b/src/trg-files-model.h index b76b456..3b23f9c 100644 --- a/src/trg-files-model.h +++ b/src/trg-files-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree-view-common.c b/src/trg-files-tree-view-common.c index a9e0fcd..4680d5f 100644 --- a/src/trg-files-tree-view-common.c +++ b/src/trg-files-tree-view-common.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree-view-common.h b/src/trg-files-tree-view-common.h index 7929c67..3826182 100644 --- a/src/trg-files-tree-view-common.h +++ b/src/trg-files-tree-view-common.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index 1ff3f05..1c93ad6 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index 04a38bb..dedcb3d 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-files-tree.c b/src/trg-files-tree.c index cadef12..b3a3df9 100644 --- a/src/trg-files-tree.c +++ b/src/trg-files-tree.c @@ -27,11 +27,25 @@ #include "trg-files-tree.h" +void trg_files_tree_node_add_child(trg_files_tree_node* node, trg_files_tree_node* child) +{ + if (!node->childrenHash) { + node->childrenHash = g_hash_table_new(g_str_hash, g_str_equal); + } + g_hash_table_insert(node->childrenHash, child->name, child); + node->children = g_list_append(node->children, child); +} + void trg_files_tree_node_free(trg_files_tree_node * node) { GList *li; + for (li = node->children; li; li = g_list_next(li)) trg_files_tree_node_free((trg_files_tree_node *) li->data); + + if (node->childrenHash) + g_hash_table_destroy(node->childrenHash); + g_list_free(node->children); g_free(node->name); g_free(node); diff --git a/src/trg-files-tree.h b/src/trg-files-tree.h index bfd9189..c5072b6 100644 --- a/src/trg-files-tree.h +++ b/src/trg-files-tree.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,7 +20,7 @@ #ifndef TRG_FILES_TREE_H_ #define TRG_FILES_TREE_H_ -#include +#include #include #include "trg-files-tree.h" @@ -30,12 +30,14 @@ typedef struct { gint64 length; gint64 bytesCompleted; GList *children; + GHashTable *childrenHash; gint index; gpointer parent; gint priority; gint enabled; } trg_files_tree_node; +void trg_files_tree_node_add_child(trg_files_tree_node* node, trg_files_tree_node* child); void trg_files_tree_node_free(trg_files_tree_node * node); #endif /* TRG_FILES_MODEL_H_ */ diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index aa7c29c..2e74d9d 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h index 686bffb..e1a75bb 100644 --- a/src/trg-general-panel.h +++ b/src/trg-general-panel.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-gtk-app.c b/src/trg-gtk-app.c index 46ae43d..a0c9ac4 100644 --- a/src/trg-gtk-app.c +++ b/src/trg-gtk-app.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-gtk-app.h b/src/trg-gtk-app.h index 0374321..b60425a 100644 --- a/src/trg-gtk-app.h +++ b/src/trg-gtk-app.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-icons.c b/src/trg-icons.c index b507ce9..efa45a7 100644 --- a/src/trg-icons.c +++ b/src/trg-icons.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-icons.h b/src/trg-icons.h index 56a01ff..e3555d5 100644 --- a/src/trg-icons.h +++ b/src/trg-icons.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index 5f6fb1e..abca7e1 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h index 7eefe58..a7dde5b 100644 --- a/src/trg-json-widgets.h +++ b/src/trg-json-widgets.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 6f1a608..975e68f 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-main-window.h b/src/trg-main-window.h index 59dddc8..3c6ace5 100644 --- a/src/trg-main-window.h +++ b/src/trg-main-window.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index c701cbc..4fcd06c 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h index 3774bb6..601ea13 100644 --- a/src/trg-menu-bar.h +++ b/src/trg-menu-bar.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-model.c b/src/trg-model.c index 96b5472..fa67d08 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-model.h b/src/trg-model.h index 88e7a85..4f5f8ae 100644 --- a/src/trg-model.h +++ b/src/trg-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index a231666..0d15753 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 50ce6c1..6ae941a 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 4364842..f7fbd7c 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index c7b254f..57a09c1 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-persistent-tree-view.c b/src/trg-persistent-tree-view.c index 650bdeb..e116fdf 100644 --- a/src/trg-persistent-tree-view.c +++ b/src/trg-persistent-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-persistent-tree-view.h b/src/trg-persistent-tree-view.h index d56f502..a5a7c8f 100644 --- a/src/trg-persistent-tree-view.h +++ b/src/trg-persistent-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index d0c8508..6e98f25 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-preferences-dialog.h b/src/trg-preferences-dialog.h index 8860ff6..f5e9825 100644 --- a/src/trg-preferences-dialog.h +++ b/src/trg-preferences-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 9b573a6..b559479 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-prefs.h b/src/trg-prefs.h index 1bf43c5..e7a7f48 100644 --- a/src/trg-prefs.h +++ b/src/trg-prefs.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index 22b29af..f8bd43b 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-remote-prefs-dialog.h b/src/trg-remote-prefs-dialog.h index b96dda0..45d0a97 100644 --- a/src/trg-remote-prefs-dialog.h +++ b/src/trg-remote-prefs-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-sortable-filtered-model.c b/src/trg-sortable-filtered-model.c index 0c84b77..9db1827 100644 --- a/src/trg-sortable-filtered-model.c +++ b/src/trg-sortable-filtered-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-sortable-filtered-model.h b/src/trg-sortable-filtered-model.h index 55e525c..3523d09 100644 --- a/src/trg-sortable-filtered-model.h +++ b/src/trg-sortable-filtered-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index 1fabf44..cee0c56 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h index a00251c..5107505 100644 --- a/src/trg-state-selector.h +++ b/src/trg-state-selector.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index b4b215a..3ae0336 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-stats-dialog.h b/src/trg-stats-dialog.h index 1b1fefb..58a192a 100644 --- a/src/trg-stats-dialog.h +++ b/src/trg-stats-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index 8f80711..34454df 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index c1ee82a..b4942ee 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index fb81364..96dd95d 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-toolbar.h b/src/trg-toolbar.h index bc6432c..7d12b2d 100644 --- a/src/trg-toolbar.h +++ b/src/trg-toolbar.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-add-dialog.h b/src/trg-torrent-add-dialog.h index 210e036..0f45e2c 100644 --- a/src/trg-torrent-add-dialog.h +++ b/src/trg-torrent-add-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-add-url-dialog.c b/src/trg-torrent-add-url-dialog.c index ef97725..7f6335e 100644 --- a/src/trg-torrent-add-url-dialog.c +++ b/src/trg-torrent-add-url-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-add-url-dialog.h b/src/trg-torrent-add-url-dialog.h index 3b2c9d2..ea446ed 100644 --- a/src/trg-torrent-add-url-dialog.h +++ b/src/trg-torrent-add-url-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-graph.c b/src/trg-torrent-graph.c index 6cd9216..40d3b4a 100644 --- a/src/trg-torrent-graph.c +++ b/src/trg-torrent-graph.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index d5b640f..b1e98e5 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index aed9717..078afe8 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c index 381ed86..7669545 100644 --- a/src/trg-torrent-move-dialog.c +++ b/src/trg-torrent-move-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-move-dialog.h b/src/trg-torrent-move-dialog.h index 76b832b..5f58979 100644 --- a/src/trg-torrent-move-dialog.h +++ b/src/trg-torrent-move-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 2060b6b..90ef4e3 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-props-dialog.h b/src/trg-torrent-props-dialog.h index 504f172..9829127 100644 --- a/src/trg-torrent-props-dialog.h +++ b/src/trg-torrent-props-dialog.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index 4f1d165..207bef7 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-torrent-tree-view.h b/src/trg-torrent-tree-view.h index 394bebe..d308de9 100644 --- a/src/trg-torrent-tree-view.h +++ b/src/trg-torrent-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-model.c b/src/trg-trackers-model.c index a8a411e..c998c93 100644 --- a/src/trg-trackers-model.c +++ b/src/trg-trackers-model.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-model.h b/src/trg-trackers-model.h index 67025ea..3e699f7 100644 --- a/src/trg-trackers-model.h +++ b/src/trg-trackers-model.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index d1d3634..0dfd4f9 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-trackers-tree-view.h b/src/trg-trackers-tree-view.h index a7684d8..39c5f46 100644 --- a/src/trg-trackers-tree-view.h +++ b/src/trg-trackers-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index 3f7a289..3f7b95e 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index f2b4965..5a17073 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/util.c b/src/util.c index a118025..55db4dc 100644 --- a/src/util.c +++ b/src/util.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/util.h b/src/util.h index f55b736..351f565 100644 --- a/src/util.h +++ b/src/util.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/win32-mailslot.c b/src/win32-mailslot.c index 6878b9c..0ca52a9 100644 --- a/src/win32-mailslot.c +++ b/src/win32-mailslot.c @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/win32-mailslot.h b/src/win32-mailslot.h index c0dc71b..1d60fef 100644 --- a/src/win32-mailslot.h +++ b/src/win32-mailslot.h @@ -1,6 +1,6 @@ /* * transmission-remote-gtk - A GTK RPC client to Transmission - * Copyright (C) 2011 Alan Fitton + * Copyright (C) 2011-2013 Alan Fitton * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From e7a058f0e239fa112676c8e3d5fb73279f2dee13 Mon Sep 17 00:00:00 2001 From: Alan F Date: Sun, 2 Feb 2014 12:37:42 +0000 Subject: FOSDEM commit :) add a column to peers tree view with GeoIP city, if available. --- src/trg-files-tree-view.h | 6 +++--- src/trg-peers-model.c | 40 ++++++++++++++++++++++++++++++++-------- src/trg-peers-model.h | 2 ++ src/trg-peers-tree-view.c | 13 +++++++++++++ src/trg-peers-tree-view.h | 5 ++--- src/trg-tree-view.c | 18 ++++++++++++++++++ src/trg-tree-view.h | 1 + 7 files changed, 71 insertions(+), 14 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h index dedcb3d..3cfecd7 100644 --- a/src/trg-files-tree-view.h +++ b/src/trg-files-tree-view.h @@ -38,12 +38,12 @@ G_BEGIN_DECLS (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_FILES_TREE_VIEW)) #define TRG_FILES_TREE_VIEW_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_FILES_TREE_VIEW, TrgFilesTreeViewClass)) - typedef struct { - GtkTreeView parent; +typedef struct { + TrgTreeView parent; } TrgFilesTreeView; typedef struct { - GtkTreeViewClass parent_class; + TrgTreeViewClass parent_class; } TrgFilesTreeViewClass; enum { diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 1301fc3..f7c792d 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -28,6 +28,7 @@ #include #ifdef HAVE_GEOIP #include +#include #endif #include "trg-tree-view.h" @@ -46,6 +47,7 @@ typedef struct _TrgPeersModelPrivate TrgPeersModelPrivate; struct _TrgPeersModelPrivate { GeoIP *geoip; GeoIP *geoipv6; + GeoIP *geoipcity; }; #endif @@ -151,6 +153,8 @@ trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); gboolean doGeoLookup = trg_tree_view_is_column_showing(tv, PEERSCOL_COUNTRY); + gboolean doGeoCityLookup = + trg_tree_view_is_column_showing(tv, PEERSCOL_CITY); #endif gboolean doHostLookup = @@ -171,6 +175,7 @@ trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, const gchar *address = NULL, *flagStr; #ifdef HAVE_GEOIP const gchar *country = NULL; + GeoIPRecord *city = NULL; #endif if (mode == TORRENT_GET_MODE_FIRST @@ -179,14 +184,18 @@ trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (address && doGeoLookup) { /* just in case address wasn't set */ - if (strchr(address, ':') && priv->geoipv6) - country = - GeoIP_country_name_by_addr_v6(priv->geoipv6, - address); - else if (priv->geoip) - country = - GeoIP_country_name_by_addr(priv->geoip, address); + if (address) { /* just in case address wasn't set */ + if (doGeoLookup) { + if (strchr(address, ':') && priv->geoipv6) + country = + GeoIP_country_name_by_addr_v6(priv->geoipv6, + address); + else if (priv->geoip) + country = + GeoIP_country_name_by_addr(priv->geoip, address); + } + if (doGeoCityLookup) + city = GeoIP_record_by_addr(priv->geoipcity, address); } #endif gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, @@ -194,6 +203,7 @@ trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, PEERSCOL_IP, address, #ifdef HAVE_GEOIP PEERSCOL_COUNTRY, country ? country : "", + PEERSCOL_CITY, city ? city->city : "", #endif PEERSCOL_CLIENT, peer_get_client_name(peer), -1); @@ -203,6 +213,9 @@ trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, isNew = FALSE; } + if (city) + GeoIPRecord_delete(city); + flagStr = peer_get_flagstr(peer); gtk_list_store_set(GTK_LIST_STORE(model), &peerIter, PEERSCOL_FLAGS, flagStr, PEERSCOL_PROGRESS, @@ -244,6 +257,7 @@ static void trg_peers_model_init(TrgPeersModel * self) TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(self); gchar *geoip_db_path = NULL; gchar *geoip_v6_db_path = NULL; + gchar *geoip_city_db_path = NULL; #endif GType column_types[PEERSCOL_COLUMNS]; @@ -252,6 +266,7 @@ static void trg_peers_model_init(TrgPeersModel * self) column_types[PEERSCOL_IP] = G_TYPE_STRING; #ifdef HAVE_GEOIP column_types[PEERSCOL_COUNTRY] = G_TYPE_STRING; + column_types[PEERSCOL_CITY] = G_TYPE_STRING; #endif column_types[PEERSCOL_HOST] = G_TYPE_STRING; column_types[PEERSCOL_FLAGS] = G_TYPE_STRING; @@ -268,9 +283,11 @@ static void trg_peers_model_init(TrgPeersModel * self) #ifdef WIN32 geoip_db_path = trg_win32_support_path("GeoIP.dat"); geoip_v6_db_path = trg_win32_support_path("GeoIPv6.dat"); + geoip_city_db_path = trg_win32_support_path("GeoLiteCity.dat"); #else geoip_db_path = g_strdup(TRG_GEOIP_DATABASE); geoip_v6_db_path = g_strdup(TRG_GEOIPV6_DATABASE); + geoip_city_db_path = g_strdup(TRG_GEOIP_CITY_DATABASE); #endif if (g_file_test(geoip_db_path, G_FILE_TEST_EXISTS) == TRUE) @@ -281,6 +298,13 @@ static void trg_peers_model_init(TrgPeersModel * self) priv->geoipv6 = GeoIP_open(geoip_v6_db_path, GEOIP_STANDARD | GEOIP_CHECK_CACHE); + if (g_file_test(geoip_city_db_path, G_FILE_TEST_EXISTS) == TRUE) { + priv->geoipcity = GeoIP_open(geoip_city_db_path, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); + GeoIP_set_charset(priv->geoipcity, GEOIP_CHARSET_UTF8); + } + + g_free(geoip_city_db_path); g_free(geoip_db_path); g_free(geoip_v6_db_path); #endif diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 6ae941a..edfd8fe 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -69,6 +69,7 @@ enum { PEERSCOL_IP, #if HAVE_GEOIP PEERSCOL_COUNTRY, + PEERSCOL_CITY, #endif PEERSCOL_HOST, PEERSCOL_FLAGS, @@ -88,3 +89,4 @@ void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, #define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" #define TRG_GEOIPV6_DATABASE "/usr/share/GeoIP/GeoIPv6.dat" +#define TRG_GEOIP_CITY_DATABASE "/usr/share/GeoIP/GeoLiteCity.dat" diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index c2a96c2..2bbb301 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -56,6 +56,9 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) #ifdef HAVE_GEOIP trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, _("Country"), "country", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CITY, + _("City"), "city", 0); + #endif trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_DOWNSPEED, _("Down Speed"), "down-speed", 0); @@ -71,6 +74,14 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) gtk_tree_view_set_search_column(GTK_TREE_VIEW(self), PEERSCOL_HOST); } +static void trg_peers_tree_view_column_added(TrgTreeView *tv, const gchar *id) { + if (!g_strcmp0(id, "city")) { + + } else if (!g_strcmp0(id, "country")) { + + } +} + TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, TrgPeersModel * model, const gchar * configId) @@ -83,5 +94,7 @@ TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, trg_tree_view_restore_sort(TRG_TREE_VIEW(obj), 0x00); trg_tree_view_setup_columns(TRG_TREE_VIEW(obj)); + g_signal_connect(obj, "column-added", G_CALLBACK(trg_peers_tree_view_column_added), NULL); + return TRG_PEERS_TREE_VIEW(obj); } diff --git a/src/trg-peers-tree-view.h b/src/trg-peers-tree-view.h index 57a09c1..3e683d3 100644 --- a/src/trg-peers-tree-view.h +++ b/src/trg-peers-tree-view.h @@ -17,7 +17,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ - #ifndef TRG_PEERS_TREE_VIEW_H_ #define TRG_PEERS_TREE_VIEW_H_ @@ -40,11 +39,11 @@ G_BEGIN_DECLS #define TRG_PEERS_TREE_VIEW_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_PEERS_TREE_VIEW, TrgPeersTreeViewClass)) typedef struct { - GtkTreeView parent; + TrgTreeView parent; } TrgPeersTreeView; typedef struct { - GtkTreeViewClass parent_class; + TrgTreeViewClass parent_class; } TrgPeersTreeViewClass; GType trg_peers_tree_view_get_type(void); diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index 85cb58a..1be9dad 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -49,6 +49,12 @@ enum { PROP_0, PROP_PREFS, PROP_CONFIGID }; +enum { + SIGNAL_COLUMN_ADDED, SIGNAL_COUNT +}; + +static guint signals[SIGNAL_COUNT] = { 0 }; + G_DEFINE_TYPE(TrgTreeView, trg_tree_view, GTK_TYPE_TREE_VIEW) #define TRG_TREE_VIEW_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TREE_VIEW, TrgTreeViewPrivate)) @@ -215,6 +221,8 @@ trg_tree_view_user_add_column_cb(GtkWidget * w, TRG_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)); trg_tree_view_add_column_after(tv, desc, -1, col); + + g_signal_emit(tv, signals[SIGNAL_COLUMN_ADDED], 0, desc->id); } static void trg_tree_view_sort_menu_item_toggled(GtkCheckMenuItem * w, @@ -771,6 +779,16 @@ static void trg_tree_view_class_init(TrgTreeViewClass * klass) G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); + + signals[SIGNAL_COLUMN_ADDED] = + g_signal_new("column-added", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgTreeViewClass, + column_added), NULL, + NULL, g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, G_TYPE_STRING); + } static void trg_tree_view_init(TrgTreeView * tv) diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h index 43ee576..435848f 100644 --- a/src/trg-tree-view.h +++ b/src/trg-tree-view.h @@ -42,6 +42,7 @@ G_BEGIN_DECLS typedef struct { GtkTreeViewClass parent_class; + void (*column_added) (TrgTreeView * tv, const gchar *id); } TrgTreeViewClass; GType trg_tree_view_get_type(void); -- cgit v1.2.3 From b598a43dfe3123c3cec1022e59558b09ffe4dac5 Mon Sep 17 00:00:00 2001 From: Alan F Date: Sun, 2 Feb 2014 14:57:06 +0000 Subject: load country and city when the column is enabled, so no need to reopen the window. --- src/trg-peers-model.c | 63 ++++++++++++++++++++++++++++++++++++++++------- src/trg-peers-model.h | 2 ++ src/trg-peers-tree-view.c | 5 ++-- 3 files changed, 59 insertions(+), 11 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index f7c792d..d64c74d 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -145,6 +145,18 @@ static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, } } +/* for handling v4 or v6 addresses. string is owned by GeoIP, should not be freed. */ +static const gchar* lookup_country(TrgPeersModel *model, const gchar *address) { + TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + + if (strchr(address, ':') && priv->geoipv6) + return GeoIP_country_name_by_addr_v6(priv->geoipv6, address); + else if (priv->geoip) + return GeoIP_country_name_by_addr(priv->geoip, address); + else + return NULL; +} + void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, gint64 updateSerial, JsonObject * t, gint mode) @@ -185,15 +197,8 @@ trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, address = peer_get_address(peer); #ifdef HAVE_GEOIP if (address) { /* just in case address wasn't set */ - if (doGeoLookup) { - if (strchr(address, ':') && priv->geoipv6) - country = - GeoIP_country_name_by_addr_v6(priv->geoipv6, - address); - else if (priv->geoip) - country = - GeoIP_country_name_by_addr(priv->geoip, address); - } + if (doGeoLookup) + country = lookup_country(model, address); if (doGeoCityLookup) city = GeoIP_record_by_addr(priv->geoipcity, address); } @@ -310,6 +315,46 @@ static void trg_peers_model_init(TrgPeersModel * self) #endif } +static gboolean trg_peers_model_add_city_foreach(GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { + TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + gchar *address = NULL; + GeoIPRecord *record = NULL; + + gtk_tree_model_get(GTK_TREE_MODEL(model), iter, PEERSCOL_IP, &address, -1); + record = GeoIP_record_by_addr(priv->geoipcity, address); + + if (record) { + gtk_list_store_set(GTK_LIST_STORE(model), iter, PEERSCOL_CITY, record->city, -1); + GeoIPRecord_delete(record); + } + + g_free(address); + + return FALSE; +} + +void trg_peers_model_add_city_column(TrgPeersModel *model) { + gtk_tree_model_foreach(GTK_TREE_MODEL(model), trg_peers_model_add_city_foreach, NULL); +} + +static gboolean trg_peers_model_add_country_foreach(GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { + gchar *address = NULL; + gtk_tree_model_get(GTK_TREE_MODEL(model), iter, PEERSCOL_IP, &address, -1); + gtk_list_store_set(GTK_LIST_STORE(model), iter, PEERSCOL_COUNTRY, lookup_country(TRG_PEERS_MODEL(model), address), -1); + g_free(address); + return FALSE; +} + +void trg_peers_model_add_country_column(TrgPeersModel *model) { + gtk_tree_model_foreach(GTK_TREE_MODEL(model), trg_peers_model_add_country_foreach, NULL); +} + TrgPeersModel *trg_peers_model_new() { return g_object_new(TRG_TYPE_PEERS_MODEL, NULL); diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index edfd8fe..e080cc1 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -84,6 +84,8 @@ enum { void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, gint64 updateSerial, JsonObject * t, gboolean first); +void trg_peers_model_add_city_column(TrgPeersModel *model); +void trg_peers_model_add_country_column(TrgPeersModel *model); #endif /* TRG_PEERS_MODEL_H_ */ diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 2bbb301..7ed5645 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -75,10 +75,11 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) } static void trg_peers_tree_view_column_added(TrgTreeView *tv, const gchar *id) { + TrgPeersModel *model = TRG_PEERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(tv))); if (!g_strcmp0(id, "city")) { - + trg_peers_model_add_city_column(model); } else if (!g_strcmp0(id, "country")) { - + trg_peers_model_add_country_column(model); } } -- cgit v1.2.3 From b06b8290bef019462a45f36de6f10abfe8b13c6d Mon Sep 17 00:00:00 2001 From: Alan F Date: Mon, 3 Feb 2014 14:06:16 +0000 Subject: hide the country and city columns if the databases have not been opened (probably because the file doesn't exist). --- src/trg-peers-model.c | 24 ++++++++++++++++++++++-- src/trg-peers-model.h | 5 +++++ src/trg-peers-tree-view.c | 18 +++++++++++++----- 3 files changed, 40 insertions(+), 7 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index d64c74d..0137c9d 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -336,8 +336,21 @@ static gboolean trg_peers_model_add_city_foreach(GtkTreeModel *model, return FALSE; } +#if HAVE_GEOIP +gboolean trg_peers_model_has_city_db(TrgPeersModel *model) { + TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + return priv->geoipcity != NULL; +} + +gboolean trg_peers_model_has_country_db(TrgPeersModel *model) { + TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + return priv->geoip != NULL; +} + void trg_peers_model_add_city_column(TrgPeersModel *model) { - gtk_tree_model_foreach(GTK_TREE_MODEL(model), trg_peers_model_add_city_foreach, NULL); + TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + if (priv->geoipcity) + gtk_tree_model_foreach(GTK_TREE_MODEL(model), trg_peers_model_add_city_foreach, NULL); } static gboolean trg_peers_model_add_country_foreach(GtkTreeModel *model, @@ -345,15 +358,22 @@ static gboolean trg_peers_model_add_country_foreach(GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { gchar *address = NULL; + gtk_tree_model_get(GTK_TREE_MODEL(model), iter, PEERSCOL_IP, &address, -1); gtk_list_store_set(GTK_LIST_STORE(model), iter, PEERSCOL_COUNTRY, lookup_country(TRG_PEERS_MODEL(model), address), -1); + g_free(address); + return FALSE; } void trg_peers_model_add_country_column(TrgPeersModel *model) { - gtk_tree_model_foreach(GTK_TREE_MODEL(model), trg_peers_model_add_country_foreach, NULL); + TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); + if (priv->geoip) + gtk_tree_model_foreach(GTK_TREE_MODEL(model), trg_peers_model_add_country_foreach, NULL); } +#endif + TrgPeersModel *trg_peers_model_new() { diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index e080cc1..22d4efe 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -84,8 +84,13 @@ enum { void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, gint64 updateSerial, JsonObject * t, gboolean first); + +#if HAVE_GEOIP void trg_peers_model_add_city_column(TrgPeersModel *model); void trg_peers_model_add_country_column(TrgPeersModel *model); +gboolean trg_peers_model_has_city_db(TrgPeersModel *model); +gboolean trg_peers_model_has_country_db(TrgPeersModel *model); +#endif #endif /* TRG_PEERS_MODEL_H_ */ diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 7ed5645..9385d32 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -40,7 +40,11 @@ trg_peers_tree_view_class_init(TrgPeersTreeViewClass * klass G_GNUC_UNUSED) { } -static void trg_peers_tree_view_init(TrgPeersTreeView * self) +static void trg_peers_tree_view_init(TrgPeersTreeView * self) { + +} + +static void trg_peers_tree_view_setup_columns(TrgPeersTreeView * self, TrgPeersModel *model) { TrgTreeView *ttv = TRG_TREE_VIEW(self); trg_column_description *desc; @@ -54,11 +58,13 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) _("Host"), "host", 0); #ifdef HAVE_GEOIP - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, - _("Country"), "country", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CITY, - _("City"), "city", 0); + if (trg_peers_model_has_country_db(model)) + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, + _("Country"), "country", 0); + if (trg_peers_model_has_city_db(model)) + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CITY, + _("City"), "city", 0); #endif trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_DOWNSPEED, _("Down Speed"), "down-speed", 0); @@ -91,6 +97,8 @@ TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, "config-id", configId, "prefs", prefs, NULL); + trg_peers_tree_view_setup_columns(TRG_PEERS_TREE_VIEW(obj), model); + gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); trg_tree_view_restore_sort(TRG_TREE_VIEW(obj), 0x00); trg_tree_view_setup_columns(TRG_TREE_VIEW(obj)); -- cgit v1.2.3 From c193bdca42988cc7b01617a301d404c0d5af1d9b Mon Sep 17 00:00:00 2001 From: Alan F Date: Mon, 3 Feb 2014 15:43:20 +0000 Subject: allow GeoIPCity.dat instead of GeoLiteCity.dat, since some installs seem to use this --- src/trg-peers-model.c | 14 +++++++++++--- src/trg-peers-model.h | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 0137c9d..a3b7458 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -263,6 +263,7 @@ static void trg_peers_model_init(TrgPeersModel * self) gchar *geoip_db_path = NULL; gchar *geoip_v6_db_path = NULL; gchar *geoip_city_db_path = NULL; + gchar *geoip_city_alt_db_path = NULL; #endif GType column_types[PEERSCOL_COLUMNS]; @@ -289,10 +290,12 @@ static void trg_peers_model_init(TrgPeersModel * self) geoip_db_path = trg_win32_support_path("GeoIP.dat"); geoip_v6_db_path = trg_win32_support_path("GeoIPv6.dat"); geoip_city_db_path = trg_win32_support_path("GeoLiteCity.dat"); + geoip_city_alt_db_path = trg_win32_support_path("GeoIPCity.dat"); #else geoip_db_path = g_strdup(TRG_GEOIP_DATABASE); geoip_v6_db_path = g_strdup(TRG_GEOIPV6_DATABASE); geoip_city_db_path = g_strdup(TRG_GEOIP_CITY_DATABASE); + geoip_city_alt_db_path = g_strdup(TRG_GEOIP_CITY_ALT_DATABASE); #endif if (g_file_test(geoip_db_path, G_FILE_TEST_EXISTS) == TRUE) @@ -303,13 +306,18 @@ static void trg_peers_model_init(TrgPeersModel * self) priv->geoipv6 = GeoIP_open(geoip_v6_db_path, GEOIP_STANDARD | GEOIP_CHECK_CACHE); - if (g_file_test(geoip_city_db_path, G_FILE_TEST_EXISTS) == TRUE) { + if (g_file_test(geoip_city_db_path, G_FILE_TEST_EXISTS) == TRUE) priv->geoipcity = GeoIP_open(geoip_city_db_path, GEOIP_STANDARD | GEOIP_CHECK_CACHE); - GeoIP_set_charset(priv->geoipcity, GEOIP_CHARSET_UTF8); - } + else if (g_file_test(geoip_city_alt_db_path, G_FILE_TEST_EXISTS) == TRUE) + priv->geoipcity = GeoIP_open(geoip_city_alt_db_path, + GEOIP_STANDARD | GEOIP_CHECK_CACHE); + + if (priv->geoipcity) + GeoIP_set_charset(priv->geoipcity, GEOIP_CHARSET_UTF8); g_free(geoip_city_db_path); + g_free(geoip_city_alt_db_path); g_free(geoip_db_path); g_free(geoip_v6_db_path); #endif diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 22d4efe..4995ab0 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -97,3 +97,4 @@ gboolean trg_peers_model_has_country_db(TrgPeersModel *model); #define TRG_GEOIP_DATABASE "/usr/share/GeoIP/GeoIP.dat" #define TRG_GEOIPV6_DATABASE "/usr/share/GeoIP/GeoIPv6.dat" #define TRG_GEOIP_CITY_DATABASE "/usr/share/GeoIP/GeoLiteCity.dat" +#define TRG_GEOIP_CITY_ALT_DATABASE "/usr/share/GeoIP/GeoIPCity.dat" -- cgit v1.2.3 From 0646e115fd635e0b96739ea39e65c0ef78ffaa30 Mon Sep 17 00:00:00 2001 From: Patrick Griffis Date: Sat, 26 Dec 2015 20:25:45 -0500 Subject: Fix numerous warnings/errors --- configure.ac | 6 ++++-- src/json.c | 2 +- src/main.c | 4 ++-- src/remote-exec.c | 3 ++- src/torrent-cell-renderer.c | 12 ++++++------ src/trg-client.c | 14 ++------------ src/trg-destination-combo.c | 4 ++-- src/trg-files-model.c | 2 +- src/trg-files-tree-view-common.c | 16 ++++------------ src/trg-icons.c | 1 + src/trg-json-widgets.c | 10 ---------- src/trg-main-window.c | 4 ++-- src/trg-model.c | 3 ++- src/trg-peers-model.c | 4 ++-- src/trg-peers-model.h | 2 +- src/trg-preferences-dialog.c | 2 +- src/trg-prefs.c | 4 ++-- src/trg-state-selector.c | 4 ++-- src/trg-status-bar.h | 2 +- src/trg-toolbar.c | 2 +- src/trg-torrent-add-dialog.c | 5 ++--- src/trg-torrent-model.c | 4 ++-- src/trg-torrent-model.h | 2 +- src/util.c | 2 +- src/util.h | 2 +- 25 files changed, 46 insertions(+), 70 deletions(-) (limited to 'src/trg-peers-model.h') diff --git a/configure.ac b/configure.ac index 1804ec2..4146b89 100644 --- a/configure.ac +++ b/configure.ac @@ -126,20 +126,22 @@ AX_APPEND_COMPILE_FLAGS([ \ -fPIC \ -Wall \ -Wextra \ - -Wconversion \ -Winline \ -Wno-padded \ -Wno-unused-parameter \ -Wstrict-prototypes \ -Wmissing-prototypes \ + -Werror=format=2 \ -Werror=implicit-function-declaration \ -Werror=pointer-arith \ -Werror=init-self \ -Werror=format-security \ -Werror=missing-include-dirs \ -Werror=date-time \ + -Wno-conversion \ + -Wno-sign-compare \ ]) -dnl -Werror=format=2 \ +dnl TODO: Fix last two hidden warnings AC_CONFIG_FILES([ diff --git a/src/json.c b/src/json.c index fdce0b6..61dcb8f 100644 --- a/src/json.c +++ b/src/json.c @@ -100,7 +100,7 @@ gdouble json_double_to_progress(JsonNode * n) gdouble json_node_really_get_double(JsonNode * node) { - GValue a = { 0 }; + GValue a = G_VALUE_INIT; json_node_get_value(node, &a); switch (G_VALUE_TYPE(&a)) { diff --git a/src/main.c b/src/main.c index 4f5058e..fbf3a66 100644 --- a/src/main.c +++ b/src/main.c @@ -113,13 +113,13 @@ trg_simple_init(TrgClient * client, int argc, char *argv[], gchar ** args) /* Win32 mailslots. I've implemented this in win32-mailslot.c */ #if !WIN32 -static void trg_non_win32_init() +static void trg_non_win32_init(void) { bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); } #endif -static void trg_cleanup() +static void trg_cleanup(void) { curl_global_cleanup(); } diff --git a/src/remote-exec.c b/src/remote-exec.c index edf75f2..00e47fa 100644 --- a/src/remote-exec.c +++ b/src/remote-exec.c @@ -26,6 +26,7 @@ #include "trg-prefs.h" #include "protocol-constants.h" #include "torrent.h" +#include "remote-exec.h" /* A few functions used to build local commands, otherwise known as actions. * @@ -53,7 +54,7 @@ static const char json_exceptions[] = { 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, static gchar *dump_json_value(JsonNode * node) { - GValue value = { 0, }; + GValue value = G_VALUE_INIT; GString *buffer; buffer = g_string_new(""); diff --git a/src/torrent-cell-renderer.c b/src/torrent-cell-renderer.c index d8ea50b..632d418 100644 --- a/src/torrent-cell-renderer.c +++ b/src/torrent-cell-renderer.c @@ -322,16 +322,16 @@ static void getStatusString(GString * gstr, TorrentCellRenderer * r) if (priv->fileCount > 0) { g_string_append_printf(gstr, ngettext - ("Downloading from %1$lli of %2$lli connected peer", - "Downloading from %1$lli of %2$lli connected peers", + ("Downloading from %1$"G_GUINT64_FORMAT" of %2$"G_GUINT64_FORMAT" connected peer", + "Downloading from %1$"G_GUINT64_FORMAT" of %2$"G_GUINT64_FORMAT" connected peers", priv->webSeedsToUs + priv->peersToUs), priv->webSeedsToUs + priv->peersToUs, priv->webSeedsToUs + priv->connected); } else { g_string_append_printf(gstr, ngettext - ("Downloading metadata from %1$lli peer (%2$s done)", - "Downloading metadata from %1$lli peers (%2$s done)", + ("Downloading metadata from %1$"G_GUINT64_FORMAT" peer (%2$s done)", + "Downloading metadata from %1$"G_GUINT64_FORMAT" peers (%2$s done)", priv->connected + priv->webSeedsToUs), priv->connected + priv->webSeedsToUs, tr_strlpercent(buf, @@ -341,8 +341,8 @@ static void getStatusString(GString * gstr, TorrentCellRenderer * r) } else if (priv->flags & TORRENT_FLAG_SEEDING) { g_string_append_printf(gstr, ngettext - ("Seeding to %1$lli of %2$lli connected peer", - "Seeding to %1$lli of %2$lli connected peers", + ("Seeding to %1$"G_GUINT64_FORMAT" of %2$"G_GUINT64_FORMAT" connected peer", + "Seeding to %1$"G_GUINT64_FORMAT" of %2$"G_GUINT64_FORMAT" connected peers", priv->connected), priv->peersFromUs, priv->connected); } diff --git a/src/trg-client.c b/src/trg-client.c index d69ee24..5f6b6f9 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -490,7 +490,7 @@ header_callback(void *ptr, size_t size, size_t nmemb, void *data) return (nmemb * size); } -trg_tls *trg_tls_new(TrgClient * tc) +static trg_tls *trg_tls_new(TrgClient * tc) { trg_tls *tls = g_new0(trg_tls, 1); @@ -627,7 +627,7 @@ int trg_http_perform(TrgClient * tc, trg_request *request, trg_response * rsp) return trg_http_perform_inner(tc, request, rsp, TRUE); } -void trg_request_free(trg_request *req) { +static void trg_request_free(trg_request *req) { g_free(req->body); g_free(req->url); g_free(req->cookie); @@ -771,16 +771,6 @@ dispatch_async(TrgClient * tc, JsonNode * req, return dispatch_async_common(tc, trg_req, callback, data); } -gboolean -dispatch_async_str(TrgClient * tc, gchar * body, - GSourceFunc callback, gpointer data) -{ - trg_request *trg_req = g_new0(trg_request, 1); - trg_req->body = body; - - return dispatch_async_common(tc, trg_req, callback, data); -} - gboolean async_http_request(TrgClient *tc, gchar *url, const gchar *cookie, GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->url = g_strdup(url); diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c index f7fc2f0..2b5814e 100644 --- a/src/trg-destination-combo.c +++ b/src/trg-destination-combo.c @@ -147,7 +147,7 @@ gtk_combo_box_entry_active_changed(GtkComboBox * combo_box, (combo_box)); if (entry) { - GValue value = { 0, }; + GValue value = G_VALUE_INIT; guint type; model = gtk_combo_box_get_model(combo_box); @@ -205,7 +205,7 @@ struct findDupeArg { gboolean isDupe; }; -gboolean +static gboolean trg_destination_combo_insert_check_dupe_foreach(GtkTreeModel * model, GtkTreePath * path G_GNUC_UNUSED, diff --git a/src/trg-files-model.c b/src/trg-files-model.c index bb1b46b..ac1fa20 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -299,7 +299,7 @@ struct MinorUpdateData { JsonArray *wanted; }; -gboolean +static gboolean trg_files_model_update_foreach(GtkListStore * model, GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) diff --git a/src/trg-files-tree-view-common.c b/src/trg-files-tree-view-common.c index 4680d5f..b581959 100644 --- a/src/trg-files-tree-view-common.c +++ b/src/trg-files-tree-view-common.c @@ -62,31 +62,23 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event, gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); - menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_APPLY); - gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); - gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); - gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Download")); + menuitem = gtk_menu_item_new_with_label(_("Download")); g_signal_connect(menuitem, "activate", wanted_cb, treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_CANCEL); - gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE); - gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM - (menuitem), TRUE); - gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Skip")); + menuitem = gtk_menu_item_new_with_label(_("Skip")); g_signal_connect(menuitem, "activate", unwanted_cb, treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); - menuitem = gtk_image_menu_item_new_with_label(_("Expand All")); + menuitem = gtk_menu_item_new_with_label(_("Expand All")); g_signal_connect(menuitem, "activate", G_CALLBACK(expand_all_cb), treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - menuitem = gtk_image_menu_item_new_with_label(_("Collapse All")); + menuitem = gtk_menu_item_new_with_label(_("Collapse All")); g_signal_connect(menuitem, "activate", G_CALLBACK(collapse_all_cb), treeview); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); diff --git a/src/trg-icons.c b/src/trg-icons.c index efa45a7..ba36264 100644 --- a/src/trg-icons.c +++ b/src/trg-icons.c @@ -19,6 +19,7 @@ #include +#include "trg-icons.h" #include "icon-turtle.h" typedef struct { diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index abca7e1..0ba09f6 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -117,16 +117,6 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, return w; } -void -trg_json_widget_time_save(GtkWidget * widget, JsonObject * obj, - gchar * key) -{ - - json_object_set_double_member(obj, key, - gtk_spin_button_get_value(GTK_SPIN_BUTTON - (widget))); -} - GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj, const gchar * key, GtkWidget * toggleDep, gdouble min, diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 90da96c..65556ae 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -2539,9 +2539,9 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) { TrgMainWindowPrivate *priv = win->priv; #ifdef HAVE_LIBAPPINDICATOR - if (priv->appIndicator = + if ((priv->appIndicator = app_indicator_new(PACKAGE_NAME, PACKAGE_NAME, - APP_INDICATOR_CATEGORY_APPLICATION_STATUS)) + APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) { app_indicator_set_status(priv->appIndicator, APP_INDICATOR_STATUS_ACTIVE); diff --git a/src/trg-model.c b/src/trg-model.c index fa67d08..2e1ae28 100644 --- a/src/trg-model.c +++ b/src/trg-model.c @@ -20,6 +20,7 @@ #include #include #include +#include "trg-model.h" /* An extension of GtkListStore which provides some functions for looking up * an entry by ID. Also for removing entries which have an old update serial, @@ -32,7 +33,7 @@ struct trg_model_remove_removed_foreachfunc_args { GList *toRemove; }; -gboolean +static gboolean trg_model_remove_removed_foreachfunc(GtkTreeModel * model, GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index f46a083..d8e42ed 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -59,7 +59,7 @@ static void trg_peers_model_class_init(TrgPeersModelClass * #endif } -gboolean +static gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, GtkTreePath * path G_GNUC_UNUSED, @@ -80,7 +80,7 @@ find_existing_peer_item_foreachfunc(GtkTreeModel * model, return pi->found; } -gboolean +static gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, GtkTreeIter * iter) { diff --git a/src/trg-peers-model.h b/src/trg-peers-model.h index 4995ab0..8d6b76c 100644 --- a/src/trg-peers-model.h +++ b/src/trg-peers-model.h @@ -56,7 +56,7 @@ typedef struct { GType trg_peers_model_get_type(void); -TrgPeersModel *trg_peers_model_new(); +TrgPeersModel *trg_peers_model_new(void); G_END_DECLS struct peerAndIter { const gchar *ip; diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 71090d5..a58bd67 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -859,7 +859,7 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) NULL); hig_workarea_add_wide_control(t, &row, w); w = trgp_check_new(dlg, _("Validate SSL Certificate"), TRG_PREFS_KEY_SSL_VALIDATE, TRG_PREFS_PROFILE, - w); + GTK_TOGGLE_BUTTON(w)); hig_workarea_add_wide_control(t, &row, w); #endif diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 811c575..643e2a1 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -172,7 +172,7 @@ TrgPrefs *trg_prefs_new(void) return g_object_new(TRG_TYPE_PREFS, NULL); } -static JsonObject *trg_prefs_new_profile_object() +static JsonObject *trg_prefs_new_profile_object(void) { return json_object_new(); } @@ -493,7 +493,7 @@ JsonObject *trg_prefs_get_root(TrgPrefs * p) return priv->userObj; } -void trg_prefs_empty_init(TrgPrefs * p) +static void trg_prefs_empty_init(TrgPrefs * p) { TrgPrefsPrivate *priv = p->priv; JsonArray *profiles = json_array_new(); diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index cee0c56..919078c 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -163,7 +163,7 @@ trg_state_selector_update_dynamic_filter(GtkTreeModel * model, GtkTreeIter iter; GtkTreePath *path = gtk_tree_row_reference_get_path(rr); gint64 oldSerial; - GValue gvalue = { 0 }; + GValue gvalue = G_VALUE_INIT; gint oldCount; gtk_tree_model_get_iter(model, &iter, path); @@ -511,7 +511,7 @@ static void trg_state_selector_update_stat(GtkTreeRowReference * rr, gint count) { if (rr) { - GValue gvalue = { 0 }; + GValue gvalue = G_VALUE_INIT; GtkTreeIter iter; GtkTreePath *path = gtk_tree_row_reference_get_path(rr); GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h index b4942ee..a5edfe8 100644 --- a/src/trg-status-bar.h +++ b/src/trg-status-bar.h @@ -47,7 +47,7 @@ typedef struct { GType trg_status_bar_get_type(void); -TrgStatusBar *trg_status_bar_new(); +TrgStatusBar *trg_status_bar_new(TrgMainWindow * win, TrgClient * client); G_END_DECLS void trg_status_bar_update(TrgStatusBar * sb, diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index 8d9ae1f..9764a2e 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -143,7 +143,7 @@ trg_toolbar_install_widget_prop(GObjectClass * class, guint propId, G_PARAM_STATIC_BLURB)); } -GtkWidget *trg_toolbar_item_new(TrgToolbar * toolbar, +static GtkWidget *trg_toolbar_item_new(TrgToolbar * toolbar, gchar * text, int *index, gchar * icon, gboolean sensitive) diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index 9058757..37e4da0 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -238,7 +238,7 @@ onViewButtonPressed(GtkWidget * w, GdkEventButton * event, gpointer gdata) (set_unwanted), gdata); } -GtkWidget *gtr_file_list_new(GtkTreeStore ** store) +static GtkWidget *gtr_file_list_new(GtkTreeStore ** store) { int size; int width; @@ -256,7 +256,6 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) /* create the view */ view = gtk_tree_view_new(); tree_view = GTK_TREE_VIEW(view); - gtk_tree_view_set_rules_hint(tree_view, TRUE); gtk_container_set_border_width(GTK_CONTAINER(view), GUI_PAD_BIG); g_signal_connect(view, "button-press-event", G_CALLBACK(onViewButtonPressed), view); @@ -374,7 +373,7 @@ static void gtr_dialog_set_content(GtkDialog * dialog, GtkWidget * content) gtk_widget_show_all(content); } -GtkWidget *gtr_priority_combo_new(void) +static GtkWidget *gtr_priority_combo_new(void) { return gtr_combo_box_new_enum(_("Low"), TR_PRI_LOW, _("Normal"), TR_PRI_NORMAL, _("High"), TR_PRI_HIGH, diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index 676ed0e..232ea25 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -671,7 +671,7 @@ GHashTable *get_torrent_table(TrgTorrentModel * model) return priv->ht; } -gboolean +static gboolean trg_model_find_removed_foreachfunc(GtkTreeModel * model, GtkTreePath * path G_GNUC_UNUSED, @@ -692,7 +692,7 @@ trg_model_find_removed_foreachfunc(GtkTreeModel * model, return FALSE; } -GList *trg_torrent_model_find_removed(GtkTreeModel * model, +static GList *trg_torrent_model_find_removed(GtkTreeModel * model, gint64 currentSerial) { struct TrgModelRemoveData args; diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h index 078afe8..4f17a8c 100644 --- a/src/trg-torrent-model.h +++ b/src/trg-torrent-model.h @@ -74,7 +74,7 @@ typedef struct { GType trg_torrent_model_get_type(void); -TrgTorrentModel *trg_torrent_model_new(); +TrgTorrentModel *trg_torrent_model_new(void); G_END_DECLS gboolean diff --git a/src/util.c b/src/util.c index 8dcbb65..3e13108 100644 --- a/src/util.c +++ b/src/util.c @@ -640,7 +640,7 @@ gchar *trg_win32_support_path(gchar * file) } #endif -gboolean is_unity() +gboolean is_unity(void) { return g_strcmp0(g_getenv("XDG_CURRENT_DESKTOP"), "Unity") == 0; } diff --git a/src/util.h b/src/util.h index 8134952..e7f4c07 100644 --- a/src/util.h +++ b/src/util.h @@ -98,7 +98,7 @@ gboolean should_be_minimised(int argc, char *argv[]); gboolean is_minimised_arg(const gchar * arg); GtkWidget *trg_vbox_new(gboolean homogeneous, gint spacing); GtkWidget *trg_hbox_new(gboolean homogeneous, gint spacing); -gboolean is_unity(); +gboolean is_unity(void); #ifdef WIN32 gchar *trg_win32_support_path(gchar * file); -- cgit v1.2.3