notepad upgrades
Shachar Shemesh
wine-patches at sun.consumer.org.il
Sat Jan 25 06:16:41 CST 2003
These changes add font selection support to notepad, as well as solving
a compilation warning on Visual C and adding accelerators.
Changelog:
Shachar Shemesh <winecode at sun.consumer.org.il>
programs/notepad/dialog.c
* Fix warning about converting double to int.
* Implemented font selection
programs/notepad/En.rc
* Added accelerators resource
* Added the "Font" entry.
programs/notepad/main.c
* Added support for switching fonts.
-------------- next part --------------
Index: programs/notepad/En.rc
===================================================================
RCS file: /home/sun/sources/cvs/wine/programs/notepad/En.rc,v
retrieving revision 1.9
diff -u -r1.9 En.rc
--- programs/notepad/En.rc 17 Aug 2002 18:27:40 -0000 1.9
+++ programs/notepad/En.rc 25 Jan 2003 11:44:30 -0000
@@ -24,14 +24,15 @@
{
POPUP "&File" {
MENUITEM "&New...", CMD_NEW
- MENUITEM "&Open", CMD_OPEN
- MENUITEM "&Save", CMD_SAVE
+ MENUITEM "&Open\tCtrl+O", CMD_OPEN
+ MENUITEM "&Save\tCtrl+S", CMD_SAVE
MENUITEM "Save &as...", CMD_SAVE_AS
+ MENUITEM SEPARATOR
MENUITEM "&Print", CMD_PRINT
MENUITEM "Page Se&tup...", CMD_PAGE_SETUP
MENUITEM "P&rinter Setup...", CMD_PRINTER_SETUP
MENUITEM SEPARATOR
- MENUITEM "&Exit", CMD_EXIT
+ MENUITEM "E&xit", CMD_EXIT
}
POPUP "&Edit" {
MENUITEM "&Undo\tCtrl+Z", CMD_UNDO
@@ -41,15 +42,17 @@
MENUITEM "&Paste\tCtrl+V", CMD_PASTE
MENUITEM "&Delete\tDel", CMD_DELETE
MENUITEM SEPARATOR
- MENUITEM "Select &all", CMD_SELECT_ALL
+ MENUITEM "Select &all\tCtrl+A", CMD_SELECT_ALL
MENUITEM "&Time/Date\tF5", CMD_TIME_DATE
- MENUITEM SEPARATOR
- MENUITEM "&Wrap long lines", CMD_WRAP
}
POPUP "&Search" {
- MENUITEM "&Search", CMD_SEARCH
+ MENUITEM "&Search\tCtrl+F", CMD_SEARCH
MENUITEM "&Search next\tF3", CMD_SEARCH_NEXT
}
+POPUP "&Format" {
+ MENUITEM "&Wrap long lines", CMD_WRAP
+ MENUITEM "&Font...", CMD_FONT
+ }
POPUP "&Help" {
MENUITEM "&Contents", CMD_HELP_CONTENTS
MENUITEM "&Search...", CMD_HELP_SEARCH
@@ -89,6 +92,16 @@
DEFPUSHBUTTON "OK", 0x151, 180, 3, 40, 15, WS_TABSTOP
PUSHBUTTON "Cancel", 0x152, 180, 21, 40, 15, WS_TABSTOP
PUSHBUTTON "&Help", 0x153, 180, 39, 40, 15, WS_TABSTOP
+}
+
+ID_ACCEL ACCELERATORS LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
+{
+ "^A", CMD_SELECT_ALL
+ "^F", CMD_SEARCH
+ "^O", CMD_OPEN
+ "^S", CMD_SAVE
+ VK_F3, CMD_SEARCH_NEXT, VIRTKEY
+ VK_F5, CMD_TIME_DATE, VIRTKEY
}
STRINGTABLE DISCARDABLE LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
Index: programs/notepad/dialog.c
===================================================================
RCS file: /home/sun/sources/cvs/wine/programs/notepad/dialog.c,v
retrieving revision 1.22
diff -u -r1.22 dialog.c
--- programs/notepad/dialog.c 21 Oct 2002 18:22:15 -0000 1.22
+++ programs/notepad/dialog.c 25 Jan 2003 12:07:23 -0000
@@ -504,7 +504,7 @@
/* I don't know what's up with this TextOut command. This comes out
kind of mangled.
*/
- TextOut(hContext, border*2, border+szMetric.cy*0.5, szDocumentName, count);
+ TextOut(hContext, border*2, border+szMetric.cy/2, szDocumentName, count);
}
/* The starting point for the main text */
@@ -667,6 +667,29 @@
Globals.bWrapLongLines = !Globals.bWrapLongLines;
CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_WRAP,
MF_BYCOMMAND | (Globals.bWrapLongLines ? MF_CHECKED : MF_UNCHECKED));
+}
+
+VOID DIALOG_SelectFont(VOID)
+{
+ CHOOSEFONT cf;
+ LOGFONT lf=Globals.lfFont;
+
+ ZeroMemory( &cf, sizeof(cf) );
+ cf.lStructSize=sizeof(cf);
+ cf.hwndOwner=Globals.hMainWnd;
+ cf.lpLogFont=&lf;
+ cf.Flags=CF_SCREENFONTS;
+
+ if( ChooseFont(&cf) )
+ {
+ HFONT currfont=Globals.hFont;
+
+ Globals.hFont=CreateFontIndirect( &lf );
+ Globals.lfFont=lf;
+ SendMessage( Globals.hEdit, WM_SETFONT, (WPARAM)Globals.hFont, (LPARAM)TRUE );
+ if( currfont!=NULL )
+ DeleteObject( currfont );
+ }
}
VOID DIALOG_Search(VOID)
Index: programs/notepad/main.c
===================================================================
RCS file: /home/sun/sources/cvs/wine/programs/notepad/main.c,v
retrieving revision 1.25
diff -u -r1.25 main.c
--- programs/notepad/main.c 15 Nov 2002 04:13:46 -0000 1.25
+++ programs/notepad/main.c 25 Jan 2003 11:44:30 -0000
@@ -72,10 +72,12 @@
case CMD_DELETE: DIALOG_EditDelete(); break;
case CMD_SELECT_ALL: DIALOG_EditSelectAll(); break;
case CMD_TIME_DATE: DIALOG_EditTimeDate();break;
- case CMD_WRAP: DIALOG_EditWrap(); break;
case CMD_SEARCH: DIALOG_Search(); break;
case CMD_SEARCH_NEXT: DIALOG_SearchNext(); break;
+
+ case CMD_WRAP: DIALOG_EditWrap(); break;
+ case CMD_FONT: DIALOG_SelectFont(); break;
case CMD_HELP_CONTENTS: DIALOG_HelpContents(); break;
case CMD_HELP_SEARCH: DIALOG_HelpSearch(); break;
@@ -118,23 +120,16 @@
{
RECT rc;
GetClientRect(hWnd, &rc);
- if (LoadLibrary("RichEd32.dll"))
- {
- Globals.hEdit =
- CreateWindow("RICHEDIT", "",
+ Globals.hEdit = CreateWindow("EDIT", "",
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL |
ES_AUTOVSCROLL | ES_MULTILINE,
0, 0, rc.right, rc.bottom, hWnd,
NULL, Globals.hInstance, NULL);
- } else {
- ShowLastError();
- return -1;
- }
break;
}
case WM_COMMAND:
- NOTEPAD_MenuCommand(wParam);
+ NOTEPAD_MenuCommand(LOWORD(wParam));
break;
case WM_DESTROYCLIPBOARD:
@@ -273,6 +268,7 @@
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE prev, LPSTR cmdline, int show)
{
MSG msg;
+ HACCEL hAccel;
WNDCLASSEX class;
char className[] = "NPClass";
char winName[] = "Notepad";
@@ -313,9 +309,22 @@
HandleCommandLine(cmdline);
- while (GetMessage(&msg, 0, 0, 0)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
+ hAccel=LoadAccelerators( hInstance, MAKEINTRESOURCE(ID_ACCEL) );
+
+ if( hAccel!=NULL )
+ {
+ while( GetMessage(&msg, 0, 0, 0)) {
+ if( !TranslateAccelerator( Globals.hMainWnd, hAccel, &msg ) ) {
+ TranslateMessage( &msg );
+ DispatchMessage( &msg );
+ }
+ }
+ } else
+ {
+ while (GetMessage(&msg, 0, 0, 0)) {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
}
return msg.wParam;
}
Index: programs/notepad/main.h
===================================================================
RCS file: /home/sun/sources/cvs/wine/programs/notepad/main.h,v
retrieving revision 1.13
diff -u -r1.13 main.h
--- programs/notepad/main.h 8 Jul 2002 19:41:09 -0000 1.13
+++ programs/notepad/main.h 25 Jan 2003 12:01:14 -0000
@@ -46,6 +46,8 @@
HWND hMainWnd;
HWND hFindReplaceDlg;
HWND hEdit;
+ HFONT hFont; /* Font used by the edit control */
+ LOGFONT lfFont;
HICON hMainIcon;
HICON hDefaultIcon;
LPCSTR lpszIcoFile;
Index: programs/notepad/notepad_res.h
===================================================================
RCS file: /home/sun/sources/cvs/wine/programs/notepad/notepad_res.h,v
retrieving revision 1.2
diff -u -r1.2 notepad_res.h
--- programs/notepad/notepad_res.h 8 Jul 2002 19:41:09 -0000 1.2
+++ programs/notepad/notepad_res.h 25 Jan 2003 11:44:30 -0000
@@ -21,6 +21,7 @@
#define MAIN_MENU 0x201
#define DIALOG_PAGESETUP 0x202
+#define ID_ACCEL 0x203
/* Commands */
#define CMD_NEW 0x100
@@ -39,10 +40,12 @@
#define CMD_DELETE 0x114
#define CMD_SELECT_ALL 0x116
#define CMD_TIME_DATE 0x117
-#define CMD_WRAP 0x119
#define CMD_SEARCH 0x120
#define CMD_SEARCH_NEXT 0x121
+
+#define CMD_WRAP 0x119
+#define CMD_FONT 0x140
#define CMD_HELP_CONTENTS 0x130
#define CMD_HELP_SEARCH 0x131
More information about the wine-patches
mailing list