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; }
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); }