--HG--
branch : product-engine
master
Igor Borovkov 2009-12-26 18:36:16 +02:00
commit bb0fc4cdf7
12 changed files with 255 additions and 167 deletions

View File

@ -64,18 +64,6 @@ static LLDefaultChildRegistry::Register<LLAdHocChiclet> t5("chiclet_im_adhoc");
static LLDefaultChildRegistry::Register<LLScriptChiclet> t6("chiclet_script");
static LLDefaultChildRegistry::Register<LLInvOfferChiclet> t7("chiclet_offer");
static const LLRect CHICLET_RECT(0, 25, 25, 0);
static const LLRect CHICLET_ICON_RECT(0, 22, 22, 0);
static const LLRect VOICE_INDICATOR_RECT(50, 25, 70, 0);
static const LLRect COUNTER_RECT(25, 25, 50, 0);
static const S32 OVERLAY_ICON_SHIFT = 2; // used for shifting of an overlay icon for new massages in a chiclet
static const S32 SCROLL_BUTTON_PAD = 5;
// static
const S32 LLChicletPanel::s_scroll_ratio = 10;
const S32 LLChicletNotificationCounterCtrl::MAX_DISPLAYED_COUNT = 99;
boost::signals2::signal<LLChiclet* (const LLUUID&),
LLIMChiclet::CollectChicletCombiner<std::list<LLChiclet*> > >
LLIMChiclet::sFindChicletsSignal;
@ -391,9 +379,9 @@ void LLNotificationChiclet::createMenu()
//////////////////////////////////////////////////////////////////////////
LLChiclet::Params::Params()
: show_counter("show_counter")
: show_counter("show_counter", true)
, enable_counter("enable_counter", false)
{
show_counter = true;
}
LLChiclet::LLChiclet(const Params& p)
@ -451,26 +439,12 @@ void LLChiclet::setValue(const LLSD& value)
LLIMChiclet::LLIMChiclet(const LLIMChiclet::Params& p)
: LLChiclet(p)
, mShowSpeaker(false)
, mDefaultWidth(p.rect().getWidth())
, mNewMessagesIcon(NULL)
, mSpeakerCtrl(NULL)
, mCounterCtrl(NULL)
{
// initialize an overlay icon for new messages
LLIconCtrl::Params icon_params;
icon_params.visible = false;
icon_params.image = LLUI::getUIImage(p.new_messages_icon_name);
mNewMessagesIcon = LLUICtrlFactory::create<LLIconCtrl>(icon_params);
addChild(mNewMessagesIcon);
// adjust size and position of an icon
LLRect chiclet_rect = p.rect;
LLRect overlay_icon_rect = LLRect(chiclet_rect.getWidth()/2, chiclet_rect.getHeight(), chiclet_rect.getWidth(), chiclet_rect.getHeight()/2);
mNewMessagesIcon->setRect(overlay_icon_rect);
// shift an icon a little bit to the right and up corner of a chiclet
overlay_icon_rect.translate(OVERLAY_ICON_SHIFT, OVERLAY_ICON_SHIFT);
enableCounterControl(false);
enableCounterControl(p.enable_counter);
}
void LLIMChiclet::setShowSpeaker(bool show)
@ -516,15 +490,15 @@ void LLIMChiclet::setRequiredWidth()
{
bool show_speaker = getShowSpeaker();
bool show_counter = getShowCounter();
S32 required_width = CHICLET_RECT.getWidth();
S32 required_width = mDefaultWidth;
if (show_counter)
{
required_width += COUNTER_RECT.getWidth();
required_width += mCounterCtrl->getRect().getWidth();
}
if (show_speaker)
{
required_width += VOICE_INDICATOR_RECT.getWidth();
required_width += mSpeakerCtrl->getRect().getWidth();
}
reshape(required_width, getRect().getHeight());
@ -536,14 +510,17 @@ void LLIMChiclet::toggleSpeakerControl()
{
if(getShowSpeaker())
{
// move speaker to the right of chiclet icon
LLRect speaker_rc = mSpeakerCtrl->getRect();
speaker_rc.setLeftTopAndSize(mDefaultWidth, speaker_rc.mTop, speaker_rc.getWidth(), speaker_rc.getHeight());
mSpeakerCtrl->setRect(speaker_rc);
if(getShowCounter())
{
mSpeakerCtrl->setRect(VOICE_INDICATOR_RECT);
}
else
{
mSpeakerCtrl->setRect(COUNTER_RECT);
// move speaker to the right of counter
mSpeakerCtrl->translate(mCounterCtrl->getRect().getWidth(), 0);
}
initSpeakerControl();
}
@ -644,36 +621,9 @@ LLIMP2PChiclet::Params::Params()
: avatar_icon("avatar_icon")
, unread_notifications("unread_notifications")
, speaker("speaker")
, new_message_icon("new_message_icon")
, show_speaker("show_speaker")
{
// *TODO Vadim: Get rid of hardcoded values.
rect(CHICLET_RECT);
avatar_icon.name("avatar_icon");
avatar_icon.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP | FOLLOWS_BOTTOM);
// *NOTE dzaporozhan
// Changed icon height from 25 to 24 to fix ticket EXT-794.
// In some cases(after changing UI scale) 25 pixel height icon was
// drawn incorrectly, i'm not sure why.
avatar_icon.rect(CHICLET_ICON_RECT);
avatar_icon.mouse_opaque(false);
unread_notifications.name("unread");
unread_notifications.font(LLFontGL::getFontSansSerif());
unread_notifications.font_halign(LLFontGL::HCENTER);
unread_notifications.v_pad(5);
unread_notifications.text_color(LLColor4::white);
unread_notifications.mouse_opaque(false);
unread_notifications.rect(COUNTER_RECT);
unread_notifications.visible(false);
speaker.name("speaker");
speaker.rect(VOICE_INDICATOR_RECT);
speaker.auto_update(true);
speaker.draw_border(false);
show_speaker = false;
}
LLIMP2PChiclet::LLIMP2PChiclet(const Params& p)
@ -681,6 +631,10 @@ LLIMP2PChiclet::LLIMP2PChiclet(const Params& p)
, mChicletIconCtrl(NULL)
, mPopupMenu(NULL)
{
LLIconCtrl::Params new_msg_params = p.new_message_icon;
mNewMessagesIcon = LLUICtrlFactory::create<LLIconCtrl>(new_msg_params);
addChild(mNewMessagesIcon);
LLChicletAvatarIconCtrl::Params avatar_params = p.avatar_icon;
mChicletIconCtrl = LLUICtrlFactory::create<LLChicletAvatarIconCtrl>(avatar_params);
addChild(mChicletIconCtrl);
@ -698,10 +652,6 @@ LLIMP2PChiclet::LLIMP2PChiclet(const Params& p)
sendChildToFront(mNewMessagesIcon);
setShowSpeaker(p.show_speaker);
//since mShowSpeaker initialized with false
//setShowSpeaker(false) will not hide mSpeakerCtrl
mSpeakerCtrl->setVisible(getShowSpeaker());
}
void LLIMP2PChiclet::initSpeakerControl()
@ -797,38 +747,10 @@ LLAdHocChiclet::Params::Params()
: avatar_icon("avatar_icon")
, unread_notifications("unread_notifications")
, speaker("speaker")
, new_message_icon("new_message_icon")
, show_speaker("show_speaker")
, avatar_icon_color("avatar_icon_color", LLColor4::green)
{
// *TODO Vadim: Get rid of hardcoded values.
rect(CHICLET_RECT);
avatar_icon.name("avatar_icon");
avatar_icon.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP | FOLLOWS_BOTTOM);
// *NOTE dzaporozhan
// Changed icon height from 25 to 24 to fix ticket EXT-794.
// In some cases(after changing UI scale) 25 pixel height icon was
// drawn incorrectly, i'm not sure why.
avatar_icon.rect(CHICLET_ICON_RECT);
avatar_icon.mouse_opaque(false);
unread_notifications.name("unread");
unread_notifications.font(LLFontGL::getFontSansSerif());
unread_notifications.font_halign(LLFontGL::HCENTER);
unread_notifications.v_pad(5);
unread_notifications.text_color(LLColor4::white);
unread_notifications.mouse_opaque(false);
unread_notifications.rect(COUNTER_RECT);
unread_notifications.visible(false);
speaker.name("speaker");
speaker.rect(VOICE_INDICATOR_RECT);
speaker.auto_update(true);
speaker.draw_border(false);
show_speaker = false;
}
LLAdHocChiclet::LLAdHocChiclet(const Params& p)
@ -836,6 +758,10 @@ LLAdHocChiclet::LLAdHocChiclet(const Params& p)
, mChicletIconCtrl(NULL)
, mPopupMenu(NULL)
{
LLIconCtrl::Params new_msg_params = p.new_message_icon;
mNewMessagesIcon = LLUICtrlFactory::create<LLIconCtrl>(new_msg_params);
addChild(mNewMessagesIcon);
LLChicletAvatarIconCtrl::Params avatar_params = p.avatar_icon;
mChicletIconCtrl = LLUICtrlFactory::create<LLChicletAvatarIconCtrl>(avatar_params);
//Make the avatar modified
@ -948,32 +874,9 @@ LLIMGroupChiclet::Params::Params()
: group_icon("group_icon")
, unread_notifications("unread_notifications")
, speaker("speaker")
, new_message_icon("new_message_icon")
, show_speaker("show_speaker")
{
rect(CHICLET_RECT);
group_icon.name("group_icon");
// *NOTE dzaporozhan
// Changed icon height from 25 to 24 to fix ticket EXT-794.
// In some cases(after changing UI scale) 25 pixel height icon was
// drawn incorrectly, i'm not sure why.
group_icon.rect(CHICLET_ICON_RECT);
unread_notifications.name("unread");
unread_notifications.font(LLFontGL::getFontSansSerif());
unread_notifications.font_halign(LLFontGL::HCENTER);
unread_notifications.v_pad(5);
unread_notifications.text_color(LLColor4::white);
unread_notifications.rect(COUNTER_RECT);
unread_notifications.visible(false);
speaker.name("speaker");
speaker.rect(VOICE_INDICATOR_RECT);
speaker.auto_update(true);
speaker.draw_border(false);
show_speaker = false;
}
LLIMGroupChiclet::LLIMGroupChiclet(const Params& p)
@ -982,6 +885,10 @@ LLIMGroupChiclet::LLIMGroupChiclet(const Params& p)
, mChicletIconCtrl(NULL)
, mPopupMenu(NULL)
{
LLIconCtrl::Params new_msg_params = p.new_message_icon;
mNewMessagesIcon = LLUICtrlFactory::create<LLIconCtrl>(new_msg_params);
addChild(mNewMessagesIcon);
LLChicletGroupIconCtrl::Params avatar_params = p.group_icon;
mChicletIconCtrl = LLUICtrlFactory::create<LLChicletGroupIconCtrl>(avatar_params);
addChild(mChicletIconCtrl);
@ -1145,6 +1052,8 @@ void LLIMGroupChiclet::onMenuItemClicked(const LLSD& user_data)
LLChicletPanel::Params::Params()
: chiclet_padding("chiclet_padding")
, scrolling_offset("scrolling_offset")
, scroll_button_hpad("scroll_button_hpad")
, scroll_ratio("scroll_ratio")
, min_width("min_width")
{
};
@ -1156,12 +1065,11 @@ LLChicletPanel::LLChicletPanel(const Params&p)
, mRightScrollButton(NULL)
, mChicletPadding(p.chiclet_padding)
, mScrollingOffset(p.scrolling_offset)
, mScrollButtonHPad(p.scroll_button_hpad)
, mScrollRatio(p.scroll_ratio)
, mMinWidth(p.min_width)
, mShowControls(true)
{
// min_width = 4 chiclets + 3 paddings
mMinWidth += 3 * mChicletPadding;
LLPanel::Params panel_params;
panel_params.follows.flags(FOLLOWS_LEFT | FOLLOWS_RIGHT);
mScrollArea = LLUICtrlFactory::create<LLPanel>(panel_params,this);
@ -1460,8 +1368,8 @@ void LLChicletPanel::reshape(S32 width, S32 height, BOOL called_from_parent )
bool need_show_scroll = needShowScroll();
if(need_show_scroll)
{
mScrollArea->setRect(LLRect(scroll_button_rect.getWidth() + SCROLL_BUTTON_PAD,
height, width - scroll_button_rect.getWidth() - SCROLL_BUTTON_PAD, 0));
mScrollArea->setRect(LLRect(scroll_button_rect.getWidth() + mScrollButtonHPad,
height, width - scroll_button_rect.getWidth() - mScrollButtonHPad, 0));
}
else
{
@ -1519,8 +1427,8 @@ void LLChicletPanel::arrange()
bool need_show_scroll = needShowScroll();
if(need_show_scroll)
{
mScrollArea->setRect(LLRect(scroll_button_rect.getWidth() + SCROLL_BUTTON_PAD,
rect.getHeight(), rect.getWidth() - scroll_button_rect.getWidth() - SCROLL_BUTTON_PAD, 0));
mScrollArea->setRect(LLRect(scroll_button_rect.getWidth() + mScrollButtonHPad,
rect.getHeight(), rect.getWidth() - scroll_button_rect.getWidth() - mScrollButtonHPad, 0));
}
else
{
@ -1684,7 +1592,7 @@ void LLChicletPanel::onRightScrollClick()
void LLChicletPanel::onLeftScrollHeldDown()
{
S32 offset = mScrollingOffset;
mScrollingOffset = mScrollingOffset / s_scroll_ratio;
mScrollingOffset = mScrollingOffset / mScrollRatio;
scrollLeft();
mScrollingOffset = offset;
}
@ -1692,7 +1600,7 @@ void LLChicletPanel::onLeftScrollHeldDown()
void LLChicletPanel::onRightScrollHeldDown()
{
S32 offset = mScrollingOffset;
mScrollingOffset = mScrollingOffset / s_scroll_ratio;
mScrollingOffset = mScrollingOffset / mScrollRatio;
scrollRight();
mScrollingOffset = offset;
}
@ -1754,7 +1662,7 @@ S32 LLChicletPanel::getTotalUnreadIMCount()
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
LLChicletNotificationCounterCtrl::Params::Params()
: max_displayed_count("max_displayed_count", MAX_DISPLAYED_COUNT)
: max_displayed_count("max_displayed_count", 99)
{
}
@ -1831,6 +1739,7 @@ LLChicletGroupIconCtrl::LLChicletGroupIconCtrl(const Params& p)
: LLIconCtrl(p)
, mDefaultIcon(p.default_icon)
{
setValue(LLUUID::null);
}
void LLChicletGroupIconCtrl::setValue(const LLSD& value )
@ -1882,20 +1791,23 @@ LLChicletSpeakerCtrl::LLChicletSpeakerCtrl(const Params&p)
LLScriptChiclet::Params::Params()
: icon("icon")
, new_message_icon("new_message_icon")
{
// *TODO Vadim: Get rid of hardcoded values.
rect(CHICLET_RECT);
icon.rect(CHICLET_ICON_RECT);
}
LLScriptChiclet::LLScriptChiclet(const Params&p)
: LLIMChiclet(p)
, mChicletIconCtrl(NULL)
{
LLIconCtrl::Params new_msg_params = p.new_message_icon;
mNewMessagesIcon = LLUICtrlFactory::create<LLIconCtrl>(new_msg_params);
addChild(mNewMessagesIcon);
LLIconCtrl::Params icon_params = p.icon;
mChicletIconCtrl = LLUICtrlFactory::create<LLIconCtrl>(icon_params);
// Let "new message" icon be on top, else it will be hidden behind chiclet icon.
addChildInBack(mChicletIconCtrl);
addChild(mChicletIconCtrl);
sendChildToFront(mNewMessagesIcon);
}
void LLScriptChiclet::setSessionId(const LLUUID& session_id)
@ -1934,20 +1846,24 @@ BOOL LLScriptChiclet::handleMouseDown(S32 x, S32 y, MASK mask)
static const std::string INVENTORY_USER_OFFER ("UserGiveItem");
LLInvOfferChiclet::Params::Params()
: icon("icon")
, new_message_icon("new_message_icon")
{
// *TODO Vadim: Get rid of hardcoded values.
rect(CHICLET_RECT);
icon.rect(CHICLET_ICON_RECT);
}
LLInvOfferChiclet::LLInvOfferChiclet(const Params&p)
: LLIMChiclet(p)
, mChicletIconCtrl(NULL)
{
LLIconCtrl::Params new_msg_params = p.new_message_icon;
mNewMessagesIcon = LLUICtrlFactory::create<LLIconCtrl>(new_msg_params);
addChild(mNewMessagesIcon);
LLChicletInvOfferIconCtrl::Params icon_params = p.icon;
mChicletIconCtrl = LLUICtrlFactory::create<LLChicletInvOfferIconCtrl>(icon_params);
// Let "new message" icon be on top, else it will be hidden behind chiclet icon.
addChildInBack(mChicletIconCtrl);
addChild(mChicletIconCtrl);
sendChildToFront(mNewMessagesIcon);
}
void LLInvOfferChiclet::setSessionId(const LLUUID& session_id)

View File

@ -52,8 +52,6 @@ class LLChicletNotificationCounterCtrl : public LLTextBox
{
public:
static const S32 MAX_DISPLAYED_COUNT;
struct Params : public LLInitParam::Block<Params, LLTextBox::Params>
{
/**
@ -217,7 +215,8 @@ public:
struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>
{
Optional<bool> show_counter;
Optional<bool> show_counter,
enable_counter;
Params();
};
@ -323,10 +322,7 @@ public:
};
struct Params : public LLInitParam::Block<Params, LLChiclet::Params>
{
Optional<std::string> new_messages_icon_name;
Params() : new_messages_icon_name("new_messages_icon_name", "Unread_IM")
{}
Params(){}
};
@ -437,6 +433,8 @@ protected:
bool mShowSpeaker;
bool mCounterEnabled;
/* initial width of chiclet, should not include counter or speaker width */
S32 mDefaultWidth;
LLIconCtrl* mNewMessagesIcon;
LLChicletNotificationCounterCtrl* mCounterCtrl;
@ -482,6 +480,8 @@ public:
Optional<LLChicletSpeakerCtrl::Params> speaker;
Optional<LLIconCtrl::Params> new_message_icon;
Optional<bool> show_speaker;
Params();
@ -545,6 +545,8 @@ public:
Optional<LLChicletSpeakerCtrl::Params> speaker;
Optional<LLIconCtrl::Params> new_message_icon;
Optional<bool> show_speaker;
Optional<LLColor4> avatar_icon_color;
@ -615,6 +617,8 @@ public:
{
Optional<LLIconCtrl::Params> icon;
Optional<LLIconCtrl::Params> new_message_icon;
Params();
};
@ -655,6 +659,8 @@ public:
{
Optional<LLChicletInvOfferIconCtrl::Params> icon;
Optional<LLIconCtrl::Params> new_message_icon;
Params();
};
@ -698,6 +704,8 @@ public:
Optional<LLChicletSpeakerCtrl::Params> speaker;
Optional<LLIconCtrl::Params> new_message_icon;
Optional<bool> show_speaker;
Params();
@ -937,7 +945,9 @@ public:
struct Params : public LLInitParam::Block<Params, LLPanel::Params>
{
Optional<S32> chiclet_padding,
scrolling_offset;
scrolling_offset,
scroll_button_hpad,
scroll_ratio;
Optional<S32> min_width;
@ -1156,6 +1166,8 @@ protected:
S32 mChicletPadding;
S32 mScrollingOffset;
S32 mScrollButtonHPad;
S32 mScrollRatio;
S32 mMinWidth;
bool mShowControls;
static const S32 s_scroll_ratio;

View File

@ -997,7 +997,7 @@ void LLFavoritesBarCtrl::doToSelected(const LLSD& userdata)
if (action == "open")
{
teleport_via_landmark(item->getAssetUUID());
onButtonClick(item->getUUID());
}
else if (action == "about")
{

View File

@ -64,10 +64,6 @@ LLOutputMonitorCtrl::Params::Params()
auto_update("auto_update"),
speaker_id("speaker_id")
{
draw_border = true;
name = "output_monitor";
follows.flags(FOLLOWS_LEFT|FOLLOWS_TOP);
mouse_opaque = false;
};
LLOutputMonitorCtrl::LLOutputMonitorCtrl(const LLOutputMonitorCtrl::Params& p)

View File

@ -263,7 +263,7 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly.
height="23"
layout="topleft"
left="1"
min_width="100"
min_width="110"
name="chiclet_list"
top="6"
chiclet_padding="4"

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<chiclet_im_adhoc
font="SansSerif"
height="25"
name="im_adhoc_chiclet"
show_speaker="false"
width="25">
<chiclet_im_adhoc.speaker
auto_update="true"
draw_border="false"
height="25"
left="25"
name="speaker"
visible="false"
width="20"/>
<chiclet_im_adhoc.avatar_icon
follows="left|top|bottom"
height="22"
mouse_opaque="true"
name="adhoc_icon"
width="22"/>
<chiclet_im_adhoc.unread_notifications
font="SansSerif"
font_halign="center"
height="25"
left="25"
mouse_opaque="false"
name="unread"
text_color="white"
v_pad="5"
visible="false"
width="20"/>
<chiclet_im_adhoc.new_message_icon
bottom="12"
height="13"
image_name="Unread_IM"
left="12"
name="new_message_icon"
visible="false"
width="13" />
</chiclet_im_adhoc>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<chiclet_im_group
font="SansSerif"
height="25"
name="im_group_chiclet"
show_speaker="false"
width="25">
<chiclet_im_group.speaker
auto_update="true"
draw_border="false"
height="25"
left="25"
name="speaker"
visible="false"
width="20"/>
<chiclet_im_group.group_icon
default_icon="Generic_Group"
follows="left|top|bottom"
height="22"
mouse_opaque="true"
name="group_icon"
width="22"/>
<chiclet_im_group.unread_notifications
height="25"
font="SansSerif"
font_halign="center"
left="25"
mouse_opaque="false"
name="unread"
text_color="white"
v_pad="5"
visible="false"
width="20"/>
<chiclet_im_group.new_message_icon
bottom="12"
height="13"
image_name="Unread_IM"
left="12"
name="new_message_icon"
visible="false"
width="13" />
</chiclet_im_group>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<chiclet_im_p2p
font="SansSerif"
height="25"
name="im_p2p_chiclet"
show_speaker="false"
width="25">
<chiclet_im_p2p.speaker
auto_update="true"
draw_border="false"
height="25"
left="25"
name="speaker"
visible="false"
width="20"/>
<chiclet_im_p2p.avatar_icon
follows="left|top|bottom"
height="22"
mouse_opaque="true"
name="avatar_icon"
width="22"/>
<chiclet_im_p2p.unread_notifications
height="25"
font="SansSerif"
font_halign="center"
left="25"
mouse_opaque="false"
name="unread"
text_color="white"
v_pad="5"
visible="false"
width="20"/>
<chiclet_im_p2p.new_message_icon
bottom="12"
height="13"
image_name="Unread_IM"
left="12"
name="new_message_icon"
visible="false"
width="13" />
</chiclet_im_p2p>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<chiclet_offer
font="SansSerif"
height="25"
name="offer_chiclet"
width="25">
<chiclet_offer.icon
default_icon="Generic_Object_Small"
follows="all"
height="22"
mouse_opaque="false"
name="chiclet_icon"
width="22"/>
<chiclet_offer.new_message_icon
bottom="12"
height="13"
image_name="Unread_IM"
left="12"
name="new_message_icon"
visible="false"
width="13" />
</chiclet_offer>

View File

@ -3,5 +3,7 @@
name="chiclet_panel"
chiclet_padding="3"
scrolling_offset="40"
scroll_button_hpad="5"
scroll_ratio="10"
min_width="180"
/>

View File

@ -1,10 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<chiclet_script
name="script_chiclet"
font="SansSerif">
<icon
name="chiclet_icon"
follows="all"
mouse_opaque="false"
image_name="Generic_Object_Small" />
</expandable_text>
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<chiclet_script
font="SansSerif"
height="25"
name="script_chiclet"
width="25">
<chiclet_script.icon
follows="all"
height="22"
image_name="Generic_Object_Small"
mouse_opaque="false"
name="chiclet_icon"
width="22"/>
<chiclet_script.new_message_icon
bottom="12"
height="13"
image_name="Unread_IM"
left="12"
name="new_message_icon"
visible="false"
width="13" />
</chiclet_script>

View File

@ -1,9 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<output_monitor
draw_border="true"
follows="top|left"
image_mute="Parcel_VoiceNo_Light"
image_off="VoicePTT_Off"
image_on="VoicePTT_On"
image_level_1="VoicePTT_Lvl1"
image_level_2="VoicePTT_Lvl2"
image_level_3="VoicePTT_Lvl3"
mouse_opaque="false"
name="output_monitor"
/>