- bool m_editing;
- Callback m_apply;
- Callback m_cancel;
-
- static gboolean focus_in(GtkEntry* entry, GdkEventFocus *event, NonModalEntry* self)
- {
- self->m_editing = false;
- return FALSE;
- }
-
- static gboolean focus_out(GtkEntry* entry, GdkEventFocus *event, NonModalEntry* self)
- {
- if(self->m_editing && GTK_WIDGET_VISIBLE(entry))
- {
- self->m_apply();
- }
- self->m_editing = false;
- return FALSE;
- }
-
- static gboolean changed(GtkEntry* entry, NonModalEntry* self)
- {
- self->m_editing = true;
- return FALSE;
- }
-
- static gboolean enter(GtkEntry* entry, GdkEventKey* event, NonModalEntry* self)
- {
- if(event->keyval == GDK_Return)
- {
- self->m_apply();
- self->m_editing = false;
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(entry))), NULL);
- return TRUE;
- }
- return FALSE;
- }
-
- static gboolean escape(GtkEntry* entry, GdkEventKey* event, NonModalEntry* self)
- {
- if(event->keyval == GDK_Escape)
- {
- self->m_cancel();
- self->m_editing = false;
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(entry))), NULL);
- return TRUE;
- }
- return FALSE;
- }
+bool m_editing;
+Callback m_apply;
+Callback m_cancel;
+
+static gboolean focus_in( GtkEntry* entry, GdkEventFocus *event, NonModalEntry* self ){
+ self->m_editing = false;
+ return FALSE;
+}
+
+static gboolean focus_out( GtkEntry* entry, GdkEventFocus *event, NonModalEntry* self ){
+ if ( self->m_editing && GTK_WIDGET_VISIBLE( entry ) ) {
+ self->m_apply();
+ }
+ self->m_editing = false;
+ return FALSE;
+}
+
+static gboolean changed( GtkEntry* entry, NonModalEntry* self ){
+ self->m_editing = true;
+ return FALSE;
+}
+
+static gboolean enter( GtkEntry* entry, GdkEventKey* event, NonModalEntry* self ){
+ if ( event->keyval == GDK_Return ) {
+ self->m_apply();
+ self->m_editing = false;
+ gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( entry ) ) ), NULL );
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean escape( GtkEntry* entry, GdkEventKey* event, NonModalEntry* self ){
+ if ( event->keyval == GDK_Escape ) {
+ self->m_cancel();
+ self->m_editing = false;
+ gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( entry ) ) ), NULL );
+ return TRUE;
+ }
+ return FALSE;
+}