Skip to content

Commit

Permalink
キーボードダイアログをその他の設定のキーボードタブへ変更 TeraTermProject#84
Browse files Browse the repository at this point in the history
- teraterm/teraterm/keyboard_pp.c, h 追加
- 旧メニュー選択で新メニューが出るようにした
- Setup - Keyboard でその他の設定のキーボードタブ を表示
  • Loading branch information
zmatsuo committed May 16, 2024
1 parent bdfd27d commit b688e57
Show file tree
Hide file tree
Showing 14 changed files with 352 additions and 176 deletions.
1 change: 1 addition & 0 deletions doc/en/html/about/history.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ <h3 id="teraterm_5.3">YYYY.MM.DD (Ver 5.3 not released yet)</h3>
<li>Bracket paste behavior can be adjusted with <a href="../setup/teraterm-misc.html#BracketedSupport">BracketedSupport</a> and <a href="../setup/teraterm-misc.html#BracketedControlOnly">BracketedControlOnly</a> .</li>
<li>Download folder setting is moved to <a href="../menu/setup-additional.html#DownloadFolder">General tab</a> of Additional settings dialog.</li>
<li>Modified to <a href="../setup/teraterm-ssh.html#AuthBanner">display SSH authentication banner in VT window</a> regardless of receiving character code.
<li>Keyboard setting dialog is moved to Keyboard tab of Additional setting dialog.</li>
</ul>
</li>

Expand Down
1 change: 1 addition & 0 deletions doc/ja/html/about/history.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ <h3 id="teraterm_5.3">YYYY.MM.DD (Ver 5.3 not released yet)</h3>
<li>ブラケットペーストの動作を <a href="../setup/teraterm-misc.html#BracketedSupport">BracketedSupport</a><a href="../setup/teraterm-misc.html#BracketedControlOnly">BracketedControlOnly</a> で調整できるようにした。</li>
<li>ダウンロードフォルダの設定を Additional settings の <a href="../menu/setup-additional.html#DownloadFolder">General タブ</a>へ移動した。</li>
<li><a href="../setup/teraterm-ssh.html#AuthBanner">SSH認証バナーをVT ウィンドウ内に表示する</a>時、受信文字コードによらず表示できるよう変更した。</li>
<li>キーボード設定ダイアログを Additional settings の Keyboard タブへ移動した。</li>
</ul>
</li>

