• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

Konsole

  • kde-4.14
  • applications
  • konsole
  • src
HistorySizeWidget.cpp
Go to the documentation of this file.
1 /*
2  Copyright 2007-2008 by Robert Knight <robertknight@gmail.com>
3  Copyright 2012 by Jekyll Wu <adaptee@gmail.com>
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18  02110-1301 USA.
19 */
20 
21 // Own
22 #include "HistorySizeWidget.h"
23 
24 // Qt
25 #include <QButtonGroup>
26 #include <QAbstractButton>
27 
28 // Konsole
29 #include "ui_HistorySizeWidget.h"
30 
31 using namespace Konsole;
32 
33 HistorySizeWidget::HistorySizeWidget(QWidget* parent)
34  : QWidget(parent)
35 {
36  _ui = new Ui::HistorySizeWidget();
37  _ui->setupUi(this);
38 
39  _ui->unlimitedWarningWidget->setVisible(false);
40  _ui->unlimitedWarningWidget->setWordWrap(true);
41  _ui->unlimitedWarningWidget->setCloseButtonVisible(false);
42  _ui->unlimitedWarningWidget->setMessageType(KMessageWidget::Information);
43  _ui->unlimitedWarningWidget->setText(i18nc("@info:status",
44  "When using this option, the scrollback data will be written "
45  "unencrypted to temporary files. Those temporary files will be "
46  "deleted automatically when Konsole is closed in a normal manner."));
47 
48  // focus and select the spinner automatically when appropriate
49  _ui->fixedSizeHistoryButton->setFocusProxy(_ui->historyLineSpinner);
50  connect(_ui->fixedSizeHistoryButton , SIGNAL(clicked()) ,
51  _ui->historyLineSpinner , SLOT(selectAll()));
52 
53  QButtonGroup* modeGroup = new QButtonGroup(this);
54  modeGroup->addButton(_ui->noHistoryButton);
55  modeGroup->addButton(_ui->fixedSizeHistoryButton);
56  modeGroup->addButton(_ui->unlimitedHistoryButton);
57  connect(modeGroup, SIGNAL(buttonClicked(QAbstractButton*)),
58  this, SLOT(buttonClicked(QAbstractButton*)));
59 
60  _ui->historyLineSpinner->setSuffix(ki18ncp("Unit of scrollback", " line", " lines"));
61  this->setLineCount(HistorySizeWidget::DefaultLineCount);
62 
63  connect(_ui->historyLineSpinner, SIGNAL(valueChanged(int)),
64  this, SIGNAL(historySizeChanged(int)));
65 }
66 
67 HistorySizeWidget::~HistorySizeWidget()
68 {
69  delete _ui;
70 }
71 
72 void HistorySizeWidget::buttonClicked(QAbstractButton*) const
73 {
74  Enum::HistoryModeEnum selectedMode = mode();
75  _ui->unlimitedWarningWidget->setVisible(Enum::UnlimitedHistory == selectedMode);
76  emit historyModeChanged(selectedMode);
77 }
78 
79 void HistorySizeWidget::setMode(Enum::HistoryModeEnum aMode)
80 {
81  if (aMode == Enum::NoHistory) {
82  _ui->noHistoryButton->setChecked(true);
83  } else if (aMode == Enum::FixedSizeHistory) {
84  _ui->fixedSizeHistoryButton->setChecked(true);
85  } else if (aMode == Enum::UnlimitedHistory) {
86  _ui->unlimitedHistoryButton->setChecked(true);
87  }
88  _ui->unlimitedWarningWidget->setVisible(Enum::UnlimitedHistory == aMode);
89 }
90 
91 Enum::HistoryModeEnum HistorySizeWidget::mode() const
92 {
93  if (_ui->noHistoryButton->isChecked())
94  return Enum::NoHistory;
95  else if (_ui->fixedSizeHistoryButton->isChecked())
96  return Enum::FixedSizeHistory;
97  else if (_ui->unlimitedHistoryButton->isChecked())
98  return Enum::UnlimitedHistory;
99 
100  Q_ASSERT(false);
101  return Enum::NoHistory;
102 }
103 
104 void HistorySizeWidget::setLineCount(int lines)
105 {
106  _ui->historyLineSpinner->setValue(lines);
107  _ui->historyLineSpinner->setSingleStep(lines / 10);
108 }
109 
110 int HistorySizeWidget::lineCount() const
111 {
112  return _ui->historyLineSpinner->value();
113 }
114 
115 #include "HistorySizeWidget.moc"
QWidget
QButtonGroup::addButton
void addButton(QAbstractButton *button)
Konsole::HistorySizeWidget::historyModeChanged
void historyModeChanged(Enum::HistoryModeEnum) const
Emitted when the history mode is changed.
Konsole::HistorySizeWidget::setLineCount
void setLineCount(int lines)
Sets the number of lines for the fixed size history mode.
Definition: HistorySizeWidget.cpp:104
HistorySizeWidget.h
Konsole::HistorySizeWidget::mode
Enum::HistoryModeEnum mode() const
Returns the history mode chosen by the user.
Definition: HistorySizeWidget.cpp:91
QButtonGroup
Konsole::Enum::NoHistory
No output is remembered.
Definition: Enumeration.h:42
Konsole::Enum::HistoryModeEnum
HistoryModeEnum
This enum describes the modes available to remember lines of output produced by the terminal...
Definition: Enumeration.h:38
Konsole::HistorySizeWidget::historySizeChanged
void historySizeChanged(int) const
Emitted when the history size is changed.
Konsole::HistorySizeWidget::setMode
void setMode(Enum::HistoryModeEnum aMode)
Specifies the history mode.
Definition: HistorySizeWidget.cpp:79
Konsole::HistorySizeWidget::~HistorySizeWidget
virtual ~HistorySizeWidget()
Definition: HistorySizeWidget.cpp:67
QAbstractButton
Konsole::Enum::UnlimitedHistory
All output is remembered for the duration of the session.
Definition: Enumeration.h:51
Konsole::Enum::FixedSizeHistory
A fixed number of lines of output are remembered.
Definition: Enumeration.h:46
Konsole::HistorySizeWidget::HistorySizeWidget
HistorySizeWidget(QWidget *parent)
Definition: HistorySizeWidget.cpp:33
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
Konsole::HistorySizeWidget::lineCount
int lineCount() const
Returns the number of lines of history to remember.
Definition: HistorySizeWidget.cpp:110
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat May 9 2020 03:56:27 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Konsole

Skip menu "Konsole"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Konsole

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal