static GtkActionEntry apply_popup_actions[] =
{
- { "EditTags", NULL, "EditTags" },
+ { "EditTags", NULL, "EditTags", NULL, NULL, NULL },
{ "EditTags/Delete", NULL, N_("_Delete"), NULL, "Delete tag", G_CALLBACK(apply_popup_delete) },
{ "EditTags/DeleteAll", NULL, N_("Delete _all"), NULL, "Delete all tags", G_CALLBACK(apply_popup_delete_all) }
};
return FALSE;
}
+/*!
+ *\brief Save Gtk object size to prefs dataset
+ */
+static void apply_window_size_allocate_cb(GtkWidget *widget,
+ GtkAllocation *allocation)
+{
+ cm_return_if_fail(allocation != NULL);
+
+ prefs_common.tagswin_width = allocation->width;
+ prefs_common.tagswin_height = allocation->height;
+}
+
static void apply_window_create(void)
{
GtkWidget *window;
GtkWidget *new_tag_entry;
GtkWidget *add_btn;
GtkWidget *del_btn;
+ static GdkGeometry geometry;
window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "tag_apply_window");
gtk_window_set_title (GTK_WINDOW(window),
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_resizable(GTK_WINDOW (window), TRUE);
+ gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
g_signal_connect(G_OBJECT(window), "delete_event",
G_CALLBACK(apply_window_close_cb), NULL);
+ g_signal_connect(G_OBJECT(window), "size_allocate",
+ G_CALLBACK(apply_window_size_allocate_cb), NULL);
g_signal_connect(G_OBJECT(window), "key_press_event",
G_CALLBACK(apply_window_key_pressed), NULL);
MANAGE_WINDOW_SIGNALS_CONNECT (window);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin),
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
- gtk_widget_set_size_request(scrolledwin, 500, 250);
-
gtk_container_add(GTK_CONTAINER(scrolledwin), taglist);
gtk_box_pack_start(GTK_BOX(vbox1), scrolledwin, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox1), hbox1, FALSE, FALSE, 0);
gtk_widget_show(close_btn);
gtk_container_add(GTK_CONTAINER (window), vbox1);
+ if (!geometry.min_height) {
+ geometry.min_width = 500;
+ geometry.min_height = 250;
+ }
+
+ gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, &geometry,
+ GDK_HINT_MIN_SIZE);
+ gtk_widget_set_size_request(window, prefs_common.tagswin_width,
+ prefs_common.tagswin_height);
+
applywindow.window = window;
applywindow.hbox1 = hbox1;
applywindow.vbox1 = vbox1;