Expand Down
2 changes: 2 additions & 0 deletions teraterm/teraterm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ set(SRC_DIALOG
ftdlg_lite.h
general_pp.cpp
general_pp.h
keyboard_pp.c
keyboard_pp.h
logdlg.cpp
logdlg.h
protodlg.cpp
Expand Down
66 changes: 64 additions & 2 deletions teraterm/teraterm/addsetting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
#include "font_pp.h"
#include "theme_pp.h"
#include "general_pp.h"
#include "keyboard_pp.h"

#include "addsetting.h"

Expand All @@ -69,6 +70,18 @@ const mouse_cursor_t MouseCursor[] = {
#define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)

// CSequencePropPageDlg ダイアログ
class CSequencePropPageDlg : public TTCPropertyPage
{
public:
CSequencePropPageDlg(HINSTANCE inst);
virtual ~CSequencePropPageDlg();
private:
void OnInitDialog();
void OnOK();
enum { IDD = IDD_TABSHEET_SEQUENCE };
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
void OnHelp();
};

CSequencePropPageDlg::CSequencePropPageDlg(HINSTANCE inst)
: TTCPropertyPage(inst, CSequencePropPageDlg::IDD)
Expand Down Expand Up @@ -285,6 +298,18 @@ void CSequencePropPageDlg::OnHelp()
}

// CCopypastePropPageDlg ダイアログ
class CCopypastePropPageDlg : public TTCPropertyPage
{
public:
CCopypastePropPageDlg(HINSTANCE inst);
virtual ~CCopypastePropPageDlg();
private:
void OnInitDialog();
void OnOK();
enum { IDD = IDD_TABSHEET_COPYPASTE };
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
void OnHelp();
};

CCopypastePropPageDlg::CCopypastePropPageDlg(HINSTANCE inst)
: TTCPropertyPage(inst, CCopypastePropPageDlg::IDD)
Expand Down Expand Up @@ -1519,6 +1544,19 @@ void CLogPropPageDlg::OnHelp()
#define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
#define CYGTERM_FILE_MAXLINE 100

typedef struct cygterm {
char term[128];
char term_type[80];
char port_start[80];
char port_range[80];
char shell[80];
char env1[128];
char env2[128];
BOOL login_shell;
BOOL home_chdir;
BOOL agent_proxy;
} cygterm_t;

void ReadCygtermConfFile(const char *homedir, cygterm_t *psettings)
{
const char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
Expand Down Expand Up @@ -1790,6 +1828,23 @@ BOOL WriteCygtermConfFile(const char *homedir, cygterm_t *psettings)
/////////////////////////////

// CCygwinPropPageDlg ダイアログ
void ReadCygtermConfFile(const char *homedir, cygterm_t *psettings);
BOOL WriteCygtermConfFile(const char *homedir, cygterm_t *psettings);
BOOL CmpCygtermConfFile(const cygterm_t *a, const cygterm_t *b);

class CCygwinPropPageDlg : public TTCPropertyPage
{
public:
CCygwinPropPageDlg(HINSTANCE inst);
virtual ~CCygwinPropPageDlg();
private:
void OnInitDialog();
void OnOK();
enum { IDD = IDD_TABSHEET_CYGWIN };
cygterm_t settings;
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
void OnHelp();
};

CCygwinPropPageDlg::CCygwinPropPageDlg(HINSTANCE inst)
: TTCPropertyPage(inst, CCygwinPropPageDlg::IDD)
Expand Down Expand Up @@ -1955,6 +2010,8 @@ CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(HINSTANCE hInstance, HWND hPare
AddPage(page);
page = ThemePageCreate(hInstance, &ts);
AddPage(page);
page = KeyboardPageCreate(hInstance, &ts);
AddPage(page);

wchar_t *title = TTGetLangStrW("Tera Term", "DLG_TABSHEET_TITLE", L"Tera Term: Additional settings", ts.UILanguageFileW);
SetCaption(title);
Expand All @@ -1970,10 +2027,9 @@ CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()

void CAddSettingPropSheetDlg::SetStartPage(Page page)
{
int start_page;
int start_page = 0;
switch (page) {
case DefaultPage:
default:
start_page = 0;
break;
case CodingPage:
Expand All @@ -1982,6 +2038,12 @@ void CAddSettingPropSheetDlg::SetStartPage(Page page)
case FontPage:
start_page = 7;
break;
case KeyboardPage:
start_page = 9;
break;
default:
start_page = 0;
break;
}
TTCPropSheetDlg::SetStartPage(start_page);
}
76 changes: 12 additions & 64 deletions teraterm/teraterm/addsetting.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,10 @@

#pragma once

#ifdef __cplusplus
#include "tmfc.h"
#include "tmfc_propdlg.h"
#include "tt_res.h"
#include "teraterm.h"
#include "tipwin.h"
#endif

typedef struct {
const char *name;
Expand All @@ -41,67 +40,7 @@ typedef struct {

extern const mouse_cursor_t MouseCursor[];

// Control Sequence Page
class CSequencePropPageDlg : public TTCPropertyPage
{
public:
CSequencePropPageDlg(HINSTANCE inst);
virtual ~CSequencePropPageDlg();
private:
void OnInitDialog();
void OnOK();
enum { IDD = IDD_TABSHEET_SEQUENCE };
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
void OnHelp();
};

// Copypaste Page
class CCopypastePropPageDlg : public TTCPropertyPage
{
public:
CCopypastePropPageDlg(HINSTANCE inst);
virtual ~CCopypastePropPageDlg();
private:
void OnInitDialog();
void OnOK();
enum { IDD = IDD_TABSHEET_COPYPASTE };
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
void OnHelp();
};

// Cygwin Page
extern "C" {
typedef struct cygterm {
char term[128];
char term_type[80];
char port_start[80];
char port_range[80];
char shell[80];
char env1[128];
char env2[128];
BOOL login_shell;
BOOL home_chdir;
BOOL agent_proxy;
} cygterm_t;

void ReadCygtermConfFile(const char *homedir, cygterm_t *psettings);
BOOL WriteCygtermConfFile(const char *homedir, cygterm_t *psettings);
BOOL CmpCygtermConfFile(const cygterm_t *a, const cygterm_t *b);
}

class CCygwinPropPageDlg : public TTCPropertyPage
{
public:
CCygwinPropPageDlg(HINSTANCE inst);
virtual ~CCygwinPropPageDlg();
private:
void OnInitDialog();
void OnOK();
enum { IDD = IDD_TABSHEET_CYGWIN };
cygterm_t settings;
BOOL OnCommand(WPARAM wParam, LPARAM lParam);
void OnHelp();
};
#ifdef __cplusplus

// AddSetting Property Sheet
class CAddSettingPropSheetDlg: public TTCPropSheetDlg
Expand All @@ -113,10 +52,19 @@ class CAddSettingPropSheetDlg: public TTCPropSheetDlg
DefaultPage,
CodingPage,
FontPage,
KeyboardPage,
};
void SetStartPage(Page page);

private:
int m_PageCountCPP;
TTCPropertyPage *m_Page[7];
};
#endif // __cplusplus

typedef enum {
DefaultPage,
CodingPage,
FontPage,
KeyboardPage,
} CAddSettingPropSheetDlgPage;
Loading

0 comments on commit b688e57

Please sign in to comment.