Skip to content

Commit

Permalink
Added History size properties
Browse files Browse the repository at this point in the history
Size of history can now be limited to a user defined number of rows or
be unlimited.
  • Loading branch information
Ridderby committed Dec 30, 2011
1 parent fe3055a commit abb82bd
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 0 deletions.
58 changes: 58 additions & 0 deletions src/forms/propertiesdialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@
<string>Look and Feel</string>
</property>
</item>
<item>
<property name="text">
<string>History</string>
</property>
</item>
<item>
<property name="text">
<string>Emulation</string>
Expand Down Expand Up @@ -226,6 +231,59 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="historyPage">
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>History</string>
</property>
<layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0">
<widget class="QRadioButton" name="historyLimited">
<property name="text">
<string>Limited to: </string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="historyLimitedTo">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>1000000</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="historyUnlimited">
<property name="text">
<string>Unlimited</string>
</property>
</widget>
</item>
<item row="2" column="0">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>150</width>
<height>139</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="emulationPage">
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
Expand Down
7 changes: 7 additions & 0 deletions src/properties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ void Properties::loadSettings()
mainWindowGeometry = settings.value("MainWindow/geometry").toByteArray();
mainWindowState = settings.value("MainWindow/state").toByteArray();


historyLimited = settings.value("HistoryLimited", true).toBool();
historyLimitedTo = settings.value("HistoryLimitedTo", 1000).toUInt();

emulation = settings.value("emulation", "default").toString();

// sessions
Expand Down Expand Up @@ -109,6 +113,9 @@ void Properties::saveSettings()
settings.setValue("MainWindow/geometry", mainWindowGeometry);
settings.setValue("MainWindow/state", mainWindowState);

settings.setValue("HistoryLimited", historyLimited);
settings.setValue("HistoryLimitedTo", historyLimitedTo);

settings.setValue("emulation", emulation);

// sessions
Expand Down
3 changes: 3 additions & 0 deletions src/properties.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ class Properties
QString colorScheme;
QString guiStyle;

bool historyLimited;
unsigned historyLimitedTo;

QString emulation;

Sessions sessions;
Expand Down
7 changes: 7 additions & 0 deletions src/propertiesdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ PropertiesDialog::PropertiesDialog(QWidget *parent)

termOpacityBox->setValue(Properties::Instance()->termOpacity);
//connect(termOpacityBox, SIGNAL(valueChanged(int)), this, SLOT(apply()));

historyLimited->setChecked(Properties::Instance()->historyLimited);
historyUnlimited->setChecked(!Properties::Instance()->historyLimited);
historyLimitedTo->setValue(Properties::Instance()->historyLimitedTo);
}


Expand Down Expand Up @@ -94,6 +98,9 @@ void PropertiesDialog::apply()
Properties::Instance()->scrollBarPos = scrollBarPos_comboBox->currentIndex();
Properties::Instance()->tabsPos = tabsPos_comboBox->currentIndex();

Properties::Instance()->historyLimited = historyLimited->isChecked();
Properties::Instance()->historyLimitedTo = historyLimitedTo->value();

saveShortcuts();

Properties::Instance()->saveSettings();
Expand Down
11 changes: 11 additions & 0 deletions src/termwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,17 @@ void TermWidgetImpl::propertiesChanged()
{
setColorScheme(Properties::Instance()->colorScheme);
setTerminalFont(Properties::Instance()->font);

if (Properties::Instance()->historyLimited)
{
setHistorySize(Properties::Instance()->historyLimitedTo);
}
else
{
// Unlimited history
setHistorySize(-1);
}

qDebug() << "TermWidgetImpl::propertiesChanged" << this << "emulation:" << Properties::Instance()->emulation;
setKeyBindings(Properties::Instance()->emulation);
setTerminalOpacity(Properties::Instance()->termOpacity/100.0);
Expand Down

0 comments on commit abb82bd

Please sign in to comment.