/*
 * Program Manager
 *
 * Copyright 1996 Ulrich Schmid
 * Copyright 2002 Sylvain Petreolle
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "winuser.h"
#include "progman.h"

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT

MAIN_MENU MENU
{
 POPUP "&File" {
   MENUITEM "&New...",              PM_NEW
   MENUITEM "O&pen\tEnter",             PM_OPEN
   MENUITEM "&Move...\tF7",             PM_MOVE,      GRAYED
   MENUITEM "&Copy...\tF8",             PM_COPY,      GRAYED
   MENUITEM "&Delete\tDel",             PM_DELETE
   MENUITEM "&Properties\tAlt+Enter",   PM_ATTRIBUTES
   MENUITEM SEPARATOR
   MENUITEM "&Execute...",          PM_EXECUTE
   MENUITEM SEPARATOR
   MENUITEM "E&xit Windows",            PM_EXIT
 }
 POPUP "&Options" {
   MENUITEM "&Arrange automatically",  PM_AUTO_ARRANGE
   MENUITEM "&Minimize on run",    PM_MIN_ON_RUN
   MENUITEM "&Save settings on exit", PM_SAVE_SETTINGS
 }
 POPUP "&Windows" {
   MENUITEM "&Overlapped\tShift+F5",       PM_OVERLAP
   MENUITEM "&Side by side\tShift+F4",  PM_SIDE_BY_SIDE
   MENUITEM "&Arrange Icons",       PM_ARRANGE
 }
 
POPUP "&Help" {
   MENUITEM "&Contents\tF1",            PM_CONTENTS
   MENUITEM "&About Program Manager",   PM_ABOUT_WINE
 }
}

STRINGTABLE
{
IDS_PROGRAM_MANAGER,		"Program Manager"
IDS_ERROR,			"ERROR"
IDS_WARNING,			"WARNING"
IDS_INFO,			"Information"
IDS_DELETE,			"Delete"
IDS_DELETE_GROUP_s,		"Delete group `%s'?"
IDS_DELETE_PROGRAM_s,		"Delete program `%s'?"
IDS_NOT_IMPLEMENTED,		"Not implemented"
IDS_FILE_READ_ERROR_s,		"Error reading `%s'."
IDS_FILE_WRITE_ERROR_s,		"Error writing `%s'."
IDS_GRPFILE_READ_ERROR_s,	"\
The group file `%s' cannot be opened.\n\
Should it be tried further on?"
IDS_OUT_OF_MEMORY,		"Out of memory."
IDS_WINHELP_ERROR,		"Help not available."
IDS_UNKNOWN_FEATURE_s,		"Unknown feature in %s"
IDS_FILE_NOT_OVERWRITTEN_s,	"File `%s' exists. Not overwritten."
IDS_SAVE_GROUP_AS_s,		"Save group as `%s to prevent overwriting original files."
IDS_NO_HOT_KEY,			"#msgctxt#hotkey#None"
IDS_ALL_FILES,			"All files (*.*)"
IDS_PROGRAMS,			"Programs"
IDS_LIBRARIES_DLL,		"Libraries (*.dll)"
IDS_SYMBOL_FILES,		"Icon files"
IDS_SYMBOLS_ICO,		"Icons (*.ico)"
}

IDA_ACCEL ACCELERATORS
{
VK_F1,     PM_CONTENTS, VIRTKEY
VK_RETURN, PM_ATTRIBUTES, VIRTKEY, ALT
}

/* Dialog `New' */

