int main(void) { char c; int count; int padding; count = 0; while((c = getchar()) != EOF) { if (c == '\t') { padding = TABSTOP - count % TABSTOP; tab_expand(padding); count += padding; } else if (c == '\n') { count = 0; putchar('\n'); } else { count++; putchar(c); } } return(0); }
bool EnterEdit::event(QEvent* event) { if (event->type() != QEvent::KeyPress) return QWidget::event(event); QKeyEvent* e = (QKeyEvent*)event; int key = e->key(); int cmd = 0; bool ctrl = e->modifiers() & Qt::ControlModifier; if (ctrl) { switch(key) { case Qt::Key_M: cmd = CMD_MAN; break; case Qt::Key_V: cmd = CMD_ENTER_KOLLAPS; break; case Qt::Key_F: cmd = CMD_FUNCTION; break; case Qt::Key_G: cmd = CMD_GOTO; break; case Qt::Key_K: cmd = CMD_SHELL; break; case Qt::Key_S: // cursorLeft(false, 1); break; case Qt::Key_D: // cursorRight(false, 1); break; default: QLineEdit::keyPressEvent(e); break; } } else { switch (key) { case Qt::Key_Escape: cmd = ESCAPE; break; case Qt::Key_Tab: { char* pp = tab_expand(text().toLatin1().data(), ped->getCurDir().toLatin1().data()); setText(pp); delete pp; } return true; // case Qt::Key_F3: // cmd = CMD_NEW_ALTFIL; // break; case Qt::Key_F7: printf(" f7\n"); cmd = CMD_SEARCH_F; break; case Qt::Key_Up: { QString s(enter_up()); if (!s.isEmpty()) setText(s); } break; case Qt::Key_Down: { QString s(enter_down()); if (!s.isEmpty()) setText(s); } break; case Qt::Key_F8: cmd = CMD_STREAM; break; default: QLineEdit::keyPressEvent(e); break; } } if (cmd) { push(); ped->leaveEnterInput(cmd); return true; } return false; }