File indexing completed on 2024-04-21 05:51:22

0001 /*
0002     SPDX-FileCopyrightText: 2007-2008 Robert Knight <robertknight@gmail.com>
0003     SPDX-FileCopyrightText: 2012 Kurt Hindenburg <kurt.hindenburg@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 // Own
0009 #include "HistorySizeDialog.h"
0010 
0011 // Konsole
0012 #include "ui_HistorySizeDialog.h"
0013 
0014 #include <KLocalizedString>
0015 #include <QDialogButtonBox>
0016 #include <QPushButton>
0017 #include <QVBoxLayout>
0018 
0019 using namespace Konsole;
0020 
0021 HistorySizeDialog::HistorySizeDialog(QWidget *parent)
0022     : QDialog(parent)
0023     , _ui(nullptr)
0024 {
0025     setWindowTitle(i18nc("@title:window", "Adjust Scrollback"));
0026     auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
0027     auto mainWidget = new QWidget(this);
0028     auto mainLayout = new QVBoxLayout;
0029     setLayout(mainLayout);
0030     mainLayout->addWidget(mainWidget);
0031     QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
0032     okButton->setDefault(true);
0033     connect(buttonBox, &QDialogButtonBox::accepted, this, &HistorySizeDialog::accept);
0034     connect(buttonBox, &QDialogButtonBox::rejected, this, &HistorySizeDialog::reject);
0035     mainLayout->addWidget(buttonBox);
0036 
0037     setWindowModality(Qt::WindowModal);
0038 
0039     _ui = new Ui::HistorySizeDialog();
0040     _ui->setupUi(mainWidget);
0041 
0042     _ui->tempWarningWidget->setVisible(true);
0043     _ui->tempWarningWidget->setWordWrap(false);
0044     _ui->tempWarningWidget->setCloseButtonVisible(false);
0045     _ui->tempWarningWidget->setMessageType(KMessageWidget::Information);
0046     _ui->tempWarningWidget->setText(i18nc("@info:status", "Any adjustments are only temporary to this session."));
0047 }
0048 
0049 HistorySizeDialog::~HistorySizeDialog()
0050 {
0051     delete _ui;
0052 }
0053 
0054 void HistorySizeDialog::setMode(Enum::HistoryModeEnum aMode)
0055 {
0056     _ui->historySizeWidget->setMode(aMode);
0057 }
0058 
0059 Enum::HistoryModeEnum HistorySizeDialog::mode() const
0060 {
0061     return _ui->historySizeWidget->mode();
0062 }
0063 
0064 int HistorySizeDialog::lineCount() const
0065 {
0066     return _ui->historySizeWidget->lineCount();
0067 }
0068 
0069 void HistorySizeDialog::setLineCount(int lines)
0070 {
0071     _ui->historySizeWidget->setLineCount(lines);
0072 }
0073 
0074 QSize HistorySizeDialog::sizeHint() const
0075 {
0076     return {_ui->tempWarningWidget->sizeHint().width(), 0};
0077 }
0078 
0079 #include "moc_HistorySizeDialog.cpp"