svn merge -r 59608:60615 svn+ssh://svn.lindenlab.com/svn/linden/branches/jakesbranch --> release
Adding Logitech G15 keyboard and Z10 speaker support for those LCD windows.master
parent
c94062fb5b
commit
2f438a409e
|
|
@ -47,6 +47,9 @@
|
|||
#include "llfloaterhtml.h"
|
||||
#include "llweb.h"
|
||||
|
||||
// Used for LCD display
|
||||
extern void AddNewIMToLCD(const LLString &newLine);
|
||||
extern void AddNewChatToLCD(const LLString &newLine);
|
||||
//
|
||||
// Constants
|
||||
//
|
||||
|
|
@ -330,6 +333,20 @@ void LLFloaterChat::addChat(const LLChat& chat,
|
|||
chat.mChatType == CHAT_TYPE_DEBUG_MSG
|
||||
&& !gSavedSettings.getBOOL("ScriptErrorsAsChat");
|
||||
|
||||
#if LL_WINDOWS
|
||||
// add into LCD displays
|
||||
if (!invisible_script_debug_chat)
|
||||
{
|
||||
if (!from_instant_message)
|
||||
{
|
||||
AddNewChatToLCD(chat.mText);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddNewIMToLCD(chat.mText);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!invisible_script_debug_chat
|
||||
&& !chat.mMuted
|
||||
&& gConsole
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include "llpaneldebug.h"
|
||||
#include "llpanelgeneral.h"
|
||||
#include "llpanelinput.h"
|
||||
#include "llpanelLCD.h"
|
||||
#include "llpanelmsgs.h"
|
||||
//#include "llpanelweb.h"
|
||||
#include "llprefschat.h"
|
||||
|
|
@ -57,6 +58,14 @@ const S32 PREF_FLOATER_MIN_HEIGHT = 2 * SCROLLBAR_SIZE + 2 * LLPANEL_BORDER_WIDT
|
|||
|
||||
LLFloaterPreference* LLFloaterPreference::sInstance = NULL;
|
||||
|
||||
#if LL_WINDOWS
|
||||
// for Logitech LCD keyboards / speakers
|
||||
#ifndef LL_LCD_H
|
||||
#include "..\Logitech_LCD\LCD.h"
|
||||
#endif
|
||||
extern cLCD *LcdScreen;
|
||||
#endif
|
||||
|
||||
// Must be done at run time, not compile time. JC
|
||||
S32 pref_min_width()
|
||||
{
|
||||
|
|
@ -85,6 +94,7 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton
|
|||
mDisplayPanel(NULL),
|
||||
mDisplayPanel2(NULL),
|
||||
mAudioPanel(NULL),
|
||||
mLCDPanel(NULL),
|
||||
mMsgPanel(NULL)
|
||||
{
|
||||
mGeneralPanel = new LLPanelGeneral();
|
||||
|
|
@ -123,6 +133,15 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton
|
|||
mTabContainer->addTabPanel(mPrefsIM->getPanel(), mPrefsIM->getPanel()->getLabel(), FALSE, onTabChanged, mTabContainer);
|
||||
mPrefsIM->getPanel()->setDefaultBtn(default_btn);
|
||||
|
||||
#if LL_WINDOWS
|
||||
// only add this option if we actually have a logitech keyboard / speaker set
|
||||
if (LcdScreen->Enabled())
|
||||
{
|
||||
mLCDPanel = new LLPanelLCD();
|
||||
mTabContainer->addTabPanel(mLCDPanel, mLCDPanel->getLabel(), FALSE, onTabChanged, mTabContainer);
|
||||
mLCDPanel->setDefaultBtn(default_btn);
|
||||
}
|
||||
#endif
|
||||
mMsgPanel = new LLPanelMsgs();
|
||||
gUICtrlFactory->buildPanel(mMsgPanel, "panel_settings_msgbox.xml");
|
||||
mTabContainer->addTabPanel(mMsgPanel, mMsgPanel->getLabel(), FALSE, onTabChanged, mTabContainer);
|
||||
|
|
@ -148,6 +167,13 @@ void LLPreferenceCore::apply()
|
|||
mPrefsChat->apply();
|
||||
mPrefsIM->apply();
|
||||
mMsgPanel->apply();
|
||||
#if LL_WINDOWS
|
||||
// only add this option if we actually have a logitech keyboard / speaker set
|
||||
if (LcdScreen->Enabled())
|
||||
{
|
||||
mLCDPanel->apply();
|
||||
}
|
||||
#endif
|
||||
// mWebPanel->apply();
|
||||
}
|
||||
|
||||
|
|
@ -164,6 +190,13 @@ void LLPreferenceCore::cancel()
|
|||
mPrefsChat->cancel();
|
||||
mPrefsIM->cancel();
|
||||
mMsgPanel->cancel();
|
||||
#if LL_WINDOWS
|
||||
// only add this option if we actually have a logitech keyboard / speaker set
|
||||
if (LcdScreen->Enabled())
|
||||
{
|
||||
mLCDPanel->cancel();
|
||||
}
|
||||
#endif
|
||||
// mWebPanel->cancel();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
class LLPanelGeneral;
|
||||
class LLPanelInput;
|
||||
class LLPanelLCD;
|
||||
class LLPanelDisplay;
|
||||
class LLPanelDisplay2;
|
||||
class LLPanelDisplay3;
|
||||
|
|
@ -64,6 +65,7 @@ private:
|
|||
LLPrefsChat *mPrefsChat;
|
||||
LLPrefsIM *mPrefsIM;
|
||||
LLPanelMsgs *mMsgPanel;
|
||||
LLPanelLCD *mLCDPanel;
|
||||
// LLPanelWeb* mWebPanel;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -403,6 +403,10 @@ void LLStatusBar::refresh()
|
|||
pos_y -= pos_y % 2;
|
||||
}
|
||||
|
||||
mRegionDetails.mTime = mTextTime->getText();
|
||||
mRegionDetails.mBalance = mBalance;
|
||||
mRegionDetails.mAccesString = (char *)region->getSimAccessString();
|
||||
mRegionDetails.mPing = region->getNetDetailsForLCD();
|
||||
if (parcel && parcel->getName())
|
||||
{
|
||||
location_name = region->getName()
|
||||
|
|
@ -410,6 +414,43 @@ void LLStatusBar::refresh()
|
|||
pos_x, pos_y, pos_z,
|
||||
region->getSimAccessString(),
|
||||
parcel->getName());
|
||||
|
||||
// keep these around for the LCD to use
|
||||
mRegionDetails.mRegionName = region->getName();
|
||||
mRegionDetails.mParcelName = (char *)parcel->getName();
|
||||
mRegionDetails.mX = pos_x;
|
||||
mRegionDetails.mY = pos_y;
|
||||
mRegionDetails.mZ = pos_z;
|
||||
mRegionDetails.mArea = parcel->getArea();
|
||||
mRegionDetails.mForSale = parcel->getForSale();
|
||||
mRegionDetails.mTraffic = gParcelMgr->getDwelling();
|
||||
|
||||
if (parcel->isPublic())
|
||||
{
|
||||
snprintf(mRegionDetails.mOwner, MAX_STRING, "Public");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (parcel->getIsGroupOwned())
|
||||
{
|
||||
if(!parcel->getGroupID().isNull())
|
||||
{
|
||||
gCacheName->getGroupName(parcel->getGroupID(), mRegionDetails.mOwner);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(mRegionDetails.mOwner, MAX_STRING, "Group Owned");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Figure out the owner's name
|
||||
char owner_first[MAX_STRING]; /*Flawfinder: ignore*/
|
||||
char owner_last[MAX_STRING]; /*Flawfinder: ignore*/
|
||||
gCacheName->getName(parcel->getOwnerID(), owner_first, owner_last);
|
||||
snprintf(mRegionDetails.mOwner, MAX_STRING, "%s %s", owner_first, owner_last); /* Flawfinder: ignore */
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -417,12 +458,34 @@ void LLStatusBar::refresh()
|
|||
+ llformat(" %d, %d, %d (%s)",
|
||||
pos_x, pos_y, pos_z,
|
||||
region->getSimAccessString());
|
||||
// keep these around for the LCD to use
|
||||
mRegionDetails.mRegionName = region->getName();
|
||||
mRegionDetails.mParcelName = "Unknown";
|
||||
|
||||
mRegionDetails.mX = pos_x;
|
||||
mRegionDetails.mY = pos_y;
|
||||
mRegionDetails.mZ = pos_z;
|
||||
mRegionDetails.mArea = 0;
|
||||
mRegionDetails.mForSale = FALSE;
|
||||
snprintf(mRegionDetails.mOwner, MAX_STRING, "Unknown");
|
||||
mRegionDetails.mTraffic = 0.0f;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// no region
|
||||
location_name = "(Unknown)";
|
||||
// keep these around for the LCD to use
|
||||
mRegionDetails.mRegionName = LLString("Unknown");
|
||||
mRegionDetails.mParcelName = "Unknown";
|
||||
mRegionDetails.mAccesString = "Unknown";
|
||||
mRegionDetails.mX = 0;
|
||||
mRegionDetails.mY = 0;
|
||||
mRegionDetails.mZ = 0;
|
||||
mRegionDetails.mArea = 0;
|
||||
mRegionDetails.mForSale = FALSE;
|
||||
snprintf(mRegionDetails.mOwner, MAX_STRING, "Unknown");
|
||||
mRegionDetails.mTraffic = 0.0f;
|
||||
}
|
||||
mTextParcelName->setText(location_name);
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,25 @@ class LLUUID;
|
|||
class LLFrameTimer;
|
||||
class LLStatGraph;
|
||||
|
||||
// used by LCD screen
|
||||
class cLLRegionDetails
|
||||
{
|
||||
public:
|
||||
LLString mRegionName;
|
||||
char *mParcelName;
|
||||
char *mAccesString;
|
||||
S32 mX;
|
||||
S32 mY;
|
||||
S32 mZ;
|
||||
S32 mArea;
|
||||
BOOL mForSale;
|
||||
char mOwner[MAX_STRING];
|
||||
F32 mTraffic;
|
||||
S32 mBalance;
|
||||
LLString mTime;
|
||||
U32 mPing;
|
||||
};
|
||||
|
||||
class LLStatusBar
|
||||
: public LLPanel
|
||||
{
|
||||
|
|
@ -60,6 +79,7 @@ public:
|
|||
S32 getSquareMetersCredit() const;
|
||||
S32 getSquareMetersCommitted() const;
|
||||
S32 getSquareMetersLeft() const;
|
||||
cLLRegionDetails mRegionDetails;
|
||||
|
||||
protected:
|
||||
static void onClickParcelInfo(void*);
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ public:
|
|||
F32 getSelectionHeight() const { return F32(mEastNorth.mdV[VY] - mWestSouth.mdV[VY]); }
|
||||
BOOL getSelection(LLVector3d &min, LLVector3d &max) { min = mWestSouth; max = mEastNorth; return !selectionEmpty();}
|
||||
LLViewerRegion* getSelectionRegion();
|
||||
F32 getDwelling() const { return mSelectedDwell;}
|
||||
|
||||
void getDisplayInfo(S32* area, S32* claim, S32* rent, BOOL* for_sale, F32* dwell);
|
||||
|
||||
|
|
|
|||
|
|
@ -724,7 +724,10 @@ void LLViewerRegion::calculateCameraDistance()
|
|||
mCameraDistanceSquared = (F32)(gAgent.getCameraPositionGlobal() - getCenterGlobal()).magVecSquared();
|
||||
}
|
||||
|
||||
// ---------------- Friends ----------------
|
||||
U32 LLViewerRegion::getNetDetailsForLCD()
|
||||
{
|
||||
return mPingDelay;
|
||||
}
|
||||
|
||||
std::ostream& operator<<(std::ostream &s, const LLViewerRegion ®ion)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -212,6 +212,9 @@ public:
|
|||
|
||||
friend std::ostream& operator<<(std::ostream &s, const LLViewerRegion ®ion);
|
||||
|
||||
// used by LCD to get details for debug screen
|
||||
U32 getNetDetailsForLCD();
|
||||
|
||||
public:
|
||||
struct CompareDistance
|
||||
{
|
||||
|
|
|
|||
|
|
@ -153,7 +153,11 @@ const StatAttributes STAT_INFO[LLViewerStats::ST_COUNT] =
|
|||
// ST_TEX_BAKES
|
||||
StatAttributes("Texture Bakes", FALSE, FALSE),
|
||||
// ST_TEX_REBAKES
|
||||
StatAttributes("Texture Rebakes", FALSE, FALSE)
|
||||
StatAttributes("Texture Rebakes", FALSE, FALSE),
|
||||
|
||||
// ST_LOGITECH_KEYBOARD
|
||||
StatAttributes("Logitech LCD", FALSE, FALSE)
|
||||
|
||||
};
|
||||
|
||||
LLViewerStats::LLViewerStats()
|
||||
|
|
|
|||
|
|
@ -137,8 +137,9 @@ public:
|
|||
ST_WINDOW_HEIGHT = 55,
|
||||
ST_TEX_BAKES = 56,
|
||||
ST_TEX_REBAKES = 57,
|
||||
ST_LOGITECH_LCD = 58,
|
||||
|
||||
ST_COUNT = 58
|
||||
ST_COUNT = 59
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 766 B |
|
|
@ -19,6 +19,7 @@
|
|||
#define IDB_LOGIN 149
|
||||
#define IDC_CURSOR4 153
|
||||
#define IDC_CURSOR5 154
|
||||
#define IDI_LCD_LL_ICON 157
|
||||
#define IDC_RADIO_56 1000
|
||||
#define IDC_RADIO_128 1001
|
||||
#define IDC_RADIO_256 1002
|
||||
|
|
@ -151,7 +152,7 @@
|
|||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 156
|
||||
#define _APS_NEXT_RESOURCE_VALUE 167
|
||||
#define _APS_NEXT_COMMAND_VALUE 40002
|
||||
#define _APS_NEXT_CONTROL_VALUE 1139
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
|
|
|
|||
Loading…
Reference in New Issue