1#include <QLoggingCategory>
3#include "TerminalParameter.h"
5static Q_LOGGING_CATEGORY(log,
"Terminal.Parameter")
8 , m_bTitleChanged(
true)
9 , m_bRestoreDirectory(
true)
12 m_szShell = qgetenv(
"SHELL");
13 if(m_szShell.isEmpty()) {
14 m_szShell =
"/bin/sh";
17#elif defined(Q_OS_WIN)
18 m_szShell = qgetenv(
"ComSpec");
19 if(m_szShell.isEmpty()) {
20 m_szShell =
"C:\\Windows\\System32\\cmd.exe";
22 QFileInfo fi(m_szShell);
23 m_szShellName = fi.baseName();
27int CTerminalParameter::OnLoad(QSettings &set)
29 set.beginGroup(
"Terminal");
30 SetShell(set.value(
"Shell", GetShell()).toString());
31 SetShellName(set.value(
"Shell/Name", GetShellName()).toString());
32 SetShellParameters(set.value(
"Shell/Parameters", GetShellParameters()).toString());
33 SetLasterDirectory(set.value(
"Directory/Laster", GetLasterDirectory()).toString());
34 SetRestoreDirectory(set.value(
"Directory/Restore", GetRestoreDirectory()).toBool());
35 SetEnableTitleChanged(set.value(
"EnableTitleChanged", GetEnableTitleChanged()).toBool());
37 return CParameterTerminalBase::OnLoad(set);
40int CTerminalParameter::OnSave(QSettings &set)
42 set.beginGroup(
"Terminal");
43 set.setValue(
"Shell", GetShell());
44 set.setValue(
"Shell/Name", GetShellName());
45 set.setValue(
"Shell/Parameters", GetShellParameters());
46 set.setValue(
"Directory/Laster", GetLasterDirectory());
47 set.setValue(
"Directory/Restore", GetRestoreDirectory());
48 set.setValue(
"EnableTitleChanged", GetEnableTitleChanged());
51 return CParameterTerminalBase::OnSave(set);
54int CTerminalParameter::SetShell(
const QString& shell)
56 if(m_szShell == shell)
63const QString CTerminalParameter::GetShell()
const
68const QString CTerminalParameter::GetShellName()
const
73int CTerminalParameter::SetShellName(
const QString& name)
75 if(m_szShellName == name)
82int CTerminalParameter::SetShellParameters(
const QString ¶)
84 if(m_szShellParameters == para)
86 m_szShellParameters = para;
91const QString CTerminalParameter::GetShellParameters()
const
93 return m_szShellParameters;
96const QString CTerminalParameter::GetLasterDirectory()
const
98 return m_szLasterDirectory;
101int CTerminalParameter::SetLasterDirectory(
const QString& d)
103 if(m_szLasterDirectory == d)
105 m_szLasterDirectory = d;
110bool CTerminalParameter::GetRestoreDirectory()
const
112 return m_bRestoreDirectory;
115int CTerminalParameter::SetRestoreDirectory(
bool bEnable)
117 if(m_bRestoreDirectory == bEnable)
119 m_bRestoreDirectory = bEnable;
124bool CTerminalParameter::GetEnableTitleChanged()
const
126 return m_bTitleChanged;
129void CTerminalParameter::SetEnableTitleChanged(
bool newTitleChanged)
131 if(m_bTitleChanged == newTitleChanged)
133 m_bTitleChanged = newTitleChanged;
135 emit sigEnableTitleChanged(m_bTitleChanged);
int SetModified(bool bModified=true)
在设置参数时,如果有修改,则调用。