зеркало из https://github.com/mozilla/pjs.git
add one selector to access the csid for menu and menu bar
This commit is contained in:
Родитель
b9da715968
Коммит
8a3d53f419
|
@ -1,116 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.0 (the "NPL"); you may not use this file except in
|
||||
* compliance with the NPL. You may obtain a copy of the NPL at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* NPL.
|
||||
*
|
||||
* The Initial Developer of this code under the NPL is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#include "uintl.h"
|
||||
#include "resgui.h"
|
||||
#include "uprefd.h"
|
||||
#include "intl_csi.h"
|
||||
#include "intlpriv.h"
|
||||
INTL_Encoding_ID ScriptToEncoding(ScriptCode script)
|
||||
{
|
||||
switch(script)
|
||||
{
|
||||
case smRoman: return CS_MAC_ROMAN; // = 0, /*Roman*/
|
||||
case smJapanese: return CS_SJIS; // = 1, /*Japanese*/
|
||||
case smTradChinese: return CS_BIG5; // = 2, /*Traditional Chinese*/
|
||||
case smKorean: return CS_KSC_8BIT; // = 3, /*Korean*/
|
||||
// case smArabic: // = 4, /*Arabic*/
|
||||
// case smHebrew: // = 5, /*Hebrew*/
|
||||
case smGreek: return CS_MAC_GREEK; // = 6, /*Greek*/
|
||||
case smCyrillic: return CS_MAC_CYRILLIC; // = 7, /*Cyrillic*/
|
||||
// case smRSymbol: // = 8, /*Right-left symbol*/
|
||||
// case smDevanagari: // = 9, /*Devanagari*/
|
||||
// case smGurmukhi: // = 10, /*Gurmukhi*/
|
||||
// case smGujarati: // = 11, /*Gujarati*/
|
||||
// case smOriya: // = 12, /*Oriya*/
|
||||
// case smBengali: // = 13, /*Bengali*/
|
||||
// case smTamil: // = 14, /*Tamil*/
|
||||
// case smTelugu: // = 15, /*Telugu*/
|
||||
// case smKannada: // = 16, /*Kannada/Kanarese*/
|
||||
// case smMalayalam: // = 17 /*Malayalam*/
|
||||
// case smSinhalese: // = 18, /*Sinhalese*/
|
||||
// case smBurmese: // = 19, /*Burmese*/
|
||||
// case smKhmer: // = 20, /*Khmer/Cambodian*/
|
||||
// case smThai: // = 21, /*Thai*/
|
||||
// case smLaotian: // = 22, /*Laotian*/
|
||||
// case smGeorgian: // = 23, /*Georgian*/
|
||||
// case smArmenian: // = 24, /*Armenian*/
|
||||
case smSimpChinese: return CS_GB_8BIT; // = 25, /*Simplified Chinese*/
|
||||
// case smTibetan: // = 26, /*Tibetan*/
|
||||
// case smMongolian: // = 27, /*Mongolian*/
|
||||
// case smGeez: // = 28, /*Geez/Ethiopic*/
|
||||
// case smEthiopic: // = 28, /*Synonym for smGeez*/
|
||||
case smEastEurRoman: return CS_MAC_CE; // = 29, /*Synonym for smSlavic*/
|
||||
// case smVietnamese: // = 30, /*Vietnamese*/
|
||||
// case smExtArabic: // = 31, /*extended Arabic*/
|
||||
// case smUninterp: // = 32, /*uninterpreted symbols, e.g. palette symbols*/
|
||||
default: return CS_MAC_ROMAN;
|
||||
}
|
||||
}
|
||||
|
||||
// Returns default document csid which is the current
|
||||
// selection of the encoding menu.
|
||||
//
|
||||
uint16 FE_DefaultDocCharSetID(iDocumentContext context)
|
||||
{
|
||||
#pragma unused(context)
|
||||
|
||||
uint16 csid;
|
||||
CommandT iCommand;
|
||||
ResIDT outMENUid;
|
||||
MenuHandle outMenuHandle;
|
||||
Int16 outItem;
|
||||
CharParameter markChar;
|
||||
|
||||
for (csid = CS_DEFAULT, iCommand = ENCODING_BASE; iCommand <= ENCODING_CEILING; iCommand++)
|
||||
{
|
||||
LMenuBar::GetCurrentMenuBar()->FindMenuItem(iCommand, outMENUid, outMenuHandle, outItem);
|
||||
::GetItemMark (outMenuHandle, outItem, &markChar);
|
||||
if (checkMark == markChar)
|
||||
{
|
||||
csid = (uint16) CPrefs::CmdNumToDocCsid(iCommand);
|
||||
break;
|
||||
}
|
||||
}
|
||||
XP_ASSERT(csid != CS_DEFAULT); // no check mark in the encoding menu
|
||||
|
||||
return csid;
|
||||
}
|
||||
|
||||
|
||||
INTLCharSetID FE_GetCharSetID(INTL_CharSetID_Selector selector)
|
||||
{
|
||||
INTLCharSetID charsetID = CS_DEFAULT;
|
||||
|
||||
switch (selector)
|
||||
{
|
||||
case INTL_FileNameCsidSel:
|
||||
charsetID = (INTLCharSetID) ScriptToEncoding(GetScriptManagerVariable(smSysScript));
|
||||
break;
|
||||
case INTL_OldBookmarkCsidSel:
|
||||
case INTL_DefaultTextWidgetCsidSel:
|
||||
charsetID = (INTLCharSetID) ScriptToEncoding(FontToScript(applFont));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
XP_ASSERT(charsetID != CS_DEFAULT);
|
||||
|
||||
return charsetID;
|
||||
}
|
Загрузка…
Ссылка в новой задаче