1#include <QLoggingCategory>
2#include "TerminalParameter.h"
4static Q_LOGGING_CATEGORY(log,
"Terminal.Parameter")
7 , m_bTitleChanged(
true)
8 , m_bRestoreDirectory(
true)
11 m_szShell = qgetenv(
"SHELL");
12 if(m_szShell.isEmpty()) {
13 m_szShell =
"/bin/sh";
16#elif defined(Q_OS_WIN)
17 m_szShell = qgetenv(
"ComSpec");
18 if(m_szShell.isEmpty()) {
19 m_szShell =
"C:\\Windows\\System32\\cmd.exe";
20 m_szShellName =
"CMD";
25int CTerminalParameter::OnLoad(QSettings &set)
27 set.beginGroup(
"Terminal");
28 SetShell(set.value(
"Shell", GetShell()).toString());
29 SetShellName(set.value(
"Shell/Name", GetShellName()).toString());
30 SetShellParameters(set.value(
"Shell/Parameters", GetShellParameters()).toString());
31 SetLasterDirectory(set.value(
"Directory/Laster", GetLasterDirectory()).toString());
32 SetRestoreDirectory(set.value(
"Directory/Restore", GetRestoreDirectory()).toBool());
33 SetEnableTitleChanged(set.value(
"EnableTitleChanged", GetEnableTitleChanged()).toBool());
35 return CParameterTerminalBase::OnLoad(set);
38int CTerminalParameter::OnSave(QSettings &set)
40 set.beginGroup(
"Terminal");
41 set.setValue(
"Shell", GetShell());
42 set.setValue(
"Shell/Name", GetShellName());
43 set.setValue(
"Shell/Parameters", GetShellParameters());
44 set.setValue(
"Directory/Laster", GetLasterDirectory());
45 set.setValue(
"Directory/Restore", GetRestoreDirectory());
46 set.setValue(
"EnableTitleChanged", GetEnableTitleChanged());
49 return CParameterTerminalBase::OnSave(set);
52int CTerminalParameter::SetShell(
const QString& shell)
54 if(m_szShell == shell)
61const QString CTerminalParameter::GetShell()
const
66const QString CTerminalParameter::GetShellName()
const
71int CTerminalParameter::SetShellName(
const QString& name)
73 if(m_szShellName == name)
80int CTerminalParameter::SetShellParameters(
const QString ¶)
82 if(m_szShellParameters == para)
84 m_szShellParameters = para;
89const QString CTerminalParameter::GetShellParameters()
const
91 return m_szShellParameters;
94const QString CTerminalParameter::GetLasterDirectory()
const
96 return m_szLasterDirectory;
99int CTerminalParameter::SetLasterDirectory(
const QString& d)
101 if(m_szLasterDirectory == d)
103 m_szLasterDirectory = d;
108bool CTerminalParameter::GetRestoreDirectory()
const
110 return m_bRestoreDirectory;
113int CTerminalParameter::SetRestoreDirectory(
bool bEnable)
115 if(m_bRestoreDirectory == bEnable)
117 m_bRestoreDirectory = bEnable;
122bool CTerminalParameter::GetEnableTitleChanged()
const
124 return m_bTitleChanged;
127void CTerminalParameter::SetEnableTitleChanged(
bool newTitleChanged)
129 if(m_bTitleChanged == newTitleChanged)
131 m_bTitleChanged = newTitleChanged;
133 emit sigEnableTitleChanged(m_bTitleChanged);
Operational parameter interface.
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.