void DevConsole::logToConsole(const QString &logText, const QString &channel, bool raise) { for(int i = 0; i < ui->tabWidget->count(); ++i){ if(ui->tabWidget->tabText(i)==channel){ QPlainTextEdit* tarEdit = getEditByIndex(i); if(!tarEdit) return; tarEdit->appendPlainText(logText); tarEdit->verticalScrollBar()->setValue(tarEdit->verticalScrollBar()->maximum()); if(raise) ui->tabWidget->setCurrentIndex(i); return; } } //create new channel QWidget* w = new QWidget(); QGridLayout *l = new QGridLayout(w); l->setContentsMargins(0, 0, 0, 0); l->setSpacing(0); QPlainTextEdit *e = new QPlainTextEdit(w); l->addWidget(e,0,0,1,1); QPushButton *p = new QPushButton(w); l->addWidget(p,1,0,1,1); connect(p, SIGNAL(clicked()), this, SLOT(clearCurrentLog())); p->setText(tr("Clear %1 Log").arg(channel)); e->setReadOnly(true); e->appendPlainText(logText); e->verticalScrollBar()->setValue(e->verticalScrollBar()->maximum()); ui->tabWidget->addTab(w,channel); }
DevConsole::DevConsole(QWidget *parent) : QWidget(parent), ui(new Ui::DevConsole) { ui->setupUi(this); setWindowFlags(windowFlags() | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); connect(ui->button_cl_sysLog, SIGNAL(clicked()), this, SLOT(clearCurrentLog())); registerCommands(); }
void DevConsole::logToConsole(const QString &logText, const QString &channel, bool raise) { QString target_channel = channel; if(channel == "System") //Prevent creation another "system" tab if switched another UI language target_channel = ui->tabWidget->tabText(0); for(int i = 0; i < ui->tabWidget->count(); ++i) { if(ui->tabWidget->tabText(i) == target_channel) { QPlainTextEdit *tarEdit = getEditByIndex(i); if(!tarEdit) return; tarEdit->appendPlainText(logText); tarEdit->verticalScrollBar()->setValue(tarEdit->verticalScrollBar()->maximum()); if(raise) ui->tabWidget->setCurrentIndex(i); return; } } //create new channel QWidget *w = new QWidget(); QGridLayout *l = new QGridLayout(w); l->setContentsMargins(0, 0, 0, 0); l->setSpacing(0); QPlainTextEdit *e = new QPlainTextEdit(w); l->addWidget(e, 0, 0, 1, 1); QPushButton *p = new QPushButton(w); l->addWidget(p, 1, 0, 1, 1); p->setFlat(true); p->connect(p, SIGNAL(clicked()), this, SLOT(clearCurrentLog())); p->setText(tr("Clear %1 Log").arg(target_channel)); e->setReadOnly(true); e->setStyleSheet(ui->plainTextEdit->styleSheet()); e->setFont(ui->plainTextEdit->font()); e->appendPlainText(logText); e->verticalScrollBar()->setValue(e->verticalScrollBar()->maximum()); ui->tabWidget->addTab(w, target_channel); }
DevConsole::DevConsole(QWidget *parent) : QWidget(parent), ui(new Ui::DevConsole) { ui->setupUi(this); setWindowFlags(windowFlags() | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); connect(ui->button_cl_sysLog, SIGNAL(clicked()), this, SLOT(clearCurrentLog())); connect(ui->tabWidget, SIGNAL(tabBarClicked(int)), this, SLOT(update())); registerCommands(); LogWriter::installConsole(this); #ifdef Q_OS_MAC this->setWindowIcon(QIcon(":/cat_builder.icns")); #endif #ifdef Q_OS_WIN this->setWindowIcon(QIcon(":/cat_builder.ico")); QFont font = ui->plainTextEdit->font(); font.setFamily("Courier New"); ui->plainTextEdit->setFont(font); if(QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA) { if(QtWin::isCompositionEnabled()) { this->setAttribute(Qt::WA_TranslucentBackground, true); QtWin::extendFrameIntoClientArea(this, -1, -1, -1, -1); QtWin::enableBlurBehindWindow(this); } else { QtWin::resetExtendedFrame(this); setAttribute(Qt::WA_TranslucentBackground, false); } } #endif if(!hasFocus()) setWindowOpacity(0.9); }