=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: view: Show the filename in the window title.
Alexandre Julliard
julliard at winehq.org
Mon Mar 26 12:29:34 CDT 2012
Module: wine
Branch: master
Commit: c275fd73fd5046f35709ee1f90f1baaff9a0095f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c275fd73fd5046f35709ee1f90f1baaff9a0095f
Author: André Hentschel <nerv at dawncrow.de>
Date: Sun Mar 18 19:31:15 2012 +0100
view: Show the filename in the window title.
---
programs/view/view.c | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/programs/view/view.c b/programs/view/view.c
index c50a0ff..ebd48aa 100644
--- a/programs/view/view.c
+++ b/programs/view/view.c
@@ -25,7 +25,8 @@
static HINSTANCE hInst;
static HWND hMainWnd;
static WCHAR szAppName[5] = {'V','i','e','w',0};
-static WCHAR szTitle[80];
+static WCHAR szTitle[MAX_PATH];
+static WCHAR szFileTitle[MAX_PATH];
static HMETAFILE hmf;
static HENHMETAFILE enhmf;
@@ -204,6 +205,27 @@ static void DoOpenFile(LPCWSTR filename)
InvalidateRect( hMainWnd, NULL, TRUE );
}
+static void UpdateWindowCaption(void)
+{
+ WCHAR szCaption[MAX_PATH];
+ WCHAR szView[MAX_PATH];
+ static const WCHAR hyphenW[] = { ' ','-',' ',0 };
+
+ LoadStringW(hInst, IDS_DESCRIPTION, szView, sizeof(szView)/sizeof(WCHAR));
+
+ if (szFileTitle[0] != '\0')
+ {
+ lstrcpyW(szCaption, szFileTitle);
+ LoadStringW(hInst, IDS_DESCRIPTION, szView, sizeof(szView)/sizeof(WCHAR));
+ lstrcatW(szCaption, hyphenW);
+ lstrcatW(szCaption, szView);
+ }
+ else
+ lstrcpyW(szCaption, szView);
+
+ SetWindowTextW(hMainWnd, szCaption);
+}
+
static LRESULT CALLBACK WndProc(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM lparam)
{
switch (uMessage)
@@ -236,7 +258,12 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM
{
WCHAR filename[MAX_PATH];
if (FileOpen(hwnd, filename, sizeof(filename)/sizeof(WCHAR)))
+ {
+ szFileTitle[0] = 0;
+ GetFileTitleW(filename, szFileTitle, sizeof(szFileTitle));
DoOpenFile(filename);
+ UpdateWindowCaption();
+ }
}
break;
More information about the wine-cvs
mailing list