Skip to content

Commit

Permalink
1.4 commit - Added window opacity.
Browse files Browse the repository at this point in the history
  • Loading branch information
jsm174 committed Feb 7, 2016
1 parent e9d1518 commit 324d607
Show file tree
Hide file tree
Showing 12 changed files with 235 additions and 59 deletions.
16 changes: 11 additions & 5 deletions Defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@
* Added AltGr support
* 11/18/2005: Fixed AltGr support J. Millard
* 12/06/2005: Added mouse Copy/Paste emulation J. Millard
* 12/15/2005: Added minimize to systray. J. Millard
* Added tab completion
* 12/15/2005: Added minimize to systray J. Millard
* Added tab completion
* 12/19/2005: Added window opacity J. Millard
*/

#if !defined(DEFINES_H__INCLUDED_)
Expand All @@ -44,12 +45,12 @@

#define PUTTYCS_WINDOW_CLASS_PUTTY _T( "PuTTY" )

#define PUTTYCS_WINDOW_TITLE_TOOL _T( "PuTTYCS 1.3 - PuTTY Command Sender")
#define PUTTYCS_WINDOW_TITLE_APP _T( "PuTTYCS 1.3")
#define PUTTYCS_WINDOW_TITLE_TOOL _T( "PuTTYCS 1.4 - PuTTY Command Sender")
#define PUTTYCS_WINDOW_TITLE_APP _T( "PuTTYCS 1.4")

#define PUTTYCS_WINDOW_TITLE_ABOUT _T( "About PuTTYCS...")

#define PUTTYCS_ABOUT_TEXT_LINE1 _T( "PuTTY Command Sender 1.3" )
#define PUTTYCS_ABOUT_TEXT_LINE1 _T( "PuTTY Command Sender 1.4" )
#define PUTTYCS_ABOUT_TEXT_LINE2 _T( "© 2005 Jason Millard. All rights reserved." )

#define PUTTYCS_WINDOW_TITLE_FILTER_ADD _T( "Add Filter" )
Expand Down Expand Up @@ -86,6 +87,7 @@
#define PUTTYCS_PREF_WINDOW_ALWAYS_ON_TOP _T( "alwaysOnTop" )
#define PUTTYCS_PREF_MINIMIZE_TO_SYSTRAY _T( "minimizeToSysTray" )
#define PUTTYCS_PREF_WINDOW_TRANSITION _T( "transition" )
#define PUTTYCS_PREF_WINDOW_OPACITY _T( "windowOpacity" )

#define PUTTYCS_PREF_AUTO_ARRANGE _T( "autoArrange" )
#define PUTTYCS_PREF_AUTO_ARRANGE_OFF 1
Expand Down Expand Up @@ -154,4 +156,8 @@
#define PUTTYCS_CASCADE_DIMENSION_WIDTH 600
#define PUTTYCS_CASCADE_DIMENSION_HEIGHT 400

#define PUTTYCS_OPACITY_MIN 50
#define PUTTYCS_OPACITY_MAX 255


#endif // !defined(DEFINES_H__INCLUDED_)
79 changes: 73 additions & 6 deletions PreferencesDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
* 12/15/2005: Added minimize to system tray J. Millard
* Updated Help/F1 to go visit website
* Added tab completion
* 12/19/2005: Added window opacity J. Millard
*/

#include "stdafx.h"
Expand Down Expand Up @@ -80,12 +81,13 @@ BEGIN_MESSAGE_MAP(CPreferencesDialog, CDialog)
ON_BN_CLICKED(IDC_ALWAYSONTOP_CHECKBOX, OnAlwaysOnTopCheckbox)
ON_EN_CHANGE(IDC_TRANSITION_EDIT, OnChangeTransition)
ON_BN_CLICKED(IDC_EMULATECOPYPASTE_CHECKBOX, OnEmulateCopyPasteCheckbox)
ON_BN_CLICKED(IDC_OK_BUTTON, OnOKButton)
ON_BN_CLICKED(IDC_MINIMIZETOSYSTRAY_CHECKBOX, OnMinimizeToSysTrayCheckbox)
ON_WM_HELPINFO()
ON_BN_CLICKED(IDC_TABCOMPLETION_CHECKBOX, OnTabCompletionCheckbox)
ON_BN_CLICKED(IDC_AUTOARRANGE_CASCADE_RADIO, OnAutoArrangeRadio)
ON_BN_CLICKED(IDC_AUTOARRANGE_TILE_RADIO, OnAutoArrangeRadio)
ON_BN_CLICKED(IDC_TABCOMPLETION_CHECKBOX, OnTabCompletionCheckbox)
ON_WM_HSCROLL()
ON_WM_HELPINFO()
ON_BN_CLICKED(IDC_OK_BUTTON, OnOKButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

Expand Down Expand Up @@ -251,6 +253,24 @@ void CPreferencesDialog::setTransition( int iTransition )
m_iTransition = iTransition;
}

