{"/<separator>", NULL, NULL, 0, "<Separator>", NULL,},
- {"/Default Alignment", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_ALIGN_DEFAULT, NULL, NULL,},
{"/Align Left", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_ALIGN_LEFT, "<StockItem>", GTK_STOCK_JUSTIFY_LEFT,},
{"/Align Center", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_ALIGN_CENTER, "<StockItem>", GTK_STOCK_JUSTIFY_CENTER,},
{"/Align Right", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_ALIGN_RIGHT, "<StockItem>", GTK_STOCK_JUSTIFY_RIGHT,},
}
+void
+menus_set_column_align_default (gboolean right_justify)
+{
+ GtkWidget *submenu, *menu_item_child;
+ GList *child_list, *child_list_item;
+ const gchar *menu_item_name;
+ gint menu_item_len;
+
+ /* get the submenu container item */
+ submenu = packet_list_heading_factory->widget;
+
+ /* find the corresponding menu items to update */
+ child_list = gtk_container_get_children(GTK_CONTAINER(submenu));
+ child_list_item = child_list;
+ while(child_list_item) {
+ menu_item_child = (GTK_BIN(child_list_item->data))->child;
+ if (menu_item_child != NULL) {
+ menu_item_name = gtk_label_get_text(GTK_LABEL(menu_item_child));
+ menu_item_len = strlen (menu_item_name);
+ if(strncmp(menu_item_name, "Align Left", 10) == 0) {
+ if (!right_justify && menu_item_len == 10) {
+ gtk_label_set_text(GTK_LABEL(menu_item_child), "Align Left\t(default)");
+ } else if (right_justify && menu_item_len > 10) {
+ gtk_label_set_text(GTK_LABEL(menu_item_child), "Align Left");
+ }
+ } else if (strncmp (menu_item_name, "Align Right", 11) == 0) {
+ if (right_justify && menu_item_len == 11) {
+ gtk_label_set_text(GTK_LABEL(menu_item_child), "Align Right\t(default)");
+ } else if (!right_justify && menu_item_len > 11) {
+ gtk_label_set_text(GTK_LABEL(menu_item_child), "Align Right");
+ }
+ }
+ }
+ child_list_item = g_list_next(child_list_item);
+ }
+ g_list_free(child_list);
+}
+
void
set_menus_for_selected_tree_row(capture_file *cf)
{
}
static gdouble
-get_xalign_value (gchar xalign, gint col_id)
+get_xalign_value (gchar xalign, gboolean right_justify)
{
double value;
break;
case COLUMN_XALIGN_DEFAULT:
default:
- if (right_justify_column (col_id)) {
+ if (right_justify) {
value = 1.0f;
} else {
value = 0.0f;
#else
GList *renderers = gtk_tree_view_column_get_cell_renderers (col);
#endif
- gdouble value = get_xalign_value (xalign, col_id);
+ gboolean right_justify = right_justify_column(col_id);
+ gdouble value = get_xalign_value (xalign, right_justify);
GList *entry;
GtkCellRenderer *renderer;
}
g_list_free (renderers);
+ if ((xalign == COLUMN_XALIGN_LEFT && !right_justify) ||
+ (xalign == COLUMN_XALIGN_RIGHT && right_justify)) {
+ /* Default value selected, save default in the recent settings */
+ xalign = COLUMN_XALIGN_DEFAULT;
+ }
+
recent_set_column_xalign (col_id, xalign);
gtk_widget_queue_draw (packetlist->view);
}
{
GtkWidget *col = (GtkWidget *) data;
GtkWidget *menu = g_object_get_data(G_OBJECT(popup_menu_object), PM_PACKET_LIST_COL_KEY);
+ gint col_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(col), E_MPACKET_LIST_COL_KEY));
+ gboolean right_justify = right_justify_column (col_id);
+ menus_set_column_align_default (right_justify);
g_object_set_data(G_OBJECT(packetlist->view), E_MPACKET_LIST_COLUMN_KEY, col);
popup_menu_handler (widget, event, menu);
}
gint i, col_width;
gchar xalign;
gdouble value;
+ gboolean right_justify;
GtkWidget *title_lb;
gchar *tooltip_text;
header_field_info *hfi;
xalign = recent_get_column_xalign(i);
col = gtk_tree_view_column_new();
gtk_tree_view_column_pack_start(col, renderer, TRUE);
+ right_justify = right_justify_column (i);
if (xalign != COLUMN_XALIGN_DEFAULT) {
- value = get_xalign_value(xalign, i);
+ value = get_xalign_value(xalign, right_justify);
g_object_set(G_OBJECT(renderer), "xalign", value, NULL);
- } else if (right_justify_column (i)) {
+ } else if (right_justify) {
g_object_set(G_OBJECT(renderer),
"xalign",
1.0,