/* Copyright 2007-2008 by Robert Knight Copyright 2012 by Jekyll Wu This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef HISTORYSIZEWIDGET_H #define HISTORYSIZEWIDGET_H // Qt #include // Konsole #include "Enumeration.h" class QAbstractButton; namespace Ui { class HistorySizeWidget; } namespace Konsole { /** * A widget for controlling history related options */ class HistorySizeWidget : public QWidget { Q_OBJECT public: explicit HistorySizeWidget(QWidget *parent); ~HistorySizeWidget() Q_DECL_OVERRIDE; /** Specifies the history mode. */ void setMode(Enum::HistoryModeEnum aMode); /** Returns the history mode chosen by the user. */ Enum::HistoryModeEnum mode() const; /** Sets the number of lines for the fixed size history mode. */ void setLineCount(int lines); /** * Returns the number of lines of history to remember. * This is only valid when mode() == FixedSizeHistory, * and returns 0 otherwise. */ int lineCount() const; /** * Return height which should be set on the widget's label * to align with the first widget's item */ int preferredLabelHeight(); Q_SIGNALS: /** Emitted when the history mode is changed. */ void historyModeChanged(Enum::HistoryModeEnum); /** Emitted when the history size is changed. */ void historySizeChanged(int); private Q_SLOTS: void buttonClicked(QAbstractButton *); private: Ui::HistorySizeWidget *_ui; // 1000 lines was the default in the KDE3 series static const int DefaultLineCount = 1000; }; } #endif // HISTORYSIZEWIDGET_H