/**
* CPreferencesDialog::getOpacity()
*/

int CPreferencesDialog::getOpacity()
{
return m_iOpacity;
}

/**
* CPreferencesDialog::setOpacity()
*/

void CPreferencesDialog::setOpacity( int iOpacity )
{
m_iOpacity = iOpacity;
}

/**
* CPreferencesDialog::getTabCompletion()
*/
Expand Down Expand Up @@ -344,6 +364,26 @@ BOOL CPreferencesDialog::OnInitDialog()
SetDlgItemInt( IDC_TRANSITION_EDIT,
m_iTransition );

if ( CPuTTYCSApp::g_pSetLayeredWindowAttributes )
{
((CSliderCtrl*)GetDlgItem(IDC_OPACITY_SLIDER))->
SetRange( PUTTYCS_OPACITY_MIN, PUTTYCS_OPACITY_MAX );

((CSliderCtrl*)GetDlgItem(IDC_OPACITY_SLIDER))->
SetPos( m_iOpacity );
}
else
{
((CStatic*)GetDlgItem(IDC_OPACITY1_STATIC))->
ShowWindow( SW_HIDE );

((CSliderCtrl*)GetDlgItem(IDC_OPACITY_SLIDER))->
ShowWindow( SW_HIDE );

((CStatic*)GetDlgItem(IDC_OPACITY2_STATIC))->
ShowWindow( SW_HIDE );
}

CheckDlgButton( IDC_TABCOMPLETION_CHECKBOX,
m_iTabCompletion );

Expand All @@ -369,7 +409,35 @@ void CPreferencesDialog::UpdateDialog()

((CButton*) GetDlgItem(IDC_OK_BUTTON))->
EnableWindow( (m_iTransition >= 1) &&
(m_iTransition <= 1500) );
(m_iTransition <= 1500) &&
(m_iOpacity >= PUTTYCS_OPACITY_MIN) );

float fPercent =
((float) (m_iOpacity - PUTTYCS_OPACITY_MIN) /
(float) ((PUTTYCS_OPACITY_MAX + 1) -
(PUTTYCS_OPACITY_MIN))) * 100.;

CString csOpacity;
csOpacity.Format( _T("%d%%"), ((int) fPercent) + 1 );

SetDlgItemText( IDC_OPACITY2_STATIC, csOpacity );
}

/**
* CPreferencesDialog::OnHScroll()
*/

void CPreferencesDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if ( pScrollBar->GetDlgCtrlID() == IDC_OPACITY_SLIDER )
{
m_iOpacity =
((CSliderCtrl*) pScrollBar)->GetPos();
}

UpdateDialog();

CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

/**
Expand Down Expand Up @@ -503,5 +571,4 @@ void CPreferencesDialog::OnEmulateCopyPasteCheckbox()
void CPreferencesDialog::OnOKButton()
{
CDialog::OnOK();
}

}
6 changes: 6 additions & 0 deletions PreferencesDialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
* 12/06/2005: Added mouse Copy/Paste emulation J. Millard
* 12/15/2005: Added minimize to system tray J. Millard
* Added tab completion
* 12/19/2005: Added window opacity J. Millard
*/

#if !defined(AFX_PREFERENCESDLG_H__4CD996C9_091F_4F4D_BFE3_EDD9236AB74B__INCLUDED_)
Expand Down Expand Up @@ -79,6 +80,9 @@ class CPreferencesDialog : public CDialog
int getMinimizeToSysTray();
void setMinimizeToSysTray( int iMinimizeToSysTray );

int getOpacity();
void setOpacity( int iOpacity );

int getTransition();
void setTransition( int iTransition );

Expand Down Expand Up @@ -106,6 +110,7 @@ class CPreferencesDialog : public CDialog
int m_iToolWindow;
int m_iAlwaysOnTop;
int m_iMinimizeToSysTray;
int m_iOpacity;
int m_iTransition;
int m_iEmulateCopyPaste;
int m_iTabCompletion;
Expand All @@ -126,6 +131,7 @@ class CPreferencesDialog : public CDialog
afx_msg void OnMinimizeToSysTrayCheckbox();
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnTabCompletionCheckbox();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()

Expand Down
41 changes: 22 additions & 19 deletions PuTTYCS.clw
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ Class7=CPreferencesDialog
Class8=CPuTTYCSApp

