Пример #1
0
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);
}
Пример #2
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;
      }