summaryrefslogtreecommitdiff
path: root/ui/gtk
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2013-01-23 19:04:36 +0000
committerGerald Combs <gerald@wireshark.org>2013-01-23 19:04:36 +0000
commit21e66f0c6f38d20dc4ac3968324fff0959113b14 (patch)
treee801135c51e407d67516e1969c1ef788af48292e /ui/gtk
parentd59e9cf574976b1e9849f5c35be1fd2abdf8ed6d (diff)
downloadwireshark-21e66f0c6f38d20dc4ac3968324fff0959113b14.tar.gz
Add column preferences.
svn path=/trunk/; revision=47231
Diffstat (limited to 'ui/gtk')
-rw-r--r--ui/gtk/packet_list.c2
-rw-r--r--ui/gtk/prefs_column.c58
-rw-r--r--ui/gtk/prefs_column.h16
3 files changed, 5 insertions, 71 deletions
diff --git a/ui/gtk/packet_list.c b/ui/gtk/packet_list.c
index 45bd85af89..477c2b55ac 100644
--- a/ui/gtk/packet_list.c
+++ b/ui/gtk/packet_list.c
@@ -597,7 +597,7 @@ packet_list_set_all_columns_visible (void)
static void
packet_list_remove_column (gint col_id, GtkTreeViewColumn *col _U_)
{
- column_prefs_remove(col_id);
+ column_prefs_remove_nth(col_id);
if (!prefs.gui_use_pref_save) {
prefs_main_write();
diff --git a/ui/gtk/prefs_column.c b/ui/gtk/prefs_column.c
index 3c2b868f29..3e0504b133 100644
--- a/ui/gtk/prefs_column.c
+++ b/ui/gtk/prefs_column.c
@@ -33,7 +33,9 @@
#include <epan/column.h>
#include <epan/strutil.h>
-#include "../globals.h"
+#include "globals.h"
+
+#include "ui/preference_utils.h"
#include "ui/gtk/prefs_column.h"
#include "ui/gtk/gtkglobals.h"
@@ -333,52 +335,6 @@ column_prefs_show(GtkWidget *prefs_window) {
return(main_vb);
}
-void
-column_prefs_add_custom(gint fmt, const gchar *title, const gchar *custom_field, gint custom_occurrence)
-{
- GList *clp;
- fmt_data *cfmt, *last_cfmt;
-
- cfmt = (fmt_data *) g_malloc(sizeof(fmt_data));
- /*
- * Because a single underscore is interpreted as a signal that the next character
- * is going to be marked as accelerator for this header (i.e. is going to be
- * shown underlined), escape it be inserting a second consecutive underscore.
- */
- cfmt->title = g_strdup(title);
- cfmt->fmt = fmt;
- cfmt->custom_field = g_strdup(custom_field);
- cfmt->custom_occurrence = custom_occurrence;
- cfmt->resolved = TRUE;
-
- if (custom_field) {
- cfmt->visible = TRUE;
- clp = g_list_last(prefs.col_list);
- last_cfmt = (fmt_data *) clp->data;
- if (last_cfmt->fmt == COL_INFO) {
- /* Last column is COL_INFO, add custom column before this */
- prefs.col_list = g_list_insert(prefs.col_list, cfmt, g_list_length(prefs.col_list)-1);
- } else {
- prefs.col_list = g_list_append(prefs.col_list, cfmt);
- }
- } else {
- cfmt->visible = FALSE; /* Will be set to TRUE in visible_toggled() when added to list */
- prefs.col_list = g_list_append(prefs.col_list, cfmt);
- }
-}
-
-void
-column_prefs_remove(gint col)
-{
- GList *clp = g_list_nth(prefs.col_list, col);
- fmt_data *cfmt = (fmt_data *) clp->data;
-
- g_free(cfmt->title);
- g_free(cfmt->custom_field);
- g_free(cfmt);
- prefs.col_list = g_list_remove_link(prefs.col_list, clp);
-}
-
/* To do: add input checking to each of these callbacks */
static void
@@ -424,7 +380,6 @@ static void
column_list_delete_cb(GtkWidget *w _U_, gpointer data) {
GtkTreeView *column_l = GTK_TREE_VIEW(data);
GList *clp;
- fmt_data *cfmt;
GtkTreeSelection *sel;
GtkTreeModel *model;
GtkTreeIter iter;
@@ -434,12 +389,7 @@ column_list_delete_cb(GtkWidget *w _U_, gpointer data) {
if (gtk_tree_selection_get_selected(sel, &model, &iter))
{
gtk_tree_model_get(model, &iter, DATA_COLUMN, &clp, -1);
-
- cfmt = (fmt_data *) clp->data;
- g_free(cfmt->title);
- g_free(cfmt->custom_field);
- g_free(cfmt);
- prefs.col_list = g_list_remove_link(prefs.col_list, clp);
+ column_prefs_remove_link(clp);
/* Change the row selection to the next row (if available) or */
/* the previous row (if available). If there's only one row */
diff --git a/ui/gtk/prefs_column.h b/ui/gtk/prefs_column.h
index ac19239cc6..7011463a8e 100644
--- a/ui/gtk/prefs_column.h
+++ b/ui/gtk/prefs_column.h
@@ -55,20 +55,4 @@ void column_prefs_apply(GtkWidget *widget);
*/
void column_prefs_destroy(GtkWidget *widget);
-/** Add a custom column.
- *
- * @param fmt column format
- * @param title column title
- * @param custom_field column custom field
- */
-void column_prefs_add_custom(gint fmt, const gchar *title,
- const gchar *custom_field,
- gint custom_occurrence);
-
-/** Remove a column.
- *
- * @param col column id
- */
-void column_prefs_remove(gint col);
-
#endif