ResourceCount=7
Resource1=IDD_PASSWORD_DIALOG
Resource1=IDD_ABOUT_DIALOG
Resource2=IDD_FILTERS_DIALOG
Resource3=IDD_FILTER_DIALOG
Resource4=IDD_PREFERENCES_DIALOG
Resource5=IDD_PUTTYCS_DIALOG
Resource6=IDD_ABOUT_DIALOG
Resource3=IDD_PUTTYCS_DIALOG
Resource4=IDD_FILTER_DIALOG
Resource5=IDD_PREFERENCES_DIALOG
Resource6=IDD_PASSWORD_DIALOG
Resource7=IDM_SYSTRAY_MENU

[CLS:CAboutDialog]
Expand Down Expand Up @@ -151,28 +151,31 @@ Control4=IDCANCEL,button,1342242816
[DLG:IDD_PREFERENCES_DIALOG]
Type=1
Class=CPreferencesDialog
ControlCount=21
ControlCount=24
Control1=IDC_STATIC,button,1342177287
Control2=IDC_TOOLWINDOW_CHECKBOX,button,1342242819
Control3=IDC_ALWAYSONTOP_CHECKBOX,button,1342242819
Control4=IDC_MINIMIZETOSYSTRAY_CHECKBOX,button,1342242819
Control5=IDC_STATIC,static,1342308352
Control6=IDC_TRANSITION_EDIT,edit,1350639744
Control7=IDC_STATIC,static,1342308352
Control8=IDC_STATIC,button,1342177287
Control9=IDC_AUTOARRANGE_OFF_RADIO,button,1342308361
Control10=IDC_AUTOARRANGE_CASCADE_RADIO,button,1342177289
Control11=IDC_AUTOARRANGE_TILE_RADIO,button,1342177289
Control12=IDC_AUTOMINIMIZE_CHECKBOX,button,1342242819
Control13=IDC_ARRANGEONSTARTUP_CHECKBOX,button,1342242819
Control14=IDC_UNHIDEONEXIT_CHECKBOX,button,1342242819
Control15=IDC_STATIC,button,1342177287
Control16=IDC_EMULATECOPYPASTE_CHECKBOX,button,1342242819
Control17=IDC_TABCOMPLETION_CHECKBOX,button,1342242819
Control8=IDC_OPACITY1_STATIC,static,1342308864
Control9=IDC_OPACITY_SLIDER,msctls_trackbar32,1342242816
Control10=IDC_OPACITY2_STATIC,static,1342308864
Control11=IDC_STATIC,button,1342177287
Control12=IDC_AUTOARRANGE_OFF_RADIO,button,1342308361
Control13=IDC_AUTOARRANGE_CASCADE_RADIO,button,1342177289
Control14=IDC_AUTOARRANGE_TILE_RADIO,button,1342177289
Control15=IDC_AUTOMINIMIZE_CHECKBOX,button,1342242819
Control16=IDC_ARRANGEONSTARTUP_CHECKBOX,button,1342242819
Control17=IDC_UNHIDEONEXIT_CHECKBOX,button,1342242819
Control18=IDC_STATIC,button,1342177287
Control19=IDC_SAVEPASSWORD_CHECKBOX,button,1342242819
Control20=IDC_OK_BUTTON,button,1342242817
Control21=IDCANCEL,button,1342242816
Control19=IDC_EMULATECOPYPASTE_CHECKBOX,button,1342242819
Control20=IDC_TABCOMPLETION_CHECKBOX,button,1342242819
Control21=IDC_STATIC,button,1342177287
Control22=IDC_SAVEPASSWORD_CHECKBOX,button,1342242819
Control23=IDC_OK_BUTTON,button,1342242817
Control24=IDCANCEL,button,1342242816

[DLG:IDD_PUTTYCS_DIALOG]
Type=1
Expand Down
14 changes: 14 additions & 0 deletions PuTTYCS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
*
* 11/07/2005: Initial version J. Millard
* 11/17/2005: Added UNICODE support J. Millard
* 12/19/2005: Added window opacity J. Millard
*/

#include "stdafx.h"
Expand All @@ -41,6 +42,8 @@
static char THIS_FILE[] = __FILE__;
#endif

lpfn CPuTTYCSApp::g_pSetLayeredWindowAttributes = NULL;

BEGIN_MESSAGE_MAP(CPuTTYCSApp, CWinApp)
//{{AFX_MSG_MAP(CPuTTYCSApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
Expand Down Expand Up @@ -68,6 +71,16 @@ CPuTTYCSApp theApp;

