diff options
author | Jake Simpson <jake@lindenlab.com> | 2007-06-29 01:24:26 +0000 |
---|---|---|
committer | Jake Simpson <jake@lindenlab.com> | 2007-06-29 01:24:26 +0000 |
commit | e3989d38486c4aaf4701d6239875ea4996d0963b (patch) | |
tree | 1ca0e7469ec20571aef3af85ae6622cd761a9ca4 | |
parent | 010d40245600684fba056339f34dbdff0aa9a02d (diff) |
Changes to make Logitech code more LL Code Standards compliant, plus remove all the SDK code and instead just used headers and an included lib that we build ourselves from the Trunk directory.
-rw-r--r-- | indra/newview/llfloaterchat.cpp | 17 | ||||
-rw-r--r-- | indra/newview/llfloaterpreference.cpp | 35 | ||||
-rw-r--r-- | indra/newview/llfloaterpreference.h | 2 | ||||
-rw-r--r-- | indra/newview/llstatusbar.cpp | 63 | ||||
-rw-r--r-- | indra/newview/llstatusbar.h | 20 | ||||
-rw-r--r-- | indra/newview/llviewerparcelmgr.h | 1 | ||||
-rw-r--r-- | indra/newview/llviewerregion.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llviewerregion.h | 3 | ||||
-rw-r--r-- | indra/newview/llviewerstats.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llviewerstats.h | 3 | ||||
-rw-r--r-- | indra/newview/res/icon1.ico | bin | 0 -> 766 bytes | |||
-rw-r--r-- | indra/newview/res/resource.h | 3 |
12 files changed, 154 insertions, 4 deletions
diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp index 75c68acb78..12b0e953b6 100644 --- a/indra/newview/llfloaterchat.cpp +++ b/indra/newview/llfloaterchat.cpp @@ -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 // @@ -340,6 +343,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 diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 8a1a0dcaaa..68ab91402b 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -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" @@ -56,6 +57,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_LOGITECH_LCD_H +#include "lllogitechlcd.h" +#endif +extern llLCD *gLcdScreen; +#endif + // Must be done at run time, not compile time. JC S32 pref_min_width() { @@ -84,6 +93,7 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton mDisplayPanel(NULL), mDisplayPanel2(NULL), mAudioPanel(NULL), + mLCDPanel(NULL), mMsgPanel(NULL) { mGeneralPanel = new LLPanelGeneral(); @@ -128,6 +138,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 (gLcdScreen->Enabled()) + { + mLCDPanel = new LLPanelLCD(); + mTabContainer->addTabPanel(mLCDPanel, mLCDPanel->getLabel(), FALSE, onTabChanged, mTabContainer); + mLCDPanel->setDefaultBtn(default_btn); + } +#endif mMsgPanel = new LLPanelMsgs(); mTabContainer->addTabPanel(mMsgPanel, mMsgPanel->getLabel(), FALSE, onTabChanged, mTabContainer); mMsgPanel->setDefaultBtn(default_btn); @@ -212,6 +231,14 @@ void LLPreferenceCore::apply() #if LL_LIBXUL_ENABLED mWebPanel->apply(); #endif +#if LL_WINDOWS + // only add this option if we actually have a logitech keyboard / speaker set + if (gLcdScreen->Enabled()) + { + mLCDPanel->apply(); + } +#endif +// mWebPanel->apply(); } @@ -230,6 +257,14 @@ void LLPreferenceCore::cancel() #if LL_LIBXUL_ENABLED mWebPanel->cancel(); #endif +#if LL_WINDOWS + // only add this option if we actually have a logitech keyboard / speaker set + if (gLcdScreen->Enabled()) + { + mLCDPanel->cancel(); + } +#endif +// mWebPanel->cancel(); } // static diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index dcfa123137..c40532fb48 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -20,6 +20,7 @@ class LLPanelGeneral; class LLPanelInput; +class LLPanelLCD; class LLPanelDisplay; class LLPanelDisplay2; class LLPanelDisplay3; @@ -65,6 +66,7 @@ private: LLPrefsChat *mPrefsChat; LLPrefsIM *mPrefsIM; LLPanelMsgs *mMsgPanel; + LLPanelLCD *mLCDPanel; LLPanelWeb *mWebPanel; }; diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 72aca1999e..6990102d24 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -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); diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index c44c7acffe..f33a5d93e1 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -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*); diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index 20c6b6895d..e629b65af1 100644 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -107,6 +107,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); diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 6fd31f3e72..076ae2ecce 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -731,7 +731,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) { diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index 05c37fe08f..a1b9cfd3ea 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -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 { diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index f1df0d39e0..fefa86123d 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -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() diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h index 33ed6bcbcf..f0ef106054 100644 --- a/indra/newview/llviewerstats.h +++ b/indra/newview/llviewerstats.h @@ -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 }; diff --git a/indra/newview/res/icon1.ico b/indra/newview/res/icon1.ico Binary files differnew file mode 100644 index 0000000000..ad607598fa --- /dev/null +++ b/indra/newview/res/icon1.ico diff --git a/indra/newview/res/resource.h b/indra/newview/res/resource.h index c7e1552dff..e4d01b1050 100644 --- a/indra/newview/res/resource.h +++ b/indra/newview/res/resource.h @@ -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 |