void OutputWidget::syncWithSettings() { supportedViews curV = SettingsManager::instance().defaultView(); if(curV == Tree){ setTreeView(); } else if(curV == Table){ setTableView(); } else{ setTextView(); } }
OutputWidget::OutputWidget(IServerSPtr server, QWidget* parent) : QWidget(parent) { commonModel_ = new FastoCommonModel(this); VERIFY(connect(commonModel_, &FastoCommonModel::changedValue, server.get(), &IServer::changeValue, Qt::DirectConnection)); VERIFY(connect(server.get(), &IServer::startedChangeDbValue, this, &OutputWidget::startChangeDbValue, Qt::DirectConnection)); VERIFY(connect(server.get(), &IServer::finishedChangeDbValue, this, &OutputWidget::finishChangeDbValue, Qt::DirectConnection)); treeView_ = new FastoTreeView; treeView_->setModel(commonModel_); tableView_ = new FastoTableView; tableView_->setModel(commonModel_); textView_ = new FastoTextView(server->outputDelemitr()); textView_->setModel(commonModel_); textView_->setReadOnly(true); timeLabel_ = new fasto::qt::gui::IconLabel(GuiFactory::instance().timeIcon(), "0", QSize(32, 32)); QVBoxLayout* mainL = new QVBoxLayout; QHBoxLayout* topL = new QHBoxLayout; QSplitter* splitter = new QSplitter; splitter->setOrientation(Qt::Horizontal); splitter->setHandleWidth(1); splitter->setContentsMargins(0, 0, 0, 0); treeButton_ = new QPushButton; tableButton_ = new QPushButton; textButton_ = new QPushButton; treeButton_->setIcon(GuiFactory::instance().treeIcon()); VERIFY(connect(treeButton_, SIGNAL(clicked()), this, SLOT(setTreeView()))); tableButton_->setIcon(GuiFactory::instance().tableIcon()); VERIFY(connect(tableButton_, SIGNAL(clicked()), this, SLOT(setTableView()))); textButton_->setIcon(GuiFactory::instance().textIcon()); VERIFY(connect(textButton_, SIGNAL(clicked()), this, SLOT(setTextView()))); topL->addWidget(treeButton_); topL->addWidget(tableButton_); topL->addWidget(textButton_); topL->addWidget(splitter); topL->addWidget(timeLabel_); mainL->addLayout(topL); mainL->addWidget(treeView_); mainL->addWidget(tableView_); mainL->addWidget(textView_); setLayout(mainL); syncWithSettings(); }
ChatWindow::ChatWindow(QWidget* parent) : QWidget(parent) { QVBoxLayout* mainLayout = new QVBoxLayout(this); mainLayout->setMargin(margin()); mainLayout->setSpacing(spacing()); setName("ChatWindowObject"); setTextView(0); setInputBar(0); firstLog = true; m_server = 0; m_recreationScheduled = false; m_isTopLevelView = true; m_notificationsEnabled = true; m_channelEncodingSupported = false; m_currentTabNotify = Konversation::tnfNone; }
LogfileReader::LogfileReader(QWidget* parent, const QString& log, const QString& caption) : ChatWindow(parent) { setType(ChatWindow::LogFileReader); setName(i18n("Logfile of %1", caption)); fileName = log; setSpacing(0); toolBar = new KToolBar(this, true, true); toolBar->setObjectName("logfile_toolbar"); toolBar->addAction(QIcon::fromTheme("document-save-as"), i18n("Save As..."), this, SLOT(saveLog())); toolBar->addAction(QIcon::fromTheme("view-refresh"), i18n("Reload"), this, SLOT(updateView())); toolBar->addAction(QIcon::fromTheme("edit-delete"), i18n("Clear Logfile"), this, SLOT(clearLog())); toolBar->addWidget(new QLabel(i18n("Show last:"),toolBar)); sizeSpin = new QSpinBox(toolBar); sizeSpin->setMinimum(10); sizeSpin->setMaximum(1000); sizeSpin->setSingleStep(10); sizeSpin->setObjectName("logfile_size_spinbox"); sizeSpin->setWhatsThis(i18n("Use this box to set the maximum size of the log file. This setting does not take effect until you restart Konversation. Each log file may have a separate setting.")); sizeSpin->setValue(Preferences::self()->logfileBufferSize()); sizeSpin->setSuffix(i18n(" KB")); sizeSpin->installEventFilter(this); toolBar->addWidget(sizeSpin); connect(sizeSpin, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &LogfileReader::storeBufferSize); IRCViewBox* ircBox = new IRCViewBox(this); setTextView(ircBox->ircView()); getTextView()->setWhatsThis(i18n("The messages in the log file are displayed here. The oldest messages are at the top and the most recent are at the bottom.")); updateView(); ircBox->ircView()->setFocusPolicy(Qt::StrongFocus); setFocusPolicy(Qt::StrongFocus); setFocusProxy(ircBox->ircView()); updateAppearance(); connect(getTextView(), SIGNAL(gotFocus()), getTextView(), SLOT(setFocus())); }