BOOL CPuTTYCSApp::InitInstance()
{
/**
* VC++ 6.0 layered windows support
*/

HMODULE hUser32 =
GetModuleHandle( _T("USER32.DLL") );

g_pSetLayeredWindowAttributes =
(lpfn) GetProcAddress(hUser32, "SetLayeredWindowAttributes");

/**
* Search for existing application
* (tool window style first, then app window style)
Expand All @@ -76,6 +89,7 @@ BOOL CPuTTYCSApp::InitInstance()
CWnd* pAppWnd =
CWnd::FindWindow( NULL, PUTTYCS_WINDOW_TITLE_TOOL );


if ( !pAppWnd )
{
pAppWnd =
Expand Down
18 changes: 18 additions & 0 deletions PuTTYCS.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
*
* 11/07/2005: Initial version J. Millard
* 11/17/2005: Added UNICODE support J. Millard
* 12/19/2005: Added window opacity J. Millard
*/

#if !defined(AFX_PuTTYCS_H__0CA01026_D42B_4CD9_AD0C_DE18E2410D45__INCLUDED_)
Expand All @@ -44,11 +45,28 @@

#include "resource.h" // main symbols

/**
* VC++ 6.0 layered windows support
*/

typedef BOOL (WINAPI *lpfn) (HWND hWnd, COLORREF cr, BYTE bAlpha, DWORD dwFlags);

#define WS_EX_LAYERED 0x00080000

#define LWA_COLORKEY 1
#define LWA_ALPHA 2

/**
* CPuTTYCSApp
*/

class CPuTTYCSApp : public CWinApp
{
public:
CPuTTYCSApp();

static lpfn g_pSetLayeredWindowAttributes;

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPuTTYCSApp)
Expand Down
21 changes: 13 additions & 8 deletions PuTTYCS.rc
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ IDD_PUTTYCS_DIALOG DIALOGEX 0, 0, 212, 174
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
FONT 8, "MS Sans Serif"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
LTEXT "PuTTY Filter:",IDC_STATIC,7,6,88,8
COMBOBOX IDC_FILTERS_COMBOBOX,7,17,198,114,CBS_DROPDOWNLIST |
Expand Down Expand Up @@ -138,10 +138,15 @@ BEGIN
BS_AUTOCHECKBOX | WS_TABSTOP,13,33,72,10
CONTROL "Minimize to system tray",IDC_MINIMIZETOSYSTRAY_CHECKBOX,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,46,84,10
LTEXT "Transition:",IDC_STATIC,108,20,34,10
EDITTEXT IDC_TRANSITION_EDIT,145,17,22,14,ES_AUTOHSCROLL |
LTEXT "Transition:",IDC_STATIC,108,21,34,10
EDITTEXT IDC_TRANSITION_EDIT,145,18,22,12,ES_AUTOHSCROLL |
ES_NUMBER
LTEXT "ms",IDC_STATIC,171,20,10,10
LTEXT "ms",IDC_STATIC,171,21,10,10
LTEXT "Opacity:",IDC_OPACITY1_STATIC,108,46,34,10,
SS_CENTERIMAGE
CONTROL "Slider1",IDC_OPACITY_SLIDER,"msctls_trackbar32",
WS_TABSTOP,141,45,35,11
LTEXT "100%",IDC_OPACITY2_STATIC,177,46,18,10,SS_CENTERIMAGE
GROUPBOX "Auto arrange:",IDC_STATIC,7,66,197,57
CONTROL "Off",IDC_AUTOARRANGE_OFF_RADIO,"Button",
BS_AUTORADIOBUTTON | WS_GROUP,13,81,44,10
Expand Down Expand Up @@ -232,8 +237,8 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,3,0,0
PRODUCTVERSION 1,3,0,0
FILEVERSION 1,4,0,0
PRODUCTVERSION 1,4,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -251,14 +256,14 @@ BEGIN
VALUE "Comments", "Created by Jason Millard\0"
VALUE "CompanyName", "\0"
VALUE "FileDescription", "PuTTYCS\0"
VALUE "FileVersion", "1, 3, 0, 0\0"
VALUE "FileVersion", "1, 4, 0, 0\0"
VALUE "InternalName", "PuTTYCS\0"
VALUE "LegalCopyright", "Copyright (C) 2005\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "PuTTYCS.EXE\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "PuTTYCS - PuTTY Command Sender 1.3\0"
VALUE "ProductVersion", "1, 3, 0, 0\0"
VALUE "ProductVersion", "1, 4, 0, 0\0"
VALUE "SpecialBuild", "\0"
END
END
Expand Down
Loading

0 comments on commit 324d607

Please sign in to comment.