IDD_NEW DIALOG 0, 0, 170, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "New"
{
RADIOBUTTON   "",                 PM_NEW_GROUP,    10, 15,  10, 15
LTEXT         "Program &group",   -1,    20, 18,  80, 15
RADIOBUTTON   "",                 PM_NEW_PROGRAM,  10, 35,  10, 15
LTEXT         "&Program", -1,  20, 38,  80, 15
DEFPUSHBUTTON "OK",          IDOK,           105,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",      IDCANCEL,       105, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Help",        PM_HELP,        105, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Move' */

IDD_MOVE DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Move Program"
{
LTEXT         "Move program:",    -1,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         "From group:", -1,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "&To group:",   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "OK",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Help",            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Copy' */

IDD_COPY DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Copy Program"
{
LTEXT         "Copy program:",    -1,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         "From group:", -1,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "&To group:",   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "OK",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Help",            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Group attributes' */

IDD_GROUP DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Program Group Attributes"
{
LTEXT     "&Description:", PM_DESCRIPTION_TXT,   5, 18,  60, 15
EDITTEXT                            PM_DESCRIPTION,       70, 18,  110, 15, WS_TABSTOP
LTEXT     "&Group file:",        PM_FILE_TXT,          5, 38,  60, 15
EDITTEXT                            PM_FILE,              70, 38,  110, 15, WS_TABSTOP
DEFPUSHBUTTON "OK",            IDOK,                185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",        IDCANCEL,            185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Help",          PM_HELP,             185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Program attributes' */

IDD_PROGRAM DIALOG 0, 0, 275, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Program Attributes"
{
LTEXT         "&Description:",  PM_DESCRIPTION_TXT,   5, 10,  75, 10
EDITTEXT                                   PM_DESCRIPTION,       95, 10,  90, 15, WS_TABSTOP
LTEXT         "&Command line:", PM_COMMAND_LINE_TXT,  5, 25,  75, 10
EDITTEXT                                   PM_COMMAND_LINE,      95, 25,  90, 15, WS_TABSTOP
LTEXT         "&Working directory:",    PM_DIRECTORY_TXT,     5, 40,  75, 10
EDITTEXT                                   PM_DIRECTORY,         95, 40,  90, 15, WS_TABSTOP
LTEXT         "&Key combination:",      PM_HOT_KEY_TXT,       5, 55,  75, 10
EDITTEXT                                   PM_HOT_KEY,           95, 55,  90, 15, WS_TABSTOP
ICON          "",                          PM_ICON,              20, 70
CHECKBOX      "&Minimize at launch",       PM_SYMBOL,            95, 75,  90, 10, WS_TABSTOP
DEFPUSHBUTTON "OK",                   IDOK,                200,  5,  70, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",               IDCANCEL,            200, 25,  70, 15, WS_TABSTOP
PUSHBUTTON    "&Browse...",               PM_BROWSE,           200, 45,  70, 15, WS_TABSTOP
PUSHBUTTON    "Change &icon...", PM_OTHER_SYMBOL,     200, 65,  70, 15, WS_TABSTOP
PUSHBUTTON    "&Help",                 PM_HELP,             200, 85,  70, 15, WS_TABSTOP
}

/* Dialog `Symbol' */

IDD_SYMBOL DIALOG 0, 0, 240, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Change Icon"
{
LTEXT     "&Filename:",    PM_ICON_FILE_TXT,    5, 15,  60, 10
EDITTEXT                         PM_ICON_FILE,       65, 15,  105, 15, WS_TABSTOP
LTEXT     "Current &icon:", PM_SYMBOL_LIST_TXT,  5, 30, 60, 10
COMBOBOX                         PM_SYMBOL_LIST,      5, 40, 60, 50,
   CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_OWNERDRAWFIXED | WS_TABSTOP
DEFPUSHBUTTON "OK",         IDOK,              175,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",     IDCANCEL,          175, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Browse...",    PM_BROWSE,         175, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Help",       PM_HELP,           175, 65,  60, 15, WS_TABSTOP
}

/* Dialog `Execute' */

IDD_EXECUTE DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
CAPTION "Execute Program"
{
LTEXT     "&Command line:", -1,   05, 15, 120, 10
EDITTEXT                               PM_COMMAND, 05, 25, 120, 15, WS_TABSTOP
CHECKBOX      "",                      PM_SYMBOL,  05, 45,  10, 10, WS_TABSTOP
LTEXT         "&Minimize at launch",   -1,   20, 45, 120, 10
DEFPUSHBUTTON "OK",               IDOK,      135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Cancel",           IDCANCEL,  135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Browse...",          PM_BROWSE, 135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Help",             PM_HELP,   135, 65,  60, 15, WS_TABSTOP
}
