Пример #1
0
TerminalDisplay *TermWidgetImpl::createTerminalDisplay(Session *session, QWidget* parent)
{
//    TerminalDisplay* display = new TerminalDisplay(this);
    TerminalDisplay* display = new TerminalDisplay(parent);

    display->setBellMode(TerminalDisplay::NotifyBell);
    display->setTerminalSizeHint(true);
    display->setTripleClickMode(TerminalDisplay::SelectWholeLine);
    display->setTerminalSizeStartup(true);

    display->setRandomSeed(session->sessionId() * 31);

    return display;
}
Пример #2
0
void MainWindow::addSession(const char *name)
{

  TerminalDisplay *display = new TerminalDisplay();
  Profile *profile = new Profile(name);
  Session *session = new Session(*profile);
  const ColorScheme* colorScheme = ColorSchemeManager::instance()->findColorScheme(profile->colorScheme());
  //TODO Temporary settings used here
  display->setBellMode(0);
  display->setTerminalSizeHint(false);
  display->setTripleClickMode(TerminalDisplay::SelectWholeLine);
  display->setTerminalSizeStartup(false);
  display->setScrollBarPosition(TerminalDisplay::ScrollBarRight);
  display->setRandomSeed(session->sessionId() * 31);
  display->setVTFont(QFont(profile->fontName(), profile->fontSize()));
  //ColorSchemeManager::instance()->addColorScheme(new ColorScheme(*colorScheme));
  ColorEntry table[TABLE_COLORS];
  colorScheme->getColorTable(table, display->randomSeed());
  display->setColorTable(table);
  display->setOpacity(colorScheme->opacity());
  display->setKeyboardCursorShape((TerminalDisplay::KeyboardCursorShape)profile->cursorShape());
  
  session->addView(display);

  int tabid = tabs->addTab(display,QIcon(":icon/konsole"), tr(name));
  session->setTitle(Session::NameRole,name);
  session->setProgram(profile->command());
  session->setHistoryType( HistoryTypeBuffer(profile->historyLines()) );
  session->setProfileKey(profile->name());

  session->setInitialWorkingDirectory(QDir::homePath());

  connect(session, SIGNAL(finished(QObject*)), this, SLOT(finished(QObject*)));
  session->setKeyBindings(profile->keyboard());
  _sessionCount++;
  _Sessions.append(session);
  session->run();
  tabs->setCurrentIndex(tabid);
  display->setFocus(Qt::OtherFocusReason);
}