+static struct progress_window *pw;
+static event_handle properties_event;
+
+static void propagate_clicked(GtkButton attribute((unused)) *button,
+ gpointer userdata) {
+ struct prefdata *f = (struct prefdata *)userdata, *g;
+ int p;
+ const char *value = f->p->type->get_edited(f);
+
+ for(p = 0; p < prefs_total; ++p) {
+ g = &prefdatas[p];
+ if(f->p == g->p && f != g)
+ g->p->type->set_edited(g, value);
+ }
+}
+
+/** @brief Keypress handler */
+static gboolean properties_keypress(GtkWidget attribute((unused)) *widget,
+ GdkEventKey *event,
+ gpointer attribute((unused)) user_data) {
+ if(event->state)
+ return FALSE;
+ switch(event->keyval) {
+ case GDK_Return:
+ properties_ok(0, 0);
+ return TRUE;
+ case GDK_Escape:
+ properties_cancel(0, 0);
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}