summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am2
-rw-r--r--src/torrent.h1
-rw-r--r--src/trg-general-panel.c43
-rw-r--r--src/trg-general-panel.h4
-rw-r--r--src/trg-main-window.c4
5 files changed, 38 insertions, 16 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 48550a6..4527e0c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,7 +23,7 @@ schemadir = @GCONF_SCHEMA_FILE_DIR@
schema_DATA = transmission-remote-gtk.schemas
bin_PROGRAMS = transmission-remote-gtk
-CFLAGS = --pedantic -Wall -I.. -O2 -DTRGLOCALEDIR=\""$(trglocaledir)"\" $(jsonglib_CFLAGS) $(gthread_CFLAGS) $(gtk_CFLAGS) $(gconf_CFLAGS) $(gio_CFLAGS) $(unique_CFLAGS) $(notify_CFLAGS)
+INCLUDES = --pedantic -Wall -I.. -O2 -DTRGLOCALEDIR=\""$(trglocaledir)"\" $(jsonglib_CFLAGS) $(gthread_CFLAGS) $(gtk_CFLAGS) $(gconf_CFLAGS) $(gio_CFLAGS) $(unique_CFLAGS) $(notify_CFLAGS)
transmission_remote_gtk_SOURCES = main.c \
requests.c \
diff --git a/src/torrent.h b/src/torrent.h
index e76fccc..16102e4 100644
--- a/src/torrent.h
+++ b/src/torrent.h
@@ -30,6 +30,7 @@
#define TORRENT_FLAG_WAITING_CHECK (1 << 5) /* 0x16 */
#define TORRENT_FLAG_DOWNLOADING (1 << 6) /* 0x32 */
#define TORRENT_FLAG_PAUSED (1 << 7) /* 0x64 */
+#define FILTER_FLAG_TRACKER (1 << 8) /* 0x128 */
gint64 torrent_get_size(JsonObject * t);
const gchar *torrent_get_name(JsonObject * t);
diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c
index c0165fd..bed2815 100644
--- a/src/trg-general-panel.c
+++ b/src/trg-general-panel.c
@@ -27,12 +27,15 @@
#include "trg-general-panel.h"
#include "trg-torrent-model.h"
+#define TRG_GENERAL_PANEL_COLUMNS 3
+#define TRG_GENERAL_PANEL_COLUMNS_TOTAL 6
+
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 * fixed,
- char *key, int col, int row);
+static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * gp,
+ char *key, guint col, guint row);
-G_DEFINE_TYPE(TrgGeneralPanel, trg_general_panel, GTK_TYPE_FIXED)
+G_DEFINE_TYPE(TrgGeneralPanel, trg_general_panel, GTK_TYPE_TABLE)
#define TRG_GENERAL_PANEL_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_GENERAL_PANEL, TrgGeneralPanelPrivate))
typedef struct _TrgGeneralPanelPrivate TrgGeneralPanelPrivate;
@@ -179,36 +182,51 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t,
gtk_label_set_text(GTK_LABEL(priv->gen_leechers_label), buf);
}
-static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel * fixed,
- char *key, int col, int row)
+static GtkLabel *trg_general_panel_add_label_with_width(TrgGeneralPanel *gp,
+ char *key, guint col, guint row, gint width)
{
GtkWidget *keyLabel;
GtkWidget *value;
+ GtkWidget *alignment;
gchar *keyMarkup;
+ int startCol = (col == 0) ? 0 : col*2;
+ alignment = gtk_alignment_new(0, 0, 0, 0);
keyLabel = gtk_label_new(NULL);
keyMarkup =
g_markup_printf_escaped(strlen(key) > 0 ? "<b>%s:</b>" : "", key);
gtk_label_set_markup(GTK_LABEL(keyLabel), keyMarkup);
g_free(keyMarkup);
- gtk_fixed_put(GTK_FIXED(fixed), keyLabel, 10 + (col * 280),
- 10 + (row * 22));
+ gtk_container_add(GTK_CONTAINER(alignment), keyLabel);
+ gtk_table_attach(GTK_TABLE(gp), alignment, startCol, startCol+1, row, row+1, GTK_FILL, 0, 2, 2);
+ alignment = gtk_alignment_new(0, 0, 0, 0);
value = gtk_label_new(NULL);
- gtk_label_set_selectable(GTK_LABEL(value), TRUE);
- gtk_fixed_put(GTK_FIXED(fixed), value, 120 + (col * 300),
- 10 + (row * 22));
g_object_set_data(G_OBJECT(value), "key-label", keyLabel);
+ 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, 2, 2);
return GTK_LABEL(value);
}
+static GtkLabel *trg_general_panel_add_label(TrgGeneralPanel *gp,
+ char *key, guint col, guint row)
+{
+ return trg_general_panel_add_label_with_width(gp, key, col, row, 1);
+}
+
static void trg_general_panel_init(TrgGeneralPanel * self)
{
TrgGeneralPanelPrivate *priv = TRG_GENERAL_PANEL_GET_PRIVATE(self);
+ int i;
+
+ g_object_set(G_OBJECT(self), "n-columns", TRG_GENERAL_PANEL_COLUMNS_TOTAL,
+ "n-rows", 7,
+ NULL);
priv->gen_name_label =
- trg_general_panel_add_label(self, _("Name"), 0, 0);
+ 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);
@@ -241,6 +259,9 @@ static void trg_general_panel_init(TrgGeneralPanel * self)
priv->gen_error_label = trg_general_panel_add_label(self, "", 0, 6);
+ for (i = 0; i < TRG_GENERAL_PANEL_COLUMNS_TOTAL; i++)
+ gtk_table_set_col_spacing(GTK_TABLE(self), i, i % 2 == 0 ? 20 : 40);
+
gtk_widget_set_sensitive(GTK_WIDGET(self), FALSE);
}
diff --git a/src/trg-general-panel.h b/src/trg-general-panel.h
index ef20ffd..0f49088 100644
--- a/src/trg-general-panel.h
+++ b/src/trg-general-panel.h
@@ -40,11 +40,11 @@ G_BEGIN_DECLS
#define TRG_GENERAL_PANEL_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_GENERAL_PANEL, TrgGeneralPanelClass))
typedef struct {
- GtkFixed parent;
+ GtkTable parent;
} TrgGeneralPanel;
typedef struct {
- GtkFixedClass parent_class;
+ GtkTableClass parent_class;
} TrgGeneralPanelClass;
GType trg_general_panel_get_type(void);
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 8efe06c..4610b87 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -796,7 +796,7 @@ GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win)
gboolean show_graph;
GError *error = NULL;
- gtk_widget_set_size_request(notebook, -1, 190);
+ gtk_widget_set_size_request(notebook, -1, 175);
priv->genDetails = trg_general_panel_new(priv->sortedTorrentModel);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
@@ -1052,7 +1052,7 @@ trg_torrent_tree_view_visible_func(GtkTreeModel * model,
gchar *filterTextFolded = g_utf8_casefold(filterText, -1);
gchar *nameFolded = g_utf8_casefold(name, -1);
- if (!strstr(nameFolded, filterTextFolded))
+ if (strstr(nameFolded, filterTextFolded))
visible = FALSE;
g_free(filterTextFolded);