Commit c486fc51 authored by Gustavo Carneiro's avatar Gustavo Carneiro

Move CompactHistoryType class to a new file.

parent 80bd4b70
......@@ -85,6 +85,7 @@ set(konsoleprivate_SRCS ${sessionadaptors_SRCS}
HistoryType.cpp
HistoryTypeNone.cpp
HistoryTypeFile.cpp
CompactHistoryType.cpp
HistorySizeDialog.cpp
widgets/HistorySizeWidget.cpp
widgets/IncrementalSearchBar.cpp
......
/*
This file is part of Konsole, an X terminal.
Copyright 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
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.
*/
// Own
#include "CompactHistoryType.h"
#include "CompactHistoryScroll.h"
using namespace Konsole;
CompactHistoryType::CompactHistoryType(unsigned int nbLines) :
_maxLines(nbLines)
{
}
bool CompactHistoryType::isEnabled() const
{
return true;
}
int CompactHistoryType::maximumLineCount() const
{
return _maxLines;
}
HistoryScroll *CompactHistoryType::scroll(HistoryScroll *old) const
{
if (old != nullptr) {
auto *oldBuffer = dynamic_cast<CompactHistoryScroll *>(old);
if (oldBuffer != nullptr) {
oldBuffer->setMaxNbLines(_maxLines);
return oldBuffer;
}
delete old;
}
return new CompactHistoryScroll(_maxLines);
}
/*
This file is part of Konsole, an X terminal.
Copyright 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
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 COMPACTHISTORYTYPE_H
#define COMPACTHISTORYTYPE_H
#include "HistoryType.h"
#include "konsoleprivate_export.h"
namespace Konsole
{
class KONSOLEPRIVATE_EXPORT CompactHistoryType : public HistoryType
{
public:
explicit CompactHistoryType(unsigned int nbLines);
bool isEnabled() const override;
int maximumLineCount() const override;
HistoryScroll *scroll(HistoryScroll *) const override;
protected:
unsigned int _maxLines;
};
}
#endif
......@@ -56,31 +56,3 @@ using namespace Konsole;
of cells and line/column indexed read access to the scroll
at constant costs.
*/
CompactHistoryType::CompactHistoryType(unsigned int nbLines) :
_maxLines(nbLines)
{
}
bool CompactHistoryType::isEnabled() const
{
return true;
}
int CompactHistoryType::maximumLineCount() const
{
return _maxLines;
}
HistoryScroll *CompactHistoryType::scroll(HistoryScroll *old) const
{
if (old != nullptr) {
auto *oldBuffer = dynamic_cast<CompactHistoryScroll *>(old);
if (oldBuffer != nullptr) {
oldBuffer->setMaxNbLines(_maxLines);
return oldBuffer;
}
delete old;
}
return new CompactHistoryScroll(_maxLines);
}
......@@ -45,6 +45,7 @@
#include "HistoryType.h"
#include "HistoryTypeNone.h"
#include "HistoryTypeFile.h"
#include "CompactHistoryType.h"
// Konsole
#include "Character.h"
......@@ -57,19 +58,6 @@ namespace Konsole {
// where history lines are allocated in (avoids heap fragmentation)
//////////////////////////////////////////////////////////////////////
class KONSOLEPRIVATE_EXPORT CompactHistoryType : public HistoryType
{
public:
explicit CompactHistoryType(unsigned int nbLines);
bool isEnabled() const override;
int maximumLineCount() const override;
HistoryScroll *scroll(HistoryScroll *) const override;
protected:
unsigned int _maxLines;
};
}
#endif // HISTORY_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment