- if (!editing_id) {
- return true;
- }
-
- bool commit_change = false;
-
- CairoCell* cell = get_cell (editing_id);
-
- if (!cell) {
- return true;
- }
-
- CairoTextCell* text_cell = dynamic_cast<CairoTextCell*> (cell);
-
- if (!text_cell) {
- return true;
- }
-
- string txt = text_cell->get_text ();
-
- switch (ev->keyval) {
- case GDK_Tab:
- queue_draw_cell (cell);
- edit_next_cell ();
- break;
-
- case GDK_0:
- case GDK_KP_0:
- txt[editing_pos] = '0';
- commit_change = true;
- break;
- case GDK_1:
- case GDK_KP_1:
- txt[editing_pos] = '1';
- commit_change = true;
- break;
- case GDK_2:
- case GDK_KP_2:
- txt[editing_pos] = '2';
- commit_change = true;
- break;
- case GDK_3:
- case GDK_KP_3:
- txt[editing_pos] = '3';
- commit_change = true;
- break;
- case GDK_4:
- case GDK_KP_4:
- txt[editing_pos] = '4';
- commit_change = true;
- break;
- case GDK_5:
- case GDK_KP_5:
- txt[editing_pos] = '5';
- commit_change = true;
- break;
- case GDK_6:
- case GDK_KP_6:
- txt[editing_pos] = '6';
- commit_change = true;
- break;
- case GDK_7:
- case GDK_KP_7:
- txt[editing_pos] = '7';
- commit_change = true;
- break;
- case GDK_8:
- case GDK_KP_8:
- txt[editing_pos] = '8';
- commit_change = true;
- break;
- case GDK_9:
- case GDK_KP_9:
- txt[editing_pos] = '9';
- commit_change = true;
- break;
-
- case GDK_Right:
- if (editing_pos < text_cell->width_chars() - 1) {
- editing_pos++;
- }
- break;
-
- case GDK_Left:
- if (editing_pos > 0) {
- editing_pos--;
- }
- break;
-
- default:
- break;
- }
-
- if (commit_change) {
- set_text (text_cell, txt);
-
- if (++editing_pos >= text_cell->width_chars()) {
- edit_next_cell ();
- }
- }
-
-
- return true;
+ if (!editing_id) {
+ return true;
+ }
+
+ bool commit_change = false;
+
+ CairoCell* cell = get_cell (editing_id);
+
+ if (!cell) {
+ return true;
+ }
+
+ CairoTextCell* text_cell = dynamic_cast<CairoTextCell*> (cell);
+
+ if (!text_cell) {
+ return true;
+ }
+
+ string txt = text_cell->get_text ();
+
+ switch (ev->keyval) {
+ case GDK_Tab:
+ queue_draw_cell (cell);
+ edit_next_cell ();
+ break;
+
+ case GDK_0:
+ case GDK_KP_0:
+ txt[editing_pos] = '0';
+ commit_change = true;
+ break;
+ case GDK_1:
+ case GDK_KP_1:
+ txt[editing_pos] = '1';
+ commit_change = true;
+ break;
+ case GDK_2:
+ case GDK_KP_2:
+ txt[editing_pos] = '2';
+ commit_change = true;
+ break;
+ case GDK_3:
+ case GDK_KP_3:
+ txt[editing_pos] = '3';
+ commit_change = true;
+ break;
+ case GDK_4:
+ case GDK_KP_4:
+ txt[editing_pos] = '4';
+ commit_change = true;
+ break;
+ case GDK_5:
+ case GDK_KP_5:
+ txt[editing_pos] = '5';
+ commit_change = true;
+ break;
+ case GDK_6:
+ case GDK_KP_6:
+ txt[editing_pos] = '6';
+ commit_change = true;
+ break;
+ case GDK_7:
+ case GDK_KP_7:
+ txt[editing_pos] = '7';
+ commit_change = true;
+ break;
+ case GDK_8:
+ case GDK_KP_8:
+ txt[editing_pos] = '8';
+ commit_change = true;
+ break;
+ case GDK_9:
+ case GDK_KP_9:
+ txt[editing_pos] = '9';
+ commit_change = true;
+ break;
+
+ case GDK_Right:
+ if (editing_pos < text_cell->width_chars() - 1) {
+ editing_pos++;
+ }
+ break;
+
+ case GDK_Left:
+ if (editing_pos > 0) {
+ editing_pos--;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ if (commit_change) {
+ set_text (text_cell, txt);
+
+ if (++editing_pos >= text_cell->width_chars()) {
+ edit_next_cell ();
+ }
+ }
+
+
+ return true;