| Summary: | history information not used from saved profile | ||
|---|---|---|---|
| Product: | [Applications] konsole | Reporter: | Richard Bos <richard.bos> |
| Component: | general | Assignee: | Konsole Bugs <konsole-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Richard Bos
2006-01-13 16:28:20 UTC
Confirmed with 3.5 branch r496940 Konsole ignores the history line in the profile. % grep -i history $KDEHOME/share/apps/konsole/profiles/testhistory history=500 historyenabled=true Konsole currently uses the history in the konsolerc file. % grep -i history /home/kvh/.kdehome-3.5/share/config/konsolerc history=250 historyenabled=true To Fix: Save each sessions history (ie History0 ,History1, etc...). SVN commit 498108 by hindenburg:
The history options (line #/enabled) are now used in the profiles.
BUG: 120046
M +16 -0 konsole.cpp
M +1 -0 konsole.h
M +8 -0 main.cpp
--- branches/KDE/3.5/kdebase/konsole/konsole/konsole.cpp #498107:498108
@@ -1458,6 +1458,10 @@
config->writeEntry(key, sessions.current()->isMasterMode());
key = QString("TabColor%1").arg(counter);
config->writeEntry(key, tabwidget->tabColor((sessions.current())->widget()));
+ key = QString("History%1").arg(counter);
+ config->writeEntry(key, sessions.current()->history().getSize());
+ key = QString("HistoryEnabled%1").arg(counter);
+ config->writeEntry(key, sessions.current()->history().isOn());
QString cwd=sessions.current()->getCwd();
if (cwd.isEmpty())
@@ -3184,6 +3188,18 @@
tabwidget->setTabColor( se->widget(), color );
}
+void Konsole::initHistory(int lines, bool enable)
+{
+ // If no History#= is given in the profile, use the history
+ // parameter saved in konsolerc.
+ if ( lines < 0 ) lines = m_histSize;
+
+ if ( enable )
+ se->setHistory( HistoryTypeBuffer( lines ) );
+ else
+ se->setHistory( HistoryTypeNone() );
+}
+
void Konsole::slotToggleMasterMode()
{
setMasterMode( masterMode->isChecked() );
--- branches/KDE/3.5/kdebase/konsole/konsole/konsole.h #498107:498108
@@ -82,6 +82,7 @@
void initMonitorSilence(bool on);
void initMasterMode(bool on);
void initTabColor(QColor color);
+ void initHistory(int lines, bool enable);
void newSession(const QString &program, const QStrList &args, const QString &term, const QString &icon, const QString &title, const QString &cwd);
void setSchema(const QString & path);
void setEncoding(int);
--- branches/KDE/3.5/kdebase/konsole/konsole/main.cpp #498107:498108
@@ -514,6 +514,9 @@
m->initMonitorSilence(sessionconfig->readBoolEntry("MonitorSilence0",false));
m->initMasterMode(sessionconfig->readBoolEntry("MasterMode0",false));
m->initTabColor(sessionconfig->readColorEntry("TabColor0"));
+ // -1 will be changed to the default history in konsolerc
+ m->initHistory(sessionconfig->readNumEntry("History0", -1),
+ sessionconfig->readBoolEntry("HistoryEnabled0", true));
counter++;
// show() before 2nd+ sessions are created allows --profile to
@@ -553,6 +556,11 @@
m->initMasterMode(sessionconfig->readBoolEntry(key,false));
key = QString("TabColor%1").arg(counter);
m->initTabColor(sessionconfig->readColorEntry(key));
+ // -1 will be changed to the default history in konsolerc
+ key = QString("History%1").arg(counter);
+ QString key2 = QString("HistoryEnabled%1").arg(counter);
+ m->initHistory(sessionconfig->readNumEntry(key, -1),
+ sessionconfig->readBoolEntry(key2, true));
counter++;
}
m->setDefaultSession( sessionconfig->readEntry("DefaultSession","shell.desktop") );
Wow, that's fast! Thanks for the swift followup. SVN commit 498170 by hindenburg:
Forward port: The history options (line #/enabled) are now used in
the profiles. Currently Konsole crashes with --profile=. The dialogs
don't work know anyway... test later.
CCBUG: 120046
M +20 -1 konsole.cpp
M +1 -0 konsole.h
M +12 -0 main.cpp
--- trunk/KDE/kdebase/konsole/konsole/konsole.cpp #498169:498170
@@ -1467,8 +1467,14 @@
config->writeEntry(key, sessions.current()->isMonitorSilence());
key = QString("MasterMode%1").arg(counter);
config->writeEntry(key, sessions.current()->isMasterMode());
- key = QString("TabColor%1").arg(counter);
+ //key = QString("TabColor%1").arg(counter);
//config->writeEntry(key, tabwidget->tabColor((sessions.current())->widget()));
+/* Test this when dialogs work again
+ key = QString("History%1").arg(counter);
+ config->writeEntry(key, sessions.current()->history().getSize());
+ key = QString("HistoryEnabled%1").arg(counter);
+ config->writeEntry(key, sessions.current()->history().isOn());
+*/
QString cwd=sessions.current()->getCwd();
if (cwd.isEmpty())
@@ -3127,6 +3133,19 @@
; //tabwidget->setTabColor( se->widget(), color );
}
+void Konsole::initHistory(int lines, bool enable)
+{
+return;
+ // If no History#= is given in the profile, use the history
+ // parameter saved in konsolerc.
+ if ( lines < 0 ) lines = m_histSize;
+
+ if ( enable )
+ se->setHistory( HistoryTypeBuffer( lines ) );
+ else
+ se->setHistory( HistoryTypeNone() );
+}
+
void Konsole::slotToggleMasterMode()
{
setMasterMode( masterMode->isChecked() );
--- trunk/KDE/kdebase/konsole/konsole/konsole.h #498169:498170
@@ -87,6 +87,7 @@
void initMonitorSilence(bool on);
void initMasterMode(bool on);
void initTabColor(QColor color);
+ void initHistory(int lines, bool enable);
void newSession(const QString &program, const QStringList &args, const QString &term, const QString &icon, const QString &title, const QString &cwd);
void setSchema(const QString & path);
void setEncoding(int);
--- trunk/KDE/kdebase/konsole/konsole/main.cpp #498169:498170
@@ -519,6 +519,9 @@
//FIXME: Verify this code when KDE4 supports tab colors... kvh
QVariant v_tabColor = sessionconfig->readEntry("TabColor0");
m->initTabColor( v_tabColor.value<QColor>() );
+ // -1 will be changed to the default history in konsolerc
+// m->initHistory(sessionconfig->readNumEntry("History0", -1),
+// sessionconfig->readBoolEntry("HistoryEnabled0", true));
counter++;
@@ -566,6 +569,15 @@
//FIXME: Verify this code when KDE4 supports tab colors... kvh
// QVariant v_tabColor = sessionconfig->readEntry(key));
// m->initTabColor( v_tabColor.value<QColor>() );
+
+/* Test this when the dialogs work again...kvh
+ // -1 will be changed to the default history in konsolerc
+ key = QString("History%1").arg(counter);
+ QString key2 = QString("HistoryEnabled%1").arg(counter);
+ m->initHistory(sessionconfig->readNumEntry(key, -1),
+ sessionconfig->readBoolEntry(key2, true));
+*/
+
counter++;
}
m->setDefaultSession( sessionconfig->readEntry("DefaultSession","shell.desktop") );
SVN commit 501108 by hindenburg:
Fix issue where history size is unlimited.
Please make sure this goes into 3.5.1.
CCBUG: 120046
M +3 -1 konsole.cpp
--- branches/KDE/3.5/kdebase/konsole/konsole/konsole.cpp #501107:501108
@@ -3194,8 +3194,10 @@
// parameter saved in konsolerc.
if ( lines < 0 ) lines = m_histSize;
- if ( enable )
+ if ( enable && lines > 0 )
se->setHistory( HistoryTypeBuffer( lines ) );
+ else if ( enable ) // Unlimited buffer
+ se->setHistory(HistoryTypeFile());
else
se->setHistory( HistoryTypeNone() );
}
|