From 55d467e09b1fa8954661ce2e6fd7eb1a0bd6b3af Mon Sep 17 00:00:00 2001 From: adelcastillo Date: Mon, 2 Nov 2009 18:02:50 +0000 Subject: [PATCH] Ahora se pueden crear nuevas terminales git-svn-id: https://opengnsys.es/svn/trunk@474 a21b9725-9963-47de-94b9-378ad31fedc9 --- mainwindow.cpp | 43 ++++++++++++++++++++++++------------------- mainwindow.h | 6 +++++- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 5ed74e5..c528f94 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -24,7 +24,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),web(new QWebView()),output(new QTextEdit()), process(new QProcess(this)), - logfile(NULL),logstream(NULL) + logfile(NULL),logstream(NULL),numberTerminal(0) { // Graphic //showFullScreen(); @@ -45,10 +45,11 @@ MainWindow::MainWindow(QWidget *parent) // TabWidget tabs=new QTabWidget(dock); + QPushButton *button=new QPushButton(tr("&New Term")); + tabs->setCornerWidget(button); - // Anyado output a las pestanyas tabs->addTab(output,tr("Output")); - tabs->addTab(createTerminal(),tr("Term 1")); + slotCreateTerminal(); // Las pestanyas al dock dock->setWidget(tabs); @@ -88,6 +89,8 @@ MainWindow::MainWindow(QWidget *parent) connect(process,SIGNAL(readyReadStandardError()), this,SLOT(slotProcessErrorOutput())); + connect(button,SIGNAL(clicked()),this,SLOT(slotCreateTerminal())); + if(!readEnvironmentValues()) output->insertPlainText(tr("Any environment variable/s didn't be setted\n")); @@ -267,6 +270,24 @@ void MainWindow::slotProcessError(QProcess::ProcessError error) } } +void MainWindow::slotCreateTerminal() +{ + QTermWidget* console = new QTermWidget(); + QFont font = QApplication::font(); + font.setFamily("Terminus"); + font.setPointSize(12); + + console->setTerminalFont(font); + + //console->setColorScheme(COLOR_SCHEME_BLACK_ON_LIGHT_YELLOW); + console->setScrollBarPosition(QTermWidget::ScrollBarRight); + + ++numberTerminal; + + QString name=tr("Term ")+QString::number(numberTerminal); + tabs->addTab(console,name); +} + int MainWindow::readEnvironmentValues() { // The return value @@ -299,19 +320,3 @@ int MainWindow::readEnvironmentValues() return ret; } - -QTermWidget* MainWindow::createTerminal() -{ - QTermWidget* console = new QTermWidget(); - QFont font = QApplication::font(); - font.setFamily("Terminus"); - font.setPointSize(12); - - console->setTerminalFont(font); - - //console->setColorScheme(COLOR_SCHEME_BLACK_ON_LIGHT_YELLOW); - console->setScrollBarPosition(QTermWidget::ScrollBarRight); - - return console; -} - diff --git a/mainwindow.h b/mainwindow.h index 535497d..650aec3 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -44,10 +44,12 @@ class MainWindow : public QMainWindow void slotProcessOutput(); void slotProcessErrorOutput(); + // Funcion para crear terminales + void slotCreateTerminal(); + //Functions protected: int readEnvironmentValues(); - QTermWidget* createTerminal(); protected: @@ -61,6 +63,8 @@ class MainWindow : public QMainWindow QMap env; QFile *logfile; QTextStream *logstream; + + int numberTerminal; }; #endif // MAINWINDOW_H