blob: fc0029239d54f1ac0a4cd0f445b065897a48a5b5 [file] [log] [blame]
Alexandre Julliardd37eb361997-07-20 16:23:21 +00001/******************************************************************************
2 *
3 * tweak.c
4 *
5 * Windows 95 style interface tweaks.
6 * Copyright (c) 1997 Dave Cuthbert.
7 *
8 * FIXME: This file is, unfortunately, aptly named: the method of
9 * displaying Win95 style windows is a tweak. Lots of stuff does not yet
10 * work -- and probably never will unless some of this code is
11 * incorporated into the mainstream Wine code.
12 *
13 * DEVELOPERS, PLEASE NOTE: Before delving into the mainstream code and
14 * altering it, consider how your changes will affect the Win3.1 interface
15 * (which has taken a major effort to create!). After you make any sort of
16 * non-trivial change, *test* the Wine code running in Win3.1 mode! The
17 * object here is to make it so that the person who tests the latest version
18 * of Wine without adding the tweaks into wine.conf notices nothing out of
19 * the ordinary.
20 *
21 * Revision history
22 * 03-Jul-1997 Dave Cuthbert (dacut@ece.cmu.edu)
23 * Original implementation.
Alexandre Julliard767e6f61998-08-09 12:47:43 +000024 * 05-Aug-1998 Eric Kohl (ekohl@abo.rhein-zeitung.de)
25 * Removed some unused code.
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000026 * 22-Sep-1998 Eric Kohl (ekohl@abo.rhein-zeitung.de)
27 * Removed more unused code.
Alexandre Julliard767e6f61998-08-09 12:47:43 +000028 *
Alexandre Julliardd37eb361997-07-20 16:23:21 +000029 *****************************************************************************/
30
Alexandre Julliardd37eb361997-07-20 16:23:21 +000031#include <string.h>
Jeremy Whited3e22d92000-02-10 19:03:02 +000032#include "windef.h"
33#include "wingdi.h"
Marcus Meissner04c3e1d1999-02-19 10:37:02 +000034#include "winuser.h"
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000035#include "tweak.h"
36#include "options.h"
Alexandre Julliard61fece01999-06-26 19:09:08 +000037#include "debugtools.h"
Alexandre Julliardd37eb361997-07-20 16:23:21 +000038
Patrik Stridvallb4b9fae1999-04-19 14:56:29 +000039DEFAULT_DEBUG_CHANNEL(tweak)
40
Alexandre Julliard767e6f61998-08-09 12:47:43 +000041/* General options */
Alexandre Julliardd37eb361997-07-20 16:23:21 +000042
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000043WINE_LOOK TWEAK_WineLook = WIN31_LOOK;
Alexandre Julliardd37eb361997-07-20 16:23:21 +000044
45
46/******************************************************************************
47 *
48 * int TWEAK_Init()
49 *
50 * Does the full initialization of the Win95 tweak subsystem. Return value
51 * indicates success. Called by loader/main.c's MAIN_Init().
52 *
53 * Revision history
54 * 05-Jul-1997 Dave Cuthbert (dacut@ece.cmu.edu)
55 * Original implementation.
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000056 * 22-Sep-1998 Eric Kohl (ekohl@abo.rhein-zeitung.de)
57 * Removed unused code and added Win98 option.
Alexandre Julliardd37eb361997-07-20 16:23:21 +000058 *
59 *****************************************************************************/
60
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000061int TWEAK_Init (void)
Alexandre Julliardd37eb361997-07-20 16:23:21 +000062{
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000063 char szIniString[80];
64
65 PROFILE_GetWineIniString ("Tweak.Layout", "Win95Look", "TestString",
66 szIniString, 80);
67 if (strncmp (szIniString, "TestString", 10)) {
68 if (PROFILE_GetWineIniBool ("Tweak.Layout", "Win95Look", 0)) {
69 TWEAK_WineLook = WIN95_LOOK;
Alexandre Julliard61fece01999-06-26 19:09:08 +000070 TRACE("Using Win95 look and feel.\n");
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000071 }
72 else {
73 TWEAK_WineLook = WIN31_LOOK;
Alexandre Julliard61fece01999-06-26 19:09:08 +000074 TRACE("Using Win3.1 look and feel.\n");
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000075 }
Alexandre Julliard61fece01999-06-26 19:09:08 +000076 ERR(
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000077 "Replace \"Win95Look\" by \"WineLook\" in your \"wine.ini\"!\n");
78 }
79
80 PROFILE_GetWineIniString ("Tweak.Layout", "WineLook", "Win31",
81 szIniString, 80);
82
83 if (!strncasecmp (szIniString, "Win31", 5)) {
84 TWEAK_WineLook = WIN31_LOOK;
Alexandre Julliard61fece01999-06-26 19:09:08 +000085 TRACE("Using Win3.1 look and feel.\n");
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000086 }
87 else if (!strncasecmp (szIniString, "Win95", 5)) {
88 TWEAK_WineLook = WIN95_LOOK;
Alexandre Julliard61fece01999-06-26 19:09:08 +000089 TRACE("Using Win95 look and feel.\n");
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000090 }
91 else if (!strncasecmp (szIniString, "Win98", 5)) {
92 TWEAK_WineLook = WIN98_LOOK;
Alexandre Julliard61fece01999-06-26 19:09:08 +000093 TRACE("Using Win98 look and feel.\n");
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000094 }
95 else {
96 TWEAK_WineLook = WIN31_LOOK;
Alexandre Julliard61fece01999-06-26 19:09:08 +000097 TRACE("Using Win3.1 look and feel.\n");
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000098 }
99
Alexandre Julliardd37eb361997-07-20 16:23:21 +0000100 return 1;
101}