diff options
84 files changed, 508 insertions, 317 deletions
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 91c796a9e6..6a2449cf4b 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -471,7 +471,7 @@ void LLPluginClassMedia::mouseEvent(EMouseEventType type, int button, int x, int sendMessage(message); } -bool LLPluginClassMedia::keyEvent(EKeyEventType type, int key_code, MASK modifiers) +bool LLPluginClassMedia::keyEvent(EKeyEventType type, int key_code, MASK modifiers, LLSD native_key_data) { bool result = true; @@ -528,6 +528,7 @@ bool LLPluginClassMedia::keyEvent(EKeyEventType type, int key_code, MASK modifie message.setValueS32("key", key_code); message.setValue("modifiers", translateModifiers(modifiers)); + message.setValueLLSD("native_key_data", native_key_data); sendMessage(message); } @@ -546,12 +547,13 @@ void LLPluginClassMedia::scrollEvent(int x, int y, MASK modifiers) sendMessage(message); } -bool LLPluginClassMedia::textInput(const std::string &text, MASK modifiers) +bool LLPluginClassMedia::textInput(const std::string &text, MASK modifiers, LLSD native_key_data) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "text_event"); message.setValue("text", text); message.setValue("modifiers", translateModifiers(modifiers)); + message.setValueLLSD("native_key_data", native_key_data); sendMessage(message); @@ -682,13 +684,13 @@ LLPluginClassMedia::ETargetType getTargetTypeFromLLQtWebkit(int target_type) // so that we don't expose the llqtwebkit header in viewer code switch (target_type) { - case LinkTargetType::LTT_TARGET_NONE: + case LLQtWebKit::LTT_TARGET_NONE: return LLPluginClassMedia::TARGET_NONE; - case LinkTargetType::LTT_TARGET_BLANK: + case LLQtWebKit::LTT_TARGET_BLANK: return LLPluginClassMedia::TARGET_BLANK; - case LinkTargetType::LTT_TARGET_EXTERNAL: + case LLQtWebKit::LTT_TARGET_EXTERNAL: return LLPluginClassMedia::TARGET_EXTERNAL; default: diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index ebb9099576..58e91fa0b4 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -114,12 +114,12 @@ public: KEY_EVENT_REPEAT }EKeyEventType; - bool keyEvent(EKeyEventType type, int key_code, MASK modifiers); + bool keyEvent(EKeyEventType type, int key_code, MASK modifiers, LLSD native_key_data); void scrollEvent(int x, int y, MASK modifiers); // Text may be unicode (utf8 encoded) - bool textInput(const std::string &text, MASK modifiers); + bool textInput(const std::string &text, MASK modifiers, LLSD native_key_data); void loadURI(const std::string &uri); diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index ef9d195a19..2ec56d6089 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -212,7 +212,8 @@ LLTabContainer::Params::Params() middle_tab("middle_tab"), last_tab("last_tab"), use_custom_icon_ctrl("use_custom_icon_ctrl", false), - tab_icon_ctrl_pad("tab_icon_ctrl_pad", 0) + tab_icon_ctrl_pad("tab_icon_ctrl_pad", 0), + use_ellipses("use_ellipses") { name(std::string("tab_container")); mouse_opaque = false; @@ -249,7 +250,8 @@ LLTabContainer::LLTabContainer(const LLTabContainer::Params& p) mMiddleTabParams(p.middle_tab), mLastTabParams(p.last_tab), mCustomIconCtrlUsed(p.use_custom_icon_ctrl), - mTabIconCtrlPad(p.tab_icon_ctrl_pad) + mTabIconCtrlPad(p.tab_icon_ctrl_pad), + mUseTabEllipses(p.use_ellipses) { static LLUICachedControl<S32> tabcntr_vert_tab_min_width ("UITabCntrVertTabMinWidth", 0); @@ -1485,8 +1487,8 @@ BOOL LLTabContainer::setTab(S32 which) { LLTabTuple* tuple = *iter; BOOL is_selected = ( tuple == selected_tuple ); - tuple->mButton->setUseEllipses(TRUE); - tuple->mButton->setHAlign(LLFontGL::LEFT); + tuple->mButton->setUseEllipses(mUseTabEllipses); + tuple->mButton->setHAlign(mFontHalign); tuple->mTabPanel->setVisible( is_selected ); // tuple->mTabPanel->setFocus(is_selected); // not clear that we want to do this here. tuple->mButton->setToggleState( is_selected ); diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h index 4b5d45fb73..50ec2679f6 100644 --- a/indra/llui/lltabcontainer.h +++ b/indra/llui/lltabcontainer.h @@ -93,6 +93,16 @@ public: last_tab; /** + * Tab label horizontal alignment + */ + Optional<LLFontGL::HAlign> font_halign; + + /** + * Tab label ellipses + */ + Optional<bool> use_ellipses; + + /** * Use LLCustomButtonIconCtrl or LLButton in LLTabTuple */ Optional<bool> use_custom_icon_ctrl; @@ -294,6 +304,7 @@ private: bool mCustomIconCtrlUsed; S32 mTabIconCtrlPad; + bool mUseTabEllipses; }; #endif // LL_TABCONTAINER_H diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index 127dbf45e0..55b221e716 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -37,6 +37,7 @@ #include "llcoord.h" #include "llstring.h" #include "llcursortypes.h" +#include "llsd.h" class LLSplashScreen; class LLPreeditor; @@ -162,6 +163,9 @@ public: virtual void spawnWebBrowser(const std::string& escaped_url) {}; static std::vector<std::string> getDynamicFallbackFontList(); + + // Provide native key event data + virtual LLSD getNativeKeyData() { return LLSD::emptyMap(); } protected: LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags); diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index 9ccd4c7f97..ad97bc45fc 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -260,6 +260,7 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks, mTSMScriptCode = 0; mTSMLangCode = 0; mPreeditor = NULL; + mRawKeyEvent = NULL; mFSAASamples = fsaa_samples; mForceRebuild = FALSE; @@ -2140,10 +2141,11 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e { UInt32 modifiers = 0; + // First, process the raw event. { - EventRef rawEvent; - + EventRef rawEvent = NULL; + // Get the original event and extract the modifier keys, so we can ignore command-key events. if (GetEventParameter(event, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof(rawEvent), NULL, &rawEvent) == noErr) { @@ -2152,6 +2154,9 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e // and call this function recursively to handle the raw key event. eventHandler (myHandler, rawEvent); + + // save the raw event until we're done processing the unicode input as well. + mRawKeyEvent = rawEvent; } } @@ -2202,6 +2207,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e delete[] buffer; } + mRawKeyEvent = NULL; result = err; } break; @@ -2276,6 +2282,9 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e GetEventParameter (event, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode); GetEventParameter (event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers); + // save the raw event so getNativeKeyData can use it. + mRawKeyEvent = event; + // printf("key event, key code = 0x%08x, char code = 0x%02x (%c), modifiers = 0x%08x\n", keyCode, charCode, (char)charCode, modifiers); // fflush(stdout); @@ -2371,6 +2380,8 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e result = eventNotHandledErr; break; } + + mRawKeyEvent = NULL; } break; @@ -3211,6 +3222,60 @@ void LLWindowMacOSX::spawnWebBrowser(const std::string& escaped_url) } } +LLSD LLWindowMacOSX::getNativeKeyData() +{ + LLSD result = LLSD::emptyMap(); + + if(mRawKeyEvent) + { + char char_code = 0; + UInt32 key_code = 0; + UInt32 modifiers = 0; + UInt32 keyboard_type = 0; + + GetEventParameter (mRawKeyEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &char_code); + GetEventParameter (mRawKeyEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &key_code); + GetEventParameter (mRawKeyEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers); + GetEventParameter (mRawKeyEvent, kEventParamKeyboardType, typeUInt32, NULL, sizeof(UInt32), NULL, &keyboard_type); + + result["char_code"] = (S32)char_code; + result["key_code"] = (S32)key_code; + result["modifiers"] = (S32)modifiers; + result["keyboard_type"] = (S32)keyboard_type; + +#if 0 + // This causes trouble for control characters -- apparently character codes less than 32 (escape, control-A, etc) + // cause llsd serialization to create XML that the llsd deserializer won't parse! + std::string unicode; + OSStatus err = noErr; + EventParamType actualType = typeUTF8Text; + UInt32 actualSize = 0; + char *buffer = NULL; + + err = GetEventParameter (mRawKeyEvent, kEventParamKeyUnicodes, typeUTF8Text, &actualType, 0, &actualSize, NULL); + if(err == noErr) + { + // allocate a buffer and get the actual data. + buffer = new char[actualSize]; + err = GetEventParameter (mRawKeyEvent, kEventParamKeyUnicodes, typeUTF8Text, &actualType, actualSize, &actualSize, buffer); + if(err == noErr) + { + unicode.assign(buffer, actualSize); + } + delete[] buffer; + } + + result["unicode"] = unicode; +#endif + + } + + + lldebugs << "native key data is: " << result << llendl; + + return result; +} + BOOL LLWindowMacOSX::dialogColorPicker( F32 *r, F32 *g, F32 *b) { diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h index 377f10b6d4..7c6b324029 100644 --- a/indra/llwindow/llwindowmacosx.h +++ b/indra/llwindow/llwindowmacosx.h @@ -120,6 +120,10 @@ public: static std::vector<std::string> getDynamicFallbackFontList(); + // Provide native key event data + /*virtual*/ LLSD getNativeKeyData(); + + protected: LLWindowMacOSX(LLWindowCallbacks* callbacks, const std::string& title, const std::string& name, int x, int y, int width, int height, U32 flags, @@ -218,6 +222,7 @@ protected: friend class LLWindowManager; static WindowRef sMediaWindow; + EventRef mRawKeyEvent; }; diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index f9c3694459..7cd06c9c37 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -251,6 +251,10 @@ LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks, #if LL_X11 mFlashing = FALSE; #endif // LL_X11 + + mKeyScanCode = 0; + mKeyVirtualKey = 0; + mKeyModifiers = KMOD_NONE; } static SDL_Surface *Load_BMP_Resource(const char *basename) @@ -1651,24 +1655,32 @@ void LLWindowSDL::gatherInput() } case SDL_KEYDOWN: - gKeyboard->handleKeyDown(event.key.keysym.sym, event.key.keysym.mod); - // part of the fix for SL-13243 - if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0) - SDLReallyCaptureInput(TRUE); - - if (event.key.keysym.unicode) - { - handleUnicodeUTF16(event.key.keysym.unicode, - gKeyboard->currentMask(FALSE)); - } + mKeyScanCode = event.key.keysym.scancode; + mKeyVirtualKey = event.key.keysym.unicode; + mKeyModifiers = event.key.keysym.mod; + + gKeyboard->handleKeyDown(event.key.keysym.sym, event.key.keysym.mod); + // part of the fix for SL-13243 + if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0) + SDLReallyCaptureInput(TRUE); + + if (event.key.keysym.unicode) + { + handleUnicodeUTF16(event.key.keysym.unicode, + gKeyboard->currentMask(FALSE)); + } break; case SDL_KEYUP: - if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0) - SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243 + mKeyScanCode = event.key.keysym.scancode; + mKeyVirtualKey = event.key.keysym.unicode; + mKeyModifiers = event.key.keysym.mod; - gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod); - break; + if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0) + SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243 + + gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod); + break; case SDL_MOUSEBUTTONDOWN: { @@ -2224,6 +2236,39 @@ static void color_changed_callback(GtkWidget *widget, gtk_color_selection_get_current_color(colorsel, colorp); } + +/* + Make the raw keyboard data available - used to poke through to LLQtWebKit so + that Qt/Webkit has access to the virtual keycodes etc. that it needs +*/ +LLSD LLWindowSDL::getNativeKeyData() +{ + LLSD result = LLSD::emptyMap(); + + U32 modifiers = 0; // pretend-native modifiers... oh what a tangled web we weave! + + // we go through so many levels of device abstraction that I can't really guess + // what a plugin under GDK under Qt under SL under SDL under X11 considers + // a 'native' modifier mask. this has been sort of reverse-engineered... they *appear* + // to match GDK consts, but that may be co-incidence. + modifiers |= (mKeyModifiers & KMOD_LSHIFT) ? 0x0001 : 0; + modifiers |= (mKeyModifiers & KMOD_RSHIFT) ? 0x0001 : 0;// munge these into the same shift + modifiers |= (mKeyModifiers & KMOD_CAPS) ? 0x0002 : 0; + modifiers |= (mKeyModifiers & KMOD_LCTRL) ? 0x0004 : 0; + modifiers |= (mKeyModifiers & KMOD_RCTRL) ? 0x0004 : 0;// munge these into the same ctrl + modifiers |= (mKeyModifiers & KMOD_LALT) ? 0x0008 : 0;// untested + modifiers |= (mKeyModifiers & KMOD_RALT) ? 0x0008 : 0;// untested + // *todo: test ALTs - I don't have a case for testing these. Do you? + // *todo: NUM? - I don't care enough right now (and it's not a GDK modifier). + + result["scan_code"] = (S32)mKeyScanCode; + result["virtual_key"] = (S32)mKeyVirtualKey; + result["modifiers"] = (S32)modifiers; + + return result; +} + + BOOL LLWindowSDL::dialogColorPicker( F32 *r, F32 *g, F32 *b) { BOOL rtn = FALSE; diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h index 0ba1c861da..e6bdd46a77 100644 --- a/indra/llwindow/llwindowsdl.h +++ b/indra/llwindow/llwindowsdl.h @@ -102,7 +102,7 @@ public: /*virtual*/ void gatherInput(); /*virtual*/ void swapBuffers(); - /*virtual*/ void delayInputProcessing() { }; + /*virtual*/ void delayInputProcessing() { }; // handy coordinate space conversion routines /*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordWindow *to); @@ -155,12 +155,13 @@ protected: BOOL ignore_pixel_depth, U32 fsaa_samples); ~LLWindowSDL(); + /*virtual*/ BOOL isValid(); + /*virtual*/ LLSD getNativeKeyData(); + void initCursors(); void quitCursors(); - BOOL isValid(); void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size); - // Changes display resolution. Returns true if successful BOOL setDisplayResolution(S32 width, S32 height, S32 bits, S32 refresh); @@ -204,12 +205,16 @@ protected: friend class LLWindowManager; -#if LL_X11 private: +#if LL_X11 void x11_set_urgent(BOOL urgent); BOOL mFlashing; LLTimer mFlashTimer; #endif //LL_X11 + + U32 mKeyScanCode; + U32 mKeyVirtualKey; + SDLMod mKeyModifiers; }; diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 57a4921d92..c80392ad45 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -378,6 +378,9 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks, mMousePositionModified = FALSE; mInputProcessingPaused = FALSE; mPreeditor = NULL; + mKeyCharCode = 0; + mKeyScanCode = 0; + mKeyVirtualKey = 0; mhDC = NULL; mhRC = NULL; @@ -1872,6 +1875,10 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ // allow system keys, such as ALT-F4 to be processed by Windows eat_keystroke = FALSE; case WM_KEYDOWN: + window_imp->mKeyCharCode = 0; // don't know until wm_char comes in next + window_imp->mKeyScanCode = ( l_param >> 16 ) & 0xff; + window_imp->mKeyVirtualKey = w_param; + window_imp->mCallbacks->handlePingWatchdog(window_imp, "Main:WM_KEYDOWN"); { if (gDebugWindowProc) @@ -1891,6 +1898,9 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ eat_keystroke = FALSE; case WM_KEYUP: { + window_imp->mKeyScanCode = ( l_param >> 16 ) & 0xff; + window_imp->mKeyVirtualKey = w_param; + window_imp->mCallbacks->handlePingWatchdog(window_imp, "Main:WM_KEYUP"); LLFastTimer t2(FTM_KEYHANDLER); @@ -1976,6 +1986,8 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ break; case WM_CHAR: + window_imp->mKeyCharCode = w_param; + // Should really use WM_UNICHAR eventually, but it requires a specific Windows version and I need // to figure out how that works. - Doug // @@ -3051,6 +3063,19 @@ void LLWindowWin32::spawnWebBrowser(const std::string& escaped_url ) */ } +/* + Make the raw keyboard data available - used to poke through to LLQtWebKit so + that Qt/Webkit has access to the virtual keycodes etc. that it needs +*/ +LLSD LLWindowWin32::getNativeKeyData() +{ + LLSD result = LLSD::emptyMap(); + + result["scan_code"] = (S32)mKeyScanCode; + result["virtual_key"] = (S32)mKeyVirtualKey; + + return result; +} BOOL LLWindowWin32::dialogColorPicker( F32 *r, F32 *g, F32 *b ) { diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index 6aca31b63e..9d57735772 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -132,7 +132,7 @@ protected: HCURSOR loadColorCursor(LPCTSTR name); BOOL isValid(); void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size); - + LLSD getNativeKeyData(); // Changes display resolution. Returns true if successful BOOL setDisplayResolution(S32 width, S32 height, S32 bits, S32 refresh); @@ -211,6 +211,10 @@ protected: LLDragDropWin32* mDragDrop; + U32 mKeyCharCode; + U32 mKeyScanCode; + U32 mKeyVirtualKey; + friend class LLWindowManager; }; diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp index b607d2f66a..688d3bcd3d 100644 --- a/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -43,21 +43,15 @@ #include "llpluginmessageclasses.h" #include "media_plugin_base.h" -#if LL_LINUX -extern "C" { -# include <glib.h> -} -#endif // LL_LINUX - #if LL_WINDOWS -# include <direct.h> +#include <direct.h> #else -# include <unistd.h> -# include <stdlib.h> +#include <unistd.h> +#include <stdlib.h> #endif #if LL_WINDOWS - // *NOTE:Mani - This captures the module handle for the dll. This is used below + // *NOTE:Mani - This captures the module handle fo rthe dll. This is used below // to get the path to this dll for webkit initialization. // I don't know how/if this can be done with apr... namespace { HMODULE gModuleHandle;}; @@ -118,16 +112,6 @@ private: // void update(int milliseconds) { -#if LL_LINUX - // pump glib generously, as Linux browser plugins are on the - // glib main loop, even if the browser itself isn't - ugh - //*TODO: shouldn't this be transparent if Qt was compiled with - // glib mainloop integration? investigate. - GMainContext *mainc = g_main_context_default(); - while(g_main_context_iteration(mainc, FALSE)); -#endif // LL_LINUX - - // pump qt LLQtWebKit::getInstance()->pump( milliseconds ); checkEditState(); @@ -486,92 +470,96 @@ private: return (LLQtWebKit::EKeyboardModifier)result; } - //////////////////////////////////////////////////////////////////////////////// // - void keyEvent(LLQtWebKit::EKeyEvent key_event, int key, LLQtWebKit::EKeyboardModifier modifiers) + void deserializeKeyboardData( LLSD native_key_data, uint32_t& native_scan_code, uint32_t& native_virtual_key, uint32_t& native_modifiers ) { - int llqt_key; + native_scan_code = 0; + native_virtual_key = 0; + native_modifiers = 0; + if( native_key_data.isMap() ) + { +#if LL_DARWIN + native_scan_code = (uint32_t)(native_key_data["char_code"].asInteger()); + native_virtual_key = (uint32_t)(native_key_data["key_code"].asInteger()); + native_modifiers = (uint32_t)(native_key_data["modifiers"].asInteger()); +#elif LL_WINDOWS + native_scan_code = (uint32_t)(native_key_data["scan_code"].asInteger()); + native_virtual_key = (uint32_t)(native_key_data["virtual_key"].asInteger()); + // TODO: I don't think we need to do anything with native modifiers here -- please verify +#elif LL_LINUX + native_scan_code = (uint32_t)(native_key_data["scan_code"].asInteger()); + native_virtual_key = (uint32_t)(native_key_data["virtual_key"].asInteger()); + native_modifiers = (uint32_t)(native_key_data["modifiers"].asInteger()); +#else + // Add other platforms here as needed +#endif + }; + }; + + //////////////////////////////////////////////////////////////////////////////// + // + void keyEvent(LLQtWebKit::EKeyEvent key_event, int key, LLQtWebKit::EKeyboardModifier modifiers, LLSD native_key_data = LLSD::emptyMap()) + { // The incoming values for 'key' will be the ones from indra_constants.h - // the outgoing values are the ones from llqtwebkit.h + std::string utf8_text; + if(key < KEY_SPECIAL) + { + // Low-ascii characters need to get passed through. + utf8_text = (char)key; + } + + // Any special-case handling we want to do for particular keys... switch((KEY)key) { - // This is the list that the llqtwebkit implementation actually maps into Qt keys. -// case KEY_XXX: llqt_key = LL_DOM_VK_CANCEL; break; -// case KEY_XXX: llqt_key = LL_DOM_VK_HELP; break; - case KEY_BACKSPACE: llqt_key = LL_DOM_VK_BACK_SPACE; break; - case KEY_TAB: llqt_key = LL_DOM_VK_TAB; break; -// case KEY_XXX: llqt_key = LL_DOM_VK_CLEAR; break; - case KEY_RETURN: llqt_key = LL_DOM_VK_RETURN; break; - case KEY_PAD_RETURN: llqt_key = LL_DOM_VK_ENTER; break; - case KEY_SHIFT: llqt_key = LL_DOM_VK_SHIFT; break; - case KEY_CONTROL: llqt_key = LL_DOM_VK_CONTROL; break; - case KEY_ALT: llqt_key = LL_DOM_VK_ALT; break; -// case KEY_XXX: llqt_key = LL_DOM_VK_PAUSE; break; - case KEY_CAPSLOCK: llqt_key = LL_DOM_VK_CAPS_LOCK; break; - case KEY_ESCAPE: llqt_key = LL_DOM_VK_ESCAPE; break; - case KEY_PAGE_UP: llqt_key = LL_DOM_VK_PAGE_UP; break; - case KEY_PAGE_DOWN: llqt_key = LL_DOM_VK_PAGE_DOWN; break; - case KEY_END: llqt_key = LL_DOM_VK_END; break; - case KEY_HOME: llqt_key = LL_DOM_VK_HOME; break; - case KEY_LEFT: llqt_key = LL_DOM_VK_LEFT; break; - case KEY_UP: llqt_key = LL_DOM_VK_UP; break; - case KEY_RIGHT: llqt_key = LL_DOM_VK_RIGHT; break; - case KEY_DOWN: llqt_key = LL_DOM_VK_DOWN; break; -// case KEY_XXX: llqt_key = LL_DOM_VK_PRINTSCREEN; break; - case KEY_INSERT: llqt_key = LL_DOM_VK_INSERT; break; - case KEY_DELETE: llqt_key = LL_DOM_VK_DELETE; break; -// case KEY_XXX: llqt_key = LL_DOM_VK_CONTEXT_MENU; break; + // ASCII codes for some standard keys + case LLQtWebKit::KEY_BACKSPACE: utf8_text = (char)8; break; + case LLQtWebKit::KEY_TAB: utf8_text = (char)9; break; + case LLQtWebKit::KEY_RETURN: utf8_text = (char)13; break; + case LLQtWebKit::KEY_PAD_RETURN: utf8_text = (char)13; break; + case LLQtWebKit::KEY_ESCAPE: utf8_text = (char)27; break; - default: - if(key < KEY_SPECIAL) - { - // Pass the incoming key through -- it should be regular ASCII, which should be correct for webkit. - llqt_key = key; - } - else - { - // Don't pass through untranslated special keys -- they'll be all wrong. - llqt_key = 0; - } + default: break; } -// std::cerr << "keypress, original code = 0x" << std::hex << key << ", converted code = 0x" << std::hex << llqt_key << std::dec << std::endl; +// std::cerr << "key event " << (int)key_event << ", native_key_data = " << native_key_data << std::endl; - if(llqt_key != 0) - { - LLQtWebKit::getInstance()->keyEvent( mBrowserWindowId, key_event, llqt_key, modifiers); - } + uint32_t native_scan_code = 0; + uint32_t native_virtual_key = 0; + uint32_t native_modifiers = 0; + deserializeKeyboardData( native_key_data, native_scan_code, native_virtual_key, native_modifiers ); + + LLQtWebKit::getInstance()->keyboardEvent( mBrowserWindowId, key_event, (uint32_t)key, utf8_text.c_str(), modifiers, native_scan_code, native_virtual_key, native_modifiers); checkEditState(); }; //////////////////////////////////////////////////////////////////////////////// // - void unicodeInput( const std::string &utf8str, LLQtWebKit::EKeyboardModifier modifiers) - { - LLWString wstr = utf8str_to_wstring(utf8str); + void unicodeInput( const std::string &utf8str, LLQtWebKit::EKeyboardModifier modifiers, LLSD native_key_data = LLSD::emptyMap()) + { + uint32_t key = LLQtWebKit::KEY_NONE; - unsigned int i; - for(i=0; i < wstr.size(); i++) +// std::cerr << "unicode input, native_key_data = " << native_key_data << std::endl; + + if(utf8str.size() == 1) { -// std::cerr << "unicode input, code = 0x" << std::hex << (unsigned long)(wstr[i]) << std::dec << std::endl; - - if(wstr[i] == 32) - { - // For some reason, the webkit plugin really wants the space bar to come in through the key-event path, not the unicode path. - LLQtWebKit::getInstance()->keyEvent( mBrowserWindowId, LLQtWebKit::KE_KEY_DOWN, 32, modifiers); - LLQtWebKit::getInstance()->keyEvent( mBrowserWindowId, LLQtWebKit::KE_KEY_UP, 32, modifiers); - } - else - { - LLQtWebKit::getInstance()->unicodeInput(mBrowserWindowId, wstr[i], modifiers); - } + // The only way a utf8 string can be one byte long is if it's actually a single 7-bit ascii character. + // In this case, use it as the key value. + key = utf8str[0]; } + uint32_t native_scan_code = 0; + uint32_t native_virtual_key = 0; + uint32_t native_modifiers = 0; + deserializeKeyboardData( native_key_data, native_scan_code, native_virtual_key, native_modifiers ); + + LLQtWebKit::getInstance()->keyboardEvent( mBrowserWindowId, LLQtWebKit::KE_KEY_DOWN, (uint32_t)key, utf8str.c_str(), modifiers, native_scan_code, native_virtual_key, native_modifiers); + LLQtWebKit::getInstance()->keyboardEvent( mBrowserWindowId, LLQtWebKit::KE_KEY_UP, (uint32_t)key, utf8str.c_str(), modifiers, native_scan_code, native_virtual_key, native_modifiers); + checkEditState(); }; @@ -871,6 +859,7 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) std::string event = message_in.getValue("event"); S32 key = message_in.getValueS32("key"); std::string modifiers = message_in.getValue("modifiers"); + LLSD native_key_data = message_in.getValueLLSD("native_key_data"); // Treat unknown events as key-up for safety. LLQtWebKit::EKeyEvent key_event = LLQtWebKit::KE_KEY_UP; @@ -883,14 +872,15 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) key_event = LLQtWebKit::KE_KEY_REPEAT; } - keyEvent(key_event, key, decodeModifiers(modifiers)); + keyEvent(key_event, key, decodeModifiers(modifiers), native_key_data); } else if(message_name == "text_event") { std::string text = message_in.getValue("text"); std::string modifiers = message_in.getValue("modifiers"); + LLSD native_key_data = message_in.getValueLLSD("native_key_data"); - unicodeInput(text, decodeModifiers(modifiers)); + unicodeInput(text, decodeModifiers(modifiers), native_key_data); } if(message_name == "edit_cut") { diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index a32f0d046e..db4e0b5afd 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4633,6 +4633,17 @@ <key>Value</key> <integer>410</integer> </map> + <key>MePanelOpened</key> + <map> + <key>Comment</key> + <string>Indicates that Me Panel was opened at least once after Viewer was installed</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <real>0</real> + </map> <key>MigrateCacheDirectory</key> <map> <key>Comment</key> diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 34ab541a8e..53cdfcc9b2 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -407,12 +407,7 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) } } - if (floater_container) - { - //selecting the panel resets a chiclet's counter - floater_container->selectFloater(floater); - floater_container->setVisible(TRUE); - } + floater->openFloater(floater->getKey()); } else { diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index a68552a91e..3504cbd1ef 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -41,6 +41,7 @@ #include "llsidetray.h" #include "lltabcontainer.h" #include "lltexturectrl.h" +#include "llviewercontrol.h" #define PICKER_SECOND_LIFE "2nd_life_pic" #define PICKER_FIRST_LIFE "real_world_pic" @@ -70,18 +71,16 @@ void LLPanelMe::onOpen(const LLSD& key) { LLPanelProfile::onOpen(key); - if(key.isUndefined() || key.has("edit_my_profile")) + // Force Edit My Profile if this is the first time when user is opening Me Panel (EXT-5068) + bool opened = gSavedSettings.getBOOL("MePanelOpened"); + // In some cases Side Tray my call onOpen() twice, check getCollapsed() to be sure this + // is the last time onOpen() is called + if( !opened && !LLSideTray::getInstance()->getCollapsed() ) { - // Open Edit My Profile panel by default (through Side Tray -> My Profile) (EXT-4823) buildEditPanel(); openPanel(mEditPanel, getAvatarId()); - } - else if(mEditPanel) - { - // When opening Me Panel through Side Tray LLPanelMe::onOpen() is called twice. - // First time key can be undefined and second time - key may contain some data. - // Lets close Edit Panel if key does contain some data on second call. - closePanel(mEditPanel); + + gSavedSettings.setBOOL("MePanelOpened", true); } } diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 465d36b8de..a81ec61263 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -74,9 +74,6 @@ LLScriptFloater::LLScriptFloater(const LLSD& key) bool LLScriptFloater::toggle(const LLUUID& notification_id) { - // Force chiclet toggle on here because first onFocusReceived() will not toggle it on. - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true); - LLScriptFloater* floater = LLFloaterReg::findTypedInstance<LLScriptFloater>("script_floater", notification_id); // show existing floater @@ -91,23 +88,24 @@ bool LLScriptFloater::toggle(const LLUUID& notification_id) { floater->setVisible(TRUE); floater->setFocus(TRUE); - return true; } } // create and show new floater else { show(notification_id); - return true; } + + LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true); + return true; } LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id) { - LLScriptFloater* floater = LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id); - + LLScriptFloater* floater = LLFloaterReg::getTypedInstance<LLScriptFloater>("script_floater", notification_id); floater->setNotificationId(notification_id); floater->createForm(notification_id); + LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id, TRUE); if (floater->getDockControl() == NULL) { diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index b1c8675793..140a9c818a 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -139,6 +139,8 @@ public: LLPanel* getButtonsPanel() { return mButtonsPanel; } + bool getCollapsed() { return mCollapsed; } + public: virtual ~LLSideTray(){}; diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 4d1718be6a..127b4265ca 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -404,7 +404,10 @@ BOOL LLIMWellWindow::RowPanel::handleMouseDown(S32 x, S32 y, MASK mask) { // Pass the mouse down event to the chiclet (EXT-596). if (!mChiclet->pointInView(x, y) && !mCloseBtn->getRect().pointInRect(x, y)) // prevent double call of LLIMChiclet::onMouseDown() + { mChiclet->onMouseDown(); + return TRUE; + } return LLPanel::handleMouseDown(x, y, mask); } @@ -479,7 +482,10 @@ BOOL LLIMWellWindow::ObjectRowPanel::handleMouseDown(S32 x, S32 y, MASK mask) { // Pass the mouse down event to the chiclet (EXT-596). if (!mChiclet->pointInView(x, y) && !mCloseBtn->getRect().pointInRect(x, y)) // prevent double call of LLIMChiclet::onMouseDown() + { mChiclet->onMouseDown(); + return TRUE; + } return LLPanel::handleMouseDown(x, y, mask); } diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index da090d074c..0e133f8729 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -57,6 +57,7 @@ #include "llkeyboard.h" #include "llmutelist.h" //#include "llfirstuse.h" +#include "llwindow.h" #include <boost/bind.hpp> // for SkinFolder listener #include <boost/signals2.hpp> @@ -1779,9 +1780,12 @@ bool LLViewerMediaImpl::handleKeyHere(KEY key, MASK mask) if(!result) { - result = mMediaSource->keyEvent(LLPluginClassMedia::KEY_EVENT_DOWN ,key, mask); + + LLSD native_key_data = gViewerWindow->getWindow()->getNativeKeyData(); + + result = mMediaSource->keyEvent(LLPluginClassMedia::KEY_EVENT_DOWN ,key, mask, native_key_data); // Since the viewer internal event dispatching doesn't give us key-up events, simulate one here. - (void)mMediaSource->keyEvent(LLPluginClassMedia::KEY_EVENT_UP ,key, mask); + (void)mMediaSource->keyEvent(LLPluginClassMedia::KEY_EVENT_UP ,key, mask, native_key_data); } } @@ -1799,7 +1803,9 @@ bool LLViewerMediaImpl::handleUnicodeCharHere(llwchar uni_char) if (uni_char >= 32 // discard 'control' characters && uni_char != 127) // SDL thinks this is 'delete' - yuck. { - mMediaSource->textInput(wstring_to_utf8str(LLWString(1, uni_char)), gKeyboard->currentMask(FALSE)); + LLSD native_key_data = gViewerWindow->getWindow()->getNativeKeyData(); + + mMediaSource->textInput(wstring_to_utf8str(LLWString(1, uni_char)), gKeyboard->currentMask(FALSE), native_key_data); } } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 42f7793b5a..d9b5344dd4 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1842,6 +1842,11 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) } else { + /* + EXT-5099 + currently there is no way to store in history only... + using LLNotificationsUtil::add will add message to Nearby Chat + // muted user, so don't start an IM session, just record line in chat // history. Pretend the chat is from a local agent, // so it will go into the history but not be shown on screen. @@ -1849,6 +1854,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) LLSD args; args["MESSAGE"] = buffer; LLNotificationsUtil::add("SystemMessageTip", args); + */ } } break; diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index ca579616d8..b33d4f73a4 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -554,7 +554,7 @@ reference="White" /> <color name="ObjectChatColor" - reference="EmphasisColor_35" /> + reference="EmphasisColor" /> <color name="OverdrivenColor" reference="Red" /> diff --git a/indra/newview/skins/default/textures/world/BeaconArrow.png b/indra/newview/skins/default/textures/world/BeaconArrow.png Binary files differindex 12dc246d51..54934f738a 100644 --- a/indra/newview/skins/default/textures/world/BeaconArrow.png +++ b/indra/newview/skins/default/textures/world/BeaconArrow.png diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml index 0beb54032f..5f3762c224 100644 --- a/indra/newview/skins/default/xui/de/floater_about.xml +++ b/indra/newview/skins/default/xui/de/floater_about.xml @@ -73,7 +73,8 @@ google-perftools Copyright (c) 2005, Google Inc. Alle Rechte vorbehalten. Details siehe licenses.txt. -Voice-Chat-Audiocoding: Polycom(R) Siren14(TM) (ITU-T Empf.G.722.1 Anhang C) +Voice-Chat-Audiocoding: Polycom(R) Siren14(TM) +(ITU-T Empf.G.722.1 Anhang C) </text_editor> </panel> </tab_container> diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml index cd5abf86e0..aec1179901 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -12,7 +12,7 @@ <floater.string name="Remaining"> Restzeit </floater.string> - <tab_container name="landtab"> + <tab_container name="landtab" width="489" tab_min_width="40"> <panel label="ALLGEMEIN" name="land_general_panel"> <panel.string name="new users only"> Nur neue Benutzer @@ -83,7 +83,7 @@ <text name="GroupText"> Leyla Linden </text> - <button label="Festlegen" label_selected="Einstellen..." name="Set..."/> + <button label="Festlegen" label_selected="Einstellen..." name="Set..." width="90"/> <check_box label="Übertragung an Gruppe zulassen" name="check deed" tool_tip="Ein Gruppen-Officer kann dieses Land der Gruppe übertragen. Das Land wird dann über die Landzuteilung der Gruppe verwaltet."/> <button label="Übertragung" label_selected="Übertragen..." name="Deed..." tool_tip="Sie können Land nur übertragen, wenn Sie in der ausgewählten Gruppe Officer sind."/> <check_box label="Eigentümer leistet Beitrag durch Übertragung" name="check contrib" tool_tip="Wenn das Land an die Gruppe übertragen wird, trägt der frühere Eigentümer ausreichend Landnutzungsrechte bei, um es zu halten."/> @@ -101,10 +101,10 @@ <text name="For sale to"> Zum Verkauf an: [BUYER] </text> - <text name="Sell with landowners objects in parcel." width="210"> + <text name="Sell with landowners objects in parcel." left_delta="-50" width="240"> Objekte sind im Verkauf eingeschlossen </text> - <text name="Selling with no objects in parcel." width="237"> + <text name="Selling with no objects in parcel." width="260"> Objekte sind im Verkauf nicht eingeschlossen </text> <button bottom="-222" label="Landverkauf abbrechen" label_selected="Landverkauf abbrechen" name="Cancel Land Sale"/> @@ -230,7 +230,7 @@ werden. <text left="14" name="Owned by parcel owner:" width="200"> Im Eigentum des Parzellenbesitzers: </text> - <text left="204" name="owner_objects_text" width="48"> + <text left="204" left_delta="200" name="owner_objects_text" width="48"> [COUNT] </text> <button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" width="60"/> @@ -257,7 +257,7 @@ werden. <text left="204" name="selected_objects_text" width="48"> [COUNT] </text> - <text left="4" name="Autoreturn" width="380"> + <text left="4" name="Autoreturn" width="410"> Objekte anderer Einwohner automatisch zurückgeben (Minuten, 0 für aus): </text> <line_editor name="clean other time" right="-10" width="56"/> @@ -269,7 +269,7 @@ werden. <name_list name="owner list"> <name_list.columns label="Typ" name="type"/> <name_list.columns label="Name" name="name"/> - <name_list.columns label="Zählen" name="count"/> + <name_list.columns label="Zählen" name="count" width="80"/> <name_list.columns label="Aktuellster" name="mostrecent"/> </name_list> </panel> @@ -368,7 +368,7 @@ Nur große Parzellen können in der Suche aufgeführt werden. <text name="landing_point"> Landepunkt: [LANDING] </text> - <button label="Festlegen" label_selected="Festlegen" left="234" name="Set" tool_tip="Legt den Landepunkt fest, an dem Besucher ankommen. Legt die Position Ihres Avatars innerhalb dieser Parzelle fest." width="70"/> + <button label="Festlegen" label_selected="Festlegen" left="234" right="-88" name="Set" tool_tip="Legt den Landepunkt fest, an dem Besucher ankommen. Legt die Position Ihres Avatars innerhalb dieser Parzelle fest." width="70"/> <button label="Löschen" label_selected="Löschen" left="312" name="Clear" tool_tip="Landepunkt löschen" width="70"/> <text name="Teleport Routing: "> Teleport-Route: @@ -444,7 +444,7 @@ Nur große Parzellen können in der Suche aufgeführt werden. Zugang zu dieser Parzelle </text> <check_box label="Öffentlichen Zugang erlauben [MATURITY]" name="public_access"/> - <text name="Only Allow"> + <text name="Only Allow" width="400"> Zugang auf Einwohner beschränken, die überprüft wurden von: </text> <check_box label="Zahlungsinformation gespeichert [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Nicht identifizierte Einwohner verbannen."/> diff --git a/indra/newview/skins/default/xui/de/floater_animation_preview.xml b/indra/newview/skins/default/xui/de/floater_animation_preview.xml index ce971d158d..be573b524f 100644 --- a/indra/newview/skins/default/xui/de/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/de/floater_animation_preview.xml @@ -180,6 +180,6 @@ Maximal erlaubt sind [MAX_LENGTH] Sekunden. Wir empfehlen exportierte BVH-Dateien aus Poser 4. </text> - <button label="Hochladen ([AMOUNT] L$)" name="ok_btn"/> - <button label="Abbrechen" name="cancel_btn"/> + <button label="Hochladen ([AMOUNT] L$)" name="ok_btn" width="160"/> + <button label="Abbrechen" name="cancel_btn" left="180" width="88"/> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_avatar_picker.xml b/indra/newview/skins/default/xui/de/floater_avatar_picker.xml index bc78ccd7f8..f1281bfb9b 100644 --- a/indra/newview/skins/default/xui/de/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/de/floater_avatar_picker.xml @@ -21,11 +21,12 @@ <tab_container name="ResidentChooserTabs"> <panel label="Suchen" name="SearchPanel"> <text name="InstructSearchResidentName"> - Geben Sie einen Teil des Namens einer Person ein: + Geben Sie einen Teil des Namens einer +Person ein: </text> - <line_editor bottom_delta="-36" name="Edit"/> - <button label="Los" label_selected="Los" name="Find"/> - <scroll_list bottom_delta="-79" height="74" name="SearchResults"/> + <line_editor bottom_delta="-76" name="Edit" top_pad="16"/> + <button label="Los" label_selected="Los" name="Find" top="70"/> + <scroll_list top="80" height="54" name="SearchResults"/> </panel> <panel label="Freunde" name="FriendsPanel"> <text name="InstructSelectFriend"> diff --git a/indra/newview/skins/default/xui/de/floater_avatar_textures.xml b/indra/newview/skins/default/xui/de/floater_avatar_textures.xml index 3be5194a8f..cf1b809aa1 100644 --- a/indra/newview/skins/default/xui/de/floater_avatar_textures.xml +++ b/indra/newview/skins/default/xui/de/floater_avatar_textures.xml @@ -3,10 +3,10 @@ <floater.string name="InvalidAvatar"> UNGÜLTIGER AVATAR </floater.string> - <text name="label"> + <text name="label" width="120"> Gebackene Texturen </text> - <text name="composite_label" width="150"> + <text name="composite_label" width="170"> Zusammengesetzte Texturen </text> <button label="Läd IDs in Konsole ab" label_selected="Abladen" name="Dump"/> @@ -23,7 +23,8 @@ <texture_picker label="Auge" name="eyes_iris"/> <texture_picker label="Alpha: Augen" name="eyes_alpha"/> <texture_picker label="Oberkörper" name="upper-baked"/> - <texture_picker label="Oberkörper: Körperfarbe" name="upper_bodypaint"/> + <texture_picker label="Oberkörper: Körperfarbe" name="upper_bodypaint" width= + "140"/> <texture_picker label="Unterhemd" name="upper_undershirt"/> <texture_picker label="Handschuhe" name="upper_gloves"/> <texture_picker label="Hemd" name="upper_shirt"/> @@ -31,7 +32,8 @@ <texture_picker label="Alpha: Oben" name="upper_alpha"/> <texture_picker label="Obere Tattoos" name="upper_tattoo"/> <texture_picker label="Unterkörper" name="lower-baked"/> - <texture_picker label="Unterkörper: Körperfarbe" name="lower_bodypaint"/> + <texture_picker label="Unterkörper: Körperfarbe" name="lower_bodypaint" width= + "140"/> <texture_picker label="Unterhose" name="lower_underpants"/> <texture_picker label="Socken" name="lower_socks"/> <texture_picker label="Schuhe" name="lower_shoes"/> diff --git a/indra/newview/skins/default/xui/de/floater_bulk_perms.xml b/indra/newview/skins/default/xui/de/floater_bulk_perms.xml index 218c66d298..1d766ac07b 100644 --- a/indra/newview/skins/default/xui/de/floater_bulk_perms.xml +++ b/indra/newview/skins/default/xui/de/floater_bulk_perms.xml @@ -43,7 +43,7 @@ Jeder: </text> <check_box label="Kopieren" name="everyone_copy"/> - <text name="NextOwnerLabel"> + <text name="NextOwnerLabel" top="160" left="10"> Nächster Eigentümer: </text> <check_box label="Bearbeiten" name="next_owner_modify"/> diff --git a/indra/newview/skins/default/xui/de/floater_buy_currency.xml b/indra/newview/skins/default/xui/de/floater_buy_currency.xml index aa6201ec26..72959c7a0c 100644 --- a/indra/newview/skins/default/xui/de/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/de/floater_buy_currency.xml @@ -59,8 +59,9 @@ </text> <button label="Jetzt kaufen" name="buy_btn"/> <button label="Abbrechen" name="cancel_btn"/> - <text name="info_cannot_buy"> - Kauf nicht möglich + <text name="info_cannot_buy" left="160" width="200" height="40"> + Kauf nicht +möglich </text> <button label="Weiter zum Internet" name="error_web"/> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_buy_land.xml b/indra/newview/skins/default/xui/de/floater_buy_land.xml index 4c59f1e8e6..5efa557869 100644 --- a/indra/newview/skins/default/xui/de/floater_buy_land.xml +++ b/indra/newview/skins/default/xui/de/floater_buy_land.xml @@ -3,41 +3,41 @@ <text name="region_name_label"> Region: </text> - <text left="580" name="region_name_text"> + <text left="680" name="region_name_text" left_delta="140"> (unbekannt) </text> <text name="region_type_label"> Typ: </text> - <text left="580" name="region_type_text"> + <text left="680" name="region_type_text" left_delta="140"> (unbekannt) </text> <text name="estate_name_label"> Grundstück: </text> - <text left="580" name="estate_name_text"> + <text left="680" name="estate_name_text" left_delta="140"> (unbekannt) </text> <text name="estate_owner_label" right="600" width="200"> Grundstückseigentümer: </text> - <text left="580" name="estate_owner_text"> + <text left="680" name="estate_owner_text" left_delta="140"> (unbekannt) </text> - <text name="resellable_changeable_label"> + <text name="resellable_changeable_label" left="410"> Gekauftes Land in dieser Region: </text> - <text name="resellable_clause"> + <text name="resellable_clause" left="410"> Wiederverkauf möglich oder nicht möglich. </text> - <text name="changeable_clause"> + <text name="changeable_clause" left="410"> Darft oder darf nicht zusammengelegt/unterteilt werden. </text> - <text name="covenant_text"> + <text name="covenant_text" left="410"> Sie müssen dem Grundstücksvertrag zustimmen: </text> <text left="470" name="covenant_timestamp_text"/> - <text_editor name="covenant_editor"> + <text_editor name="covenant_editor" left="470"> Wird geladen... </text_editor> <check_box label="Ich stimme dem obigen Vertrag zu." name="agree_covenant"/> @@ -67,7 +67,7 @@ Objekte im Verkauf eingeschlossen <text name="error_message"> Irgendetwas stimmt nicht. </text> - <button label="Gehe zu Website" name="error_web"/> + <button label="Gehe zu Website" name="error_web" top_delta="136"/> <text name="account_action"> Macht Sie zum Premium-Mitglied. </text> @@ -79,8 +79,9 @@ Objekte im Verkauf eingeschlossen <combo_box.item label="7,50 US$/Monat, vierteljährliche Abrechnung" name="US$7.50/month,billedquarterly"/> <combo_box.item label="6,00 US$/Monat, jährliche Abrechnung" name="US$6.00/month,billedannually"/> </combo_box> - <text name="land_use_action"> - Erhöhen Sie Ihre monatlichen Landnutzungsgebühren auf 40 US$/month. + <text name="land_use_action" top="270" height="36"> + Erhöhen Sie Ihre monatlichen Landnutzungsgebühren +auf 40 US$/month. </text> <text name="land_use_reason"> Sie besitzen 1309 m² Land. diff --git a/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml index 7f4dc4a79e..9baf30fb53 100644 --- a/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml +++ b/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml @@ -66,7 +66,7 @@ Key-Zeit: </text> <spinner label="Std." name="WLCurKeyHour" /> - <spinner label="Min." name="WLCurKeyMin" /> + <spinner label="Min." name="WLCurKeyMin" label_width="100" width="66"/> <text name="WLCurKeyTimeText2"> Key-Voreinstellung: </text> @@ -79,8 +79,8 @@ Zykluslänge: </text> <spinner label="Std." name="WLLengthOfDayHour" /> - <spinner label="Min." name="WLLengthOfDayMin" /> - <spinner label="Sek." name="WLLengthOfDaySec" /> + <spinner label="Min." name="WLLengthOfDayMin" label_width="100" width="66"/> + <spinner label="Sek." name="WLLengthOfDaySec" label_width="100" width="66"/> <text name="DayCycleText3"> Vorschau: </text> diff --git a/indra/newview/skins/default/xui/de/floater_god_tools.xml b/indra/newview/skins/default/xui/de/floater_god_tools.xml index 716165bb6b..30b151ca58 100644 --- a/indra/newview/skins/default/xui/de/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_god_tools.xml @@ -11,15 +11,15 @@ </text> <check_box label="Startbereich Einleitung" name="check prelude" tool_tip="Diese Region zu einem Startbereich machen."/> <check_box label="Sonne fest" name="check fixed sun" tool_tip="Fixiert den Sonnenstand (wie in „Region/Grundstück“ > „Terrain“."/> - <check_box height="32" label="Zuhause auf Teleport zurücksetzen" name="check reset home" tool_tip="Wenn Einwohner weg teleportieren, ihr Zuhause auf Zielposition setzen."/> - <check_box bottom_delta="-32" label="Sichtbar" name="check visible" tool_tip="Diese Region für Nicht-Götter sichtbar machen."/> + <check_box label="Zuhause auf Teleport zurücksetzen" name="check reset home" tool_tip="Wenn Einwohner weg teleportieren, ihr Zuhause auf Zielposition setzen."/> + <check_box label="Sichtbar" name="check visible" tool_tip="Diese Region für Nicht-Götter sichtbar machen."/> <check_box label="Schaden" name="check damage" tool_tip="Schaden in dieser Region aktivieren."/> <check_box label="Trafficüberwachung blockieren" name="block dwell" tool_tip="In dieser Region die Traffic-Berechnung abschalten."/> <check_box label="Terraformen blockieren" name="block terraform" tool_tip="Das Terraformen von Land verbieten (Benutzen Sie dies um Leuten das Terraformen ihres Landes zu verbieten)"/> <check_box label="Sandkasten" name="is sandbox" tool_tip="Sandkastenregion ein-/ausschalten."/> - <button label="Terrain formen" label_selected="Terrain formen" name="Bake Terrain" tool_tip="Das aktuelle Terrain als Standard speichern." width="118"/> - <button label="Terrain zurücksetzen" label_selected="Terrain zurücksetzen" name="Revert Terrain" tool_tip="Das aktuelle Terrain mit dem Standard ersetzen." width="118"/> - <button label="Terrain tauschen" label_selected="Terrain tauschen" name="Swap Terrain" tool_tip="Aktuelles Terrain gegen Standard austauschen." width="118"/> + <button label="Terrain formen" label_selected="Terrain formen" name="Bake Terrain" tool_tip="Das aktuelle Terrain als Standard speichern." width="120"/> + <button label="Terrain zurücksetzen" label_selected="Terrain zurücksetzen" name="Revert Terrain" tool_tip="Das aktuelle Terrain mit dem Standard ersetzen." width="120"/> + <button label="Terrain tauschen" label_selected="Terrain tauschen" name="Swap Terrain" tool_tip="Aktuelles Terrain gegen Standard austauschen." width="120"/> <text name="estate id"> Grundstücks-ID: </text> @@ -32,11 +32,11 @@ </text> <line_editor left_delta="110" name="gridposx" tool_tip="Die X-Rasterposition dieser Region" width="35"/> <line_editor left_delta="45" name="gridposy" tool_tip="Die Y-Rasterposition dieser Region" width="35"/> - <text name="Redirect to Grid: "> + <text name="Redirect to Grid: " width="110"> Auf Raster umleiten: </text> - <line_editor left_delta="110" name="redirectx" width="35"/> - <line_editor left_delta="45" name="redirecty" width="35"/> + <line_editor left_delta="110" name="redirectx" width="35" left_pad="0"/> + <line_editor left_delta="45" name="redirecty" width="35" /> <text font="SansSerifSmall" name="billable factor text"> Abrechnungsfaktor: </text> @@ -45,8 +45,8 @@ </text> <button label="Aktualisieren" label_selected="Aktualisieren" name="Refresh" tool_tip="Klicken Sie hier, um die obigen Informationen zu aktualisieren."/> <button label="Übernehmen" label_selected="Übernehmen" name="Apply" tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen."/> - <button label="Region auswählen" label_selected="Region auswählen" left="136" name="Select Region" tool_tip="Die gesamte Region mit dem Landwerkzeug auswählen." width="130"/> - <button label="Automatisch speichern" label_selected="Automatisch speichern" left="136" name="Autosave now" tool_tip="gzipped-Status im Autosave-Verzeichnis speichern." width="130"/> + <button label="Region auswählen" label_selected="Region auswählen" left="136" name="Select Region" tool_tip="Die gesamte Region mit dem Landwerkzeug auswählen." width="132"/> + <button label="Automatisch speichern" label_selected="Automatisch speichern" left="136" name="Autosave now" tool_tip="gzipped-Status im Autosave-Verzeichnis speichern." width="132"/> </panel> <panel label="Objekte" name="objects"> <panel.string name="no_target"> diff --git a/indra/newview/skins/default/xui/de/floater_image_preview.xml b/indra/newview/skins/default/xui/de/floater_image_preview.xml index 7f66234dab..fd675f8808 100644 --- a/indra/newview/skins/default/xui/de/floater_image_preview.xml +++ b/indra/newview/skins/default/xui/de/floater_image_preview.xml @@ -28,5 +28,5 @@ Speichern Sie das Bild als 24 Bit Targa (.tga). </text> <check_box label="Verlustfreie Komprimierung verwenden" name="lossless_check"/> <button label="Abbrechen" name="cancel_btn"/> - <button label="Hochladen ([AMOUNT] L$)" name="ok_btn"/> + <button label="Hochladen ([AMOUNT] L$)" name="ok_btn" width="146"/> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_inspect.xml b/indra/newview/skins/default/xui/de/floater_inspect.xml index 939aa964c0..da97ceb2d8 100644 --- a/indra/newview/skins/default/xui/de/floater_inspect.xml +++ b/indra/newview/skins/default/xui/de/floater_inspect.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater min_width="450" name="inspect" title="OBJEKTE UNTERSUCHEN"> +<floater min_width="460" name="inspect" title="OBJEKTE UNTERSUCHEN" width="460"> <floater.string name="timeStamp"> [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] </floater.string> <scroll_list name="object_list" tool_tip="Wählen Sie ein Objekt aus dieser Liste, um es in der Second Life-Welt zu markieren"> <scroll_list.columns label="Objektname" name="object_name"/> - <scroll_list.columns label="Besitzer" name="owner_name"/> + <scroll_list.columns label="Besitzer" name="owner_name" /> <scroll_list.columns label="Ersteller" name="creator_name"/> - <scroll_list.columns label="Erstellungsdatum" name="creation_date"/> + <scroll_list.columns label="Erstellungsdatum" name="creation_date" width="116"/> </scroll_list> <button label="Besitzerprofil einsehen..." name="button owner" tool_tip="Profil des Besitzers des markierten Objekts einsehen" width="155"/> <button label="Erstellerprofil einsehen..." left="175" name="button creator" tool_tip="Profil des ursprünglichen Erstellers des markierten Objekts einsehen" width="155"/> diff --git a/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml index e894f666c9..f98e23bbc4 100644 --- a/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml @@ -59,10 +59,10 @@ Nächster Eigentümer: </text> <check_box label="Bearbeiten" name="CheckNextOwnerModify"/> - <check_box label="Kopieren" left_delta="85" name="CheckNextOwnerCopy"/> + <check_box label="Kopieren" left_delta="55" name="CheckNextOwnerCopy"/> <check_box label="Wiederverkaufen" name="CheckNextOwnerTransfer"/> <check_box label="Zum Verkauf" name="CheckPurchase"/> - <combo_box name="combobox sale copy"> + <combo_box name="combobox sale copy" left_pad="25"> <combo_box.item label="Kopieren" name="Copy"/> <combo_box.item label="Original" name="Original"/> </combo_box> diff --git a/indra/newview/skins/default/xui/de/floater_lsl_guide.xml b/indra/newview/skins/default/xui/de/floater_lsl_guide.xml index 1d6f690d3c..73c21edc67 100644 --- a/indra/newview/skins/default/xui/de/floater_lsl_guide.xml +++ b/indra/newview/skins/default/xui/de/floater_lsl_guide.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="script ed float" title="LSL-REFERENZ"> <check_box label="Cursor folgen" name="lock_check"/> - <combo_box label="Sperren" name="history_combo"/> + <combo_box label="Sperren" name="history_combo" left_pad="50" width="80"/> <button label="Zurück" name="back_btn"/> <button label="Weiter" name="fwd_btn"/> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_media_browser.xml b/indra/newview/skins/default/xui/de/floater_media_browser.xml index 18adb5ee7f..2d438dfe21 100644 --- a/indra/newview/skins/default/xui/de/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/de/floater_media_browser.xml @@ -14,8 +14,8 @@ <button label="Los" name="go"/> </layout_panel> <layout_panel name="time_controls"> - <button label="zurückspulen" name="rewind"/> - <button label="anhalten" name="stop"/> + <button label="zurückspulen" name="rewind" width="100"/> + <button label="anhalten" name="stop" left_pad="20"/> <button label="vorwärts" name="seek"/> </layout_panel> <layout_panel name="parcel_owner_controls"> diff --git a/indra/newview/skins/default/xui/de/floater_mem_leaking.xml b/indra/newview/skins/default/xui/de/floater_mem_leaking.xml index b730146aa6..fdc9b950b6 100644 --- a/indra/newview/skins/default/xui/de/floater_mem_leaking.xml +++ b/indra/newview/skins/default/xui/de/floater_mem_leaking.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="MemLeak" title="SPEICHERVERLUST SIMULIEREN"> - <spinner label="Verlustgeschwindigkeit (Bytes pro Frame):" name="leak_speed"/> - <spinner label="Max. Speicherverlust (MB):" name="max_leak"/> + <spinner label="Verlustgeschwindigkeit (Bytes pro Frame):" name="leak_speed" label_width="224"/> + <spinner label="Max. Speicherverlust (MB):" name="max_leak" label_width="224"/> <text name="total_leaked_label"> Aktueller Speicherverlust:[SIZE] KB </text> diff --git a/indra/newview/skins/default/xui/de/floater_openobject.xml b/indra/newview/skins/default/xui/de/floater_openobject.xml index f0b6aa498b..c3e7052283 100644 --- a/indra/newview/skins/default/xui/de/floater_openobject.xml +++ b/indra/newview/skins/default/xui/de/floater_openobject.xml @@ -3,6 +3,6 @@ <text name="object_name"> [DESC]: </text> - <button label="In Inventar kopieren" label_selected="In Inventar kopieren" name="copy_to_inventory_button" width="132"/> - <button label="Kopieren und anziehen" label_selected="Kopieren und anziehen" left="150" name="copy_and_wear_button" width="132"/> + <button label="In Inventar kopieren" label_selected="In Inventar kopieren" name="copy_to_inventory_button" width="120"/> + <button label="Kopieren und anziehen" label_selected="Kopieren und anziehen" left_pad="6" name="copy_and_wear_button" width="136"/> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_pay_object.xml b/indra/newview/skins/default/xui/de/floater_pay_object.xml index 92f5ea415e..bc714361cc 100644 --- a/indra/newview/skins/default/xui/de/floater_pay_object.xml +++ b/indra/newview/skins/default/xui/de/floater_pay_object.xml @@ -17,10 +17,10 @@ <text left="105" name="object_name_text"> ... </text> - <button label="1 L$" label_selected="1 L$" left="105" name="fastpay 1"/> - <button label="5 L$" label_selected="5 L$" left="190" name="fastpay 5"/> - <button label="10 L$" label_selected="10 L$" left="105" name="fastpay 10"/> - <button label="20 L$" label_selected="20 L$" left="190" name="fastpay 20"/> + <button label="1 L$" label_selected="1 L$" name="fastpay 1"/> + <button label="5 L$" label_selected="5 L$" name="fastpay 5"/> + <button label="10 L$" label_selected="10 L$" name="fastpay 10"/> + <button label="20 L$" label_selected="20 L$" name="fastpay 20"/> <text name="amount text"> Oder Betrag auswählen: </text> diff --git a/indra/newview/skins/default/xui/de/floater_postcard.xml b/indra/newview/skins/default/xui/de/floater_postcard.xml index 37a0a0ad1d..91e0bb8133 100644 --- a/indra/newview/skins/default/xui/de/floater_postcard.xml +++ b/indra/newview/skins/default/xui/de/floater_postcard.xml @@ -3,19 +3,19 @@ <text name="to_label"> E-Mail des Empfängers: </text> - <line_editor left="145" name="to_form" width="125"/> + <line_editor left_delta="145" name="to_form" width="125"/> <text name="from_label"> Ihre E-Mail: </text> - <line_editor left="145" name="from_form" width="125"/> + <line_editor left_delta="145" name="from_form" width="125"/> <text name="name_label"> Ihr Name: </text> - <line_editor left="145" name="name_form" width="125"/> + <line_editor left_delta="145" name="name_form" width="125"/> <text name="subject_label"> Betreff: </text> - <line_editor label="Betreff hier eingeben." left="145" name="subject_form" width="125"/> + <line_editor label="Betreff hier eingeben." left_delta="145" name="subject_form" width="125"/> <text name="msg_label"> Nachricht: </text> @@ -25,7 +25,7 @@ <check_box label="Im Web veröffentlichen" name="allow_publish_check" tool_tip="Veröffentlicht diese Postkarte im Web."/> <check_box label="Ab-18-Inhalt" name="mature_check" tool_tip="Diese Postkarte enthält nicht jugendfreie Inhalte."/> <button label="?" name="publish_help_btn"/> - <text name="fine_print"> + <text name="fine_print" bottom_delta="21" height="140"> Wenn sich der Empfänger bei SL anmeldet, erhalten Sie einen Empfehlungsbonus. </text> <button label="Abbrechen" name="cancel_btn"/> diff --git a/indra/newview/skins/default/xui/de/floater_preview_animation.xml b/indra/newview/skins/default/xui/de/floater_preview_animation.xml index e98faeb1f4..b2e9c2e66d 100644 --- a/indra/newview/skins/default/xui/de/floater_preview_animation.xml +++ b/indra/newview/skins/default/xui/de/floater_preview_animation.xml @@ -3,10 +3,10 @@ <floater.string name="Title"> Animation: [NAME] </floater.string> - <text name="desc txt"> + <text name="desc txt" width="140"> Beschreibung: </text> - <line_editor left="98" name="desc" width="189"/> + <line_editor left="108" name="desc" width="160"/> <button label="In Welt abspielen" label_selected="Stopp" name="Anim play btn" tool_tip="Diese Animation so wiedergeben, dass andere sie sehen können." width="116"/> <button label="Lokal wiedergeben" label_selected="Stopp" left="171" name="Anim audition btn" tool_tip="Diese Animation so wiedergeben, dass nur Sie sie sehen." width="116"/> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml index 51c41a3209..1426a33d1d 100644 --- a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml @@ -36,7 +36,7 @@ <text name="replace_text" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht's“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht's sagen“ und die zugehörige Geste wird abgespielt."> Ersetzen mit: </text> - <line_editor name="replace_editor" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht's“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht's sagen“ und die zugehörige Geste wird abgespielt."/> + <line_editor name="replace_editor" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht's“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht's sagen“ und die zugehörige Geste wird abgespielt." left_delta="94" width="160"/> <text name="key_label"> Tastenkürzel: </text> @@ -45,8 +45,8 @@ <text name="library_label"> Bibliothek: </text> - <scroll_list name="library_list"/> - <button label="Hinzufügen >>" name="add_btn"/> + <scroll_list name="library_list" width="166"/> + <button label="Hinzufügen >>" name="add_btn" left_pad="6" width="94"/> <text name="steps_label"> Schritte: </text> diff --git a/indra/newview/skins/default/xui/de/floater_report_abuse.xml b/indra/newview/skins/default/xui/de/floater_report_abuse.xml index 3edf5959a2..f471866967 100644 --- a/indra/newview/skins/default/xui/de/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/de/floater_report_abuse.xml @@ -23,7 +23,8 @@ {128.1, 128.1, 15.4} </text> <text bottom_delta="-38" height="32" name="select_object_label"> - Klicken Sie auf die Schaltfläche, dann auf das entsprechende Objekt: + Klicken Sie auf die Schaltfläche, dann auf das entsprechende +Objekt: </text> <button label="" label_selected="" name="pick_btn" tool_tip="Objektauswahl – Wählen Sie ein Objekt als Thema dieses Berichts aus"/> <text name="object_name_label"> @@ -95,7 +96,7 @@ <text name="bug_aviso"> Bitte beschreiben Sie alles so genau wie möglich. </text> - <text_editor bottom_delta="-136" height="130" name="details_edit"/> + <text_editor bottom_delta="-136" height="70" name="details_edit"/> <text bottom_delta="-20" name="incomplete_title"> * Unvollständige Berichte werden nicht bearbeitet </text> diff --git a/indra/newview/skins/default/xui/de/floater_script_preview.xml b/indra/newview/skins/default/xui/de/floater_script_preview.xml index 27c40aff07..1ea3803aea 100644 --- a/indra/newview/skins/default/xui/de/floater_script_preview.xml +++ b/indra/newview/skins/default/xui/de/floater_script_preview.xml @@ -3,7 +3,7 @@ <floater.string name="Title"> Skript: [NAME] </floater.string> - <text name="desc txt"> + <text name="desc txt" width="120"> Beschreibung: </text> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_sell_land.xml b/indra/newview/skins/default/xui/de/floater_sell_land.xml index 2bc7356e65..a2c86e7bb0 100644 --- a/indra/newview/skins/default/xui/de/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/de/floater_sell_land.xml @@ -5,13 +5,13 @@ <text name="info_parcel_label"> Parzelle: </text> - <text bottom_delta="-5" height="16" name="info_parcel"> + <text bottom_delta="-5" height="16" name="info_parcel" left="70"> PARZELLENNAME </text> <text name="info_size_label"> Größe: </text> - <text bottom_delta="-21" height="32" name="info_size"> + <text bottom_delta="-21" height="32" name="info_size" left="70"> [AREA] m². </text> <text bottom_delta="-57" height="28" name="info_action"> @@ -20,7 +20,7 @@ <text name="price_label"> 1. Preis festlegen: </text> - <text name="price_text"> + <text name="price_text" > Einen angemessenen Preis auswählen. </text> <text name="price_ld"> diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml index 80573d69ad..b48c9a77c8 100644 --- a/indra/newview/skins/default/xui/de/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml @@ -60,7 +60,7 @@ <spinner label="Höhe" name="snapshot_height"/> <check_box label="Seitenverhältnis beibehalten" name="keep_aspect_check"/> <slider label="Bildqualität" name="image_quality_slider"/> - <text name="layer_type_label" width="63"> + <text name="layer_type_label" width="66"> Aufnehmen: </text> <combo_box label="Bildlayer" left="73" name="layer_types" width="132"> diff --git a/indra/newview/skins/default/xui/de/floater_stats.xml b/indra/newview/skins/default/xui/de/floater_stats.xml index dcea484e13..1eb2dd4288 100644 --- a/indra/newview/skins/default/xui/de/floater_stats.xml +++ b/indra/newview/skins/default/xui/de/floater_stats.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Statistics" title="STATISTIKEN"> - <scroll_container name="statistics_scroll"> - <container_view name="statistics_view"> +<floater name="Statistics" title="STATISTIKEN" width="280"> + <scroll_container name="statistics_scroll" width="280"> + <container_view name="statistics_view" width="280"> <stat_view label="Basic" name="basic"> <stat_bar label="FPS" name="fps"/> <stat_bar label="Bandbreite" name="bandwidth"/> diff --git a/indra/newview/skins/default/xui/de/floater_telehub.xml b/indra/newview/skins/default/xui/de/floater_telehub.xml index 923b4c0079..4d3c96bc87 100644 --- a/indra/newview/skins/default/xui/de/floater_telehub.xml +++ b/indra/newview/skins/default/xui/de/floater_telehub.xml @@ -6,15 +6,15 @@ <text name="status_text_not_connected"> Kein Telehub verbunden. </text> - <text name="help_text_connected"> + <text name="help_text_connected" width="300"> Klicken Sie zum Entfernen auf „Trennen“. </text> <text bottom_delta="-18" height="38" name="help_text_not_connected"> Wählen Sie ein Objekt und klicken Sie auf „Mit Telehub verbinden“. </text> - <button label="Mit Telehub verbinden" name="connect_btn" width="122"/> - <button label="Trennen" left="142" name="disconnect_btn" width="98"/> + <button label="Mit Telehub verbinden" name="connect_btn" width="134"/> + <button label="Trennen" left="152" name="disconnect_btn" width="88"/> <text name="spawn_points_text" width="230"> Spawn-Punkte (Positionen, nicht Objekte): </text> diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml index b2f8cbed45..b5c02cce0b 100644 --- a/indra/newview/skins/default/xui/de/floater_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_tools.xml @@ -363,7 +363,7 @@ <text name="edit_object"> Objekteigenschaften bearbeiten: </text> - <check_box label="Flexibler Weg" name="Flexible1D Checkbox Ctrl" tool_tip="Bewirkt, dass sich das Objekt um die Z-Achse biegen kann. (Nur Client-Seite)"/> + <check_box label="Flexibler Pfad" name="Flexible1D Checkbox Ctrl" tool_tip="Bewirkt, dass sich das Objekt um die Z-Achse biegen kann. (Nur Client-Seite)"/> <spinner label="Weichheit" name="FlexNumSections"/> <spinner label="Schwerkraft" name="FlexGravity"/> <spinner label="Ziehen" name="FlexFriction"/> diff --git a/indra/newview/skins/default/xui/de/floater_url_entry.xml b/indra/newview/skins/default/xui/de/floater_url_entry.xml index 392d53a33d..f5fa449c85 100644 --- a/indra/newview/skins/default/xui/de/floater_url_entry.xml +++ b/indra/newview/skins/default/xui/de/floater_url_entry.xml @@ -3,10 +3,10 @@ <text name="media_label"> Medien-URL: </text> - <button label="OK" name="ok_btn" /> - <button label="Abbrechen" name="cancel_btn" width="75" /> - <button label="Löschen" name="clear_btn" /> - <text name="loading_label"> + <button label="OK" name="ok_btn" width="30"/> + <button label="Abbrechen" name="cancel_btn" width="66" /> + <button label="Löschen" name="clear_btn" left_pad="100"/> + <text name="loading_label" left="120"> Wird geladen... </text> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_water.xml b/indra/newview/skins/default/xui/de/floater_water.xml index ed18dfdfff..ecd6d7ff3e 100644 --- a/indra/newview/skins/default/xui/de/floater_water.xml +++ b/indra/newview/skins/default/xui/de/floater_water.xml @@ -3,7 +3,7 @@ <floater.string name="WLDefaultWaterNames"> Default:Glassy:Pond:Murky:Second Plague:SNAKE!!!:Valdez </floater.string> - <text name="KeyFramePresetsText"> + <text name="KeyFramePresetsText" width="116"> Voreinstellungen: </text> <button label="Neu" label_selected="Neu" name="WaterNewPreset"/> diff --git a/indra/newview/skins/default/xui/de/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/de/floater_whitelist_entry.xml index 35a5ec35f7..1332509529 100644 --- a/indra/newview/skins/default/xui/de/floater_whitelist_entry.xml +++ b/indra/newview/skins/default/xui/de/floater_whitelist_entry.xml @@ -5,5 +5,5 @@ </text> <line_editor name="whitelist_entry" tool_tip="Eine URL oder URL-Patten in die Whitelist eingeben"/> <button label="OK" name="ok_btn"/> - <button label="Abbrechen" name="cancel_btn"/> + <button label="Abbrechen" name="cancel_btn" width="80"/> </floater> diff --git a/indra/newview/skins/default/xui/de/inspect_avatar.xml b/indra/newview/skins/default/xui/de/inspect_avatar.xml index 489e257867..eedbdc9904 100644 --- a/indra/newview/skins/default/xui/de/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/de/inspect_avatar.xml @@ -16,9 +16,9 @@ Dies ist meine Beschreibung und ich finde sie wirklich gut! </text> <slider name="volume_slider" tool_tip="Lautstärke" value="0.5"/> - <button label="Freund hinzufügen" name="add_friend_btn"/> + <button label="Freund hinzufügen" name="add_friend_btn" width="110"/> <button label="IM" name="im_btn"/> - <button label="Mehr" name="view_profile_btn"/> + <button label="Mehr" name="view_profile_btn" width="44" left_delta="120"/> <panel name="moderator_panel"> <button label="Voice deaktivieren" name="disable_voice"/> <button label="Voice aktivieren" name="enable_voice"/> diff --git a/indra/newview/skins/default/xui/de/inspect_group.xml b/indra/newview/skins/default/xui/de/inspect_group.xml index 81d946be9d..badb47bf08 100644 --- a/indra/newview/skins/default/xui/de/inspect_group.xml +++ b/indra/newview/skins/default/xui/de/inspect_group.xml @@ -24,7 +24,7 @@ </text> <text name="group_details"> Eine Gruppe für Leute, die sich gerne mit Elchen unterhält. -Hoch solln sie leben! Elche forever! Und auch Mungos! +Hoch solln sie leben! Elche forever! Und auch Mungos! </text> <text name="group_cost"> Mitgliedschaft: 123 L$ diff --git a/indra/newview/skins/default/xui/de/inspect_object.xml b/indra/newview/skins/default/xui/de/inspect_object.xml index 61f2cc8dc9..bcf4b91527 100644 --- a/indra/newview/skins/default/xui/de/inspect_object.xml +++ b/indra/newview/skins/default/xui/de/inspect_object.xml @@ -39,7 +39,7 @@ Besitzer secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about </text> <button label="Kaufen" name="buy_btn"/> <button label="Zahlen" name="pay_btn"/> - <button label="Kopie nehmen" name="take_free_copy_btn"/> + <button label="Kopie nehmen" name="take_free_copy_btn" width="100"/> <button label="Berühren" name="touch_btn"/> <button label="Sitzen" name="sit_btn"/> <button label="Öffnen" name="open_btn"/> diff --git a/indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml index eb4832770e..eeb5de749d 100644 --- a/indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml +++ b/indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="block_list_panel"> - <text name="title_text"> +<panel name="block_list_panel" width="300"> + <text name="title_text" left_pad="5" width="260"> Liste der ignorierten Einwohner </text> - <scroll_list name="blocked" tool_tip="Liste der zur Zeit ignorierten Einwohner"/> + <scroll_list name="blocked" tool_tip="Liste der zur Zeit ignorierten Einwohner" width="290"/> <button label="Einwohner ignorieren" label_selected="Einwohner ignorieren..." name="Block resident..." tool_tip="Wählen Sie einen Einwohner, um ihn zu ignorieren"/> <button label="Objekt nach Name ignorieren" label_selected="Objekt nach Name ignorieren..." name="Block object by name..." tool_tip="Ein Objekt auswählen, um nach Namen zu ignorieren."/> <button label="Freischalten" label_selected="Freischalten" name="Unblock" tool_tip="Einwohner oder Objekt von der Liste der ignorierten Einwohner oder Objekte entfernen"/> diff --git a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml index 4b48950341..b6c53be778 100644 --- a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml +++ b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="edit_alpha_panel"> - <panel name="avatar_alpha_color_panel"> - <texture_picker label="Alpha: Unten" name="Lower Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/> - <texture_picker label="Alpha: Oben" name="Upper Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/> +<panel name="edit_alpha_panel" width="320"> + <panel name="avatar_alpha_color_panel" width="300"> + <texture_picker label="Alpha: Unten" name="Lower Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="70"/> + <texture_picker label="Alpha: Oben" name="Upper Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="66"/> <texture_picker label="Kopf: Alpha" name="Head Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/> - <texture_picker label="Alpha: Augen" name="Eye Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/> - <texture_picker label="Alpha: Haare" name="Hair Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/> + <texture_picker label="Alpha: Augen" name="Eye Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="72"/> + <texture_picker label="Alpha: Haare" name="Hair Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken" width="70"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml index c05a3a6645..12649e9251 100644 --- a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml +++ b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="edit_tattoo_panel"> <panel name="avatar_tattoo_color_panel"> - <texture_picker label="Kopftattoo" name="Head Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/> - <texture_picker label="Obere Tattoos" name="Upper Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/> - <texture_picker label="Untere Tattoos" name="Lower Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/> + <texture_picker label="Kopftattoo" name="Head Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken" width="80"/> + <texture_picker label="Obere Tattoos" name="Upper Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken" width="80"/> + <texture_picker label="Untere Tattoos" name="Lower Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken" width="80"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_group_invite.xml b/indra/newview/skins/default/xui/de/panel_group_invite.xml index 8e1fb5e4b2..fb357093bb 100644 --- a/indra/newview/skins/default/xui/de/panel_group_invite.xml +++ b/indra/newview/skins/default/xui/de/panel_group_invite.xml @@ -9,18 +9,18 @@ <panel.string name="already_in_group"> Einige der ausgewählten Einwohner sind bereits Gruppenmitglieder und haben aus diesem Grund keine Einladung erhalten. </panel.string> - <text name="help_text"> + <text name="help_text" top="10"> Sie können mehrere Einwohner auswählen, um diese in Ihre Gruppe einzuladen. Klicken Sie hierzu auf „Einwohnerliste öffnen“. </text> - <button label="Einwohnerliste öffnen" name="add_button" tool_tip=""/> + <button label="Einwohnerliste öffnen" name="add_button" tool_tip="" top_delta="62"/> <name_list name="invitee_list" tool_tip="Halten Sie zur Mehrfachauswahl die Strg-Taste gedrückt und klicken Sie auf die Namen."/> <button label="Auswahl aus Liste löschen" name="remove_button" tool_tip="Die oben ausgewählten Einwohner von der Einladungsliste entfernen."/> <text name="role_text"> Wählen Sie eine Rolle aus: </text> <combo_box name="role_name" tool_tip="Wählen Sie aus der Liste der Rollen, die Sie an Mitglieder vergeben dürfen."/> - <button label="Einladungen versenden" name="ok_button"/> - <button label="Abbrechen" name="cancel_button"/> + <button label="Einladungen versenden" name="ok_button" width="136"/> + <button label="Abbrechen" name="cancel_button" width="66"/> <string name="GroupInvitation"> Gruppeneinladung </string> diff --git a/indra/newview/skins/default/xui/de/panel_group_land_money.xml b/indra/newview/skins/default/xui/de/panel_group_land_money.xml index e9743c5d5d..d6cfb22cfe 100644 --- a/indra/newview/skins/default/xui/de/panel_group_land_money.xml +++ b/indra/newview/skins/default/xui/de/panel_group_land_money.xml @@ -30,13 +30,13 @@ <text name="total_contributed_land_value"> [AREA] m². </text> - <text name="total_land_in_use_label"> + <text name="total_land_in_use_label" left="28" width="180"> Insgesamt verwendetes Land: </text> <text name="total_land_in_use_value"> [AREA] m². </text> - <text name="land_available_label"> + <text name="land_available_label" left="4"> Land verfügbar: </text> <text name="land_available_value"> @@ -54,10 +54,10 @@ <text name="your_contribution_max_value"> ([AMOUNT] max.) </text> - <text name="group_over_limit_text"> + <text name="group_over_limit_text" width="300"> Um das benutzte Land zu unterstützen, sind weitere Landnutzungsrechte erforderlich. </text> - <text name="group_money_heading"> + <text name="group_money_heading" left="10" top_pad="10"> Gruppen-L$ </text> <tab_container name="group_money_tab_container"> diff --git a/indra/newview/skins/default/xui/de/panel_group_roles.xml b/indra/newview/skins/default/xui/de/panel_group_roles.xml index 3103fd65b1..b2e885e639 100644 --- a/indra/newview/skins/default/xui/de/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/de/panel_group_roles.xml @@ -15,8 +15,8 @@ um mehrere Mitglieder auszuwählen. </panel.string> <filter_editor label="Mitglieder filtern" name="filter_input"/> <name_list name="member_list"> - <name_list.columns label="Mitglied" name="name"/> - <name_list.columns label="Übereignung" name="donated"/> + <name_list.columns label="Mitglied" name="name" relative_width="0.30"/> + <name_list.columns label="Übereignung" name="donated" relative_width="0.33"/> <name_list.columns label="Status" name="online"/> </name_list> <button label="Einladen" name="member_invite"/> diff --git a/indra/newview/skins/default/xui/de/panel_groups.xml b/indra/newview/skins/default/xui/de/panel_groups.xml index 95a2ef14f9..f857a6c7ac 100644 --- a/indra/newview/skins/default/xui/de/panel_groups.xml +++ b/indra/newview/skins/default/xui/de/panel_groups.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel name="groups"> - <text name="groupdesc"> + <text name="groupdesc" width="300"> Die derzeit aktive Gruppe ist fett hervorgehoben. </text> - <text name="groupcount"> + <text name="groupcount" width="360"> Sie sind Mitglied bei [COUNT] Gruppen (von max. [MAX]). </text> <button label="IM/Anruf" name="IM" tool_tip="Beginnt eine Instant Message-Sitzung" /> diff --git a/indra/newview/skins/default/xui/de/panel_login.xml b/indra/newview/skins/default/xui/de/panel_login.xml index bd82fc6872..2a6ea42c73 100644 --- a/indra/newview/skins/default/xui/de/panel_login.xml +++ b/indra/newview/skins/default/xui/de/panel_login.xml @@ -23,7 +23,7 @@ <text name="start_location_text"> Hier anfangen: </text> - <combo_box name="start_location_combo"> + <combo_box name="start_location_combo" width="150"> <combo_box.item label="Mein letzter Standort" name="MyLastLocation"/> <combo_box.item label="Mein Zuhause" name="MyHome"/> <combo_box.item label="<Region eingeben>" name="Typeregionname"/> diff --git a/indra/newview/skins/default/xui/de/panel_media_settings_security.xml b/indra/newview/skins/default/xui/de/panel_media_settings_security.xml index 8ff013f66b..adc0d22ce6 100644 --- a/indra/newview/skins/default/xui/de/panel_media_settings_security.xml +++ b/indra/newview/skins/default/xui/de/panel_media_settings_security.xml @@ -2,7 +2,8 @@ <panel label="Sicherheit" name="Media Settings Security"> <check_box initial_value="false" label="Nur Zugriff auf festgelegte URL-Muster zulassen" name="whitelist_enable"/> <text name="home_url_fails_some_items_in_whitelist"> - Einträge, die für die Startseite nicht akzeptiert werden, sind markiert: + Einträge, die für die Startseite nicht akzeptiert +werden, sind markiert: </text> <button label="Hinzufügen" name="whitelist_add"/> <button label="Löschen" name="whitelist_del"/> diff --git a/indra/newview/skins/default/xui/de/panel_nearby_chat.xml b/indra/newview/skins/default/xui/de/panel_nearby_chat.xml index 699bddc6eb..3f4f5a71b5 100644 --- a/indra/newview/skins/default/xui/de/panel_nearby_chat.xml +++ b/indra/newview/skins/default/xui/de/panel_nearby_chat.xml @@ -2,7 +2,7 @@ <!-- All our XML is utf-8 encoded. --> <panel name="nearby_chat"> <panel name="chat_caption"> - <text name="sender_name"> + <text name="sender_name" width="200"> CHAT IN DER NÄHE </text> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_notes.xml b/indra/newview/skins/default/xui/de/panel_notes.xml index e6a63fc0c8..374c117cdd 100644 --- a/indra/newview/skins/default/xui/de/panel_notes.xml +++ b/indra/newview/skins/default/xui/de/panel_notes.xml @@ -13,10 +13,10 @@ </scroll_container> </layout_panel> <layout_panel name="notes_buttons_panel"> - <button label="Freund hinzufügen" name="add_friend" tool_tip="Bieten Sie dem Einwohner die Freundschaft an"/> - <button label="IM" name="im" tool_tip="Instant Messenger öffnen"/> + <button label="Freund hinzufügen" name="add_friend" tool_tip="Bieten Sie dem Einwohner die Freundschaft an" width="109"/> + <button label="IM" name="im" tool_tip="Instant Messenger öffnen" width="24"/> <button label="Anrufen" name="call" tool_tip="Diesen Einwohner anrufen"/> - <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen"/> + <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen" width="40"/> <button label="Teleportieren" name="teleport" tool_tip="Teleport anbieten"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/de/panel_picks.xml b/indra/newview/skins/default/xui/de/panel_picks.xml index a07bc170f6..df68381082 100644 --- a/indra/newview/skins/default/xui/de/panel_picks.xml +++ b/indra/newview/skins/default/xui/de/panel_picks.xml @@ -11,7 +11,7 @@ </panel> <panel name="buttons_cucks"> <button label="Info" name="info_btn" tool_tip="Auswahl-Information anzeigen"/> - <button label="Teleportieren" name="teleport_btn" tool_tip="Zu entsprechendem Standort teleportieren"/> + <button label="Teleportieren" name="teleport_btn" tool_tip="Zu entsprechendem Standort teleportieren" width="100"/> <button label="Karte" name="show_on_map_btn" tool_tip="Den entsprechenden Standort auf der Karte anzeigen"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_places.xml b/indra/newview/skins/default/xui/de/panel_places.xml index 8ee26f4e5f..0b3ed26dce 100644 --- a/indra/newview/skins/default/xui/de/panel_places.xml +++ b/indra/newview/skins/default/xui/de/panel_places.xml @@ -5,11 +5,11 @@ <filter_editor label="Orte filtern" name="Filter"/> <panel name="button_panel"> <button label="Teleportieren" name="teleport_btn" tool_tip="Zu ausgewähltem Standort teleportieren"/> - <button label="Karte" name="map_btn"/> + <button label="Karte" name="map_btn" width="60"/> <button label="Bearbeiten" name="edit_btn" tool_tip="Landmarken-Info bearbeiten"/> <button name="overflow_btn" tool_tip="Zusätzliche Optionen anzeigen"/> <button label="Schließen" name="close_btn"/> - <button label="Abbrechen" name="cancel_btn"/> - <button label="Speichern" name="save_btn"/> + <button label="Abbrechen" name="cancel_btn" width="66"/> + <button label="Speichern" name="save_btn" width="66"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml index 14d4e01586..c9d6faf3ba 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml @@ -8,7 +8,7 @@ </panel.string> <check_box label="Blasen-Chat" name="bubble_text_chat"/> <color_swatch name="background" tool_tip="Farbe für Blasen-Chat auswählen"/> - <slider label="Deckkraft" name="bubble_chat_opacity"/> + <slider label="Deckkraft" name="bubble_chat_opacity" label_width="66"/> <text name="AspectRatioLabel1" tool_tip="Breite/Höhe"> Seitenverhältnis </text> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_general.xml b/indra/newview/skins/default/xui/de/panel_preferences_general.xml index 490b0b296b..2af1b72472 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_general.xml @@ -19,7 +19,7 @@ <text name="language_textbox2"> (Erfordert Neustart) </text> - <text name="maturity_desired_prompt"> + <text name="maturity_desired_prompt" width="350"> Ich möchte auf Inhalt mit folgender Alterseinstufung zugreifen: </text> <text name="maturity_desired_textbox"/> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/de/panel_preferences_privacy.xml index 0c0924026e..43664f4f8a 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_privacy.xml @@ -23,5 +23,5 @@ Speicherort für Protokolle: </text> <button label="Durchsuchen" label_selected="Durchsuchen" name="log_path_button"/> - <button label="Ignorierte Einwohner/Objekte" name="block_list"/> + <button label="Ignorierte Einwohner/Objekte" name="block_list" width="180"/> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_profile.xml b/indra/newview/skins/default/xui/de/panel_profile.xml index 82467eb570..4ce5ed8fba 100644 --- a/indra/newview/skins/default/xui/de/panel_profile.xml +++ b/indra/newview/skins/default/xui/de/panel_profile.xml @@ -38,10 +38,10 @@ </scroll_container> </layout_panel> <layout_panel name="profile_buttons_panel"> - <button label="Freund hinzufügen" name="add_friend" tool_tip="Bieten Sie dem Einwohner die Freundschaft an"/> - <button label="IM" name="im" tool_tip="Instant Messenger öffnen"/> + <button label="Freund hinzufügen" name="add_friend" tool_tip="Bieten Sie dem Einwohner die Freundschaft an" width="109"/> + <button label="IM" name="im" tool_tip="Instant Messenger öffnen" width="24"/> <button label="Anrufen" name="call" tool_tip="Diesen Einwohner anrufen"/> - <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen"/> + <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen" width="36"/> <button label="Teleportieren" name="teleport" tool_tip="Teleport anbieten"/> </layout_panel> <layout_panel name="profile_me_buttons_panel"> diff --git a/indra/newview/skins/default/xui/de/panel_profile_view.xml b/indra/newview/skins/default/xui/de/panel_profile_view.xml index 4d59c16e98..f02457dd80 100644 --- a/indra/newview/skins/default/xui/de/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/de/panel_profile_view.xml @@ -8,7 +8,7 @@ </string> <text_editor name="user_name" value="(wird geladen...)"/> <text name="status" value="Online"/> - <tab_container name="tabs"> + <tab_container name="tabs" tab_min_width="60"> <panel label="PROFIL" name="panel_profile"/> <panel label="AUSWAHL" name="panel_picks"/> <panel label="NOTIZEN & PRIVATSPHÄRE" name="panel_notes"/> diff --git a/indra/newview/skins/default/xui/de/panel_region_covenant.xml b/indra/newview/skins/default/xui/de/panel_region_covenant.xml index 14be8def7e..153082909a 100644 --- a/indra/newview/skins/default/xui/de/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/de/panel_region_covenant.xml @@ -18,7 +18,7 @@ <text name="estate_cov_lbl"> Vertrag: </text> - <text name="covenant_timestamp_text"> + <text name="covenant_timestamp_text" width="320"> Letzte Änderung am Mittwoch, den 31. Dez. 1969, 16:00:00 </text> <button label="?" name="covenant_help"/> @@ -28,7 +28,7 @@ <button label="Zurücksetzen" name="reset_covenant"/> <text name="covenant_help_text"> Änderungen am Vertrag werden für alle Parzellen auf dem - Grundstück übernommen. +Grundstück übernommen. </text> <text bottom_delta="-36" name="covenant_instructions"> Ziehen Sie eine Notizkarte an diese Stelle, um den Vertrag für dieses Grundstück zu ändern. @@ -63,7 +63,7 @@ <text name="changeable_lbl"> Unterteilen: </text> - <text name="changeable_clause"> + <text name="changeable_clause" width="366"> Land in dieser Region kann nicht zusammengelegt/geteilt werden. </text> <string name="can_resell"> diff --git a/indra/newview/skins/default/xui/de/panel_region_debug.xml b/indra/newview/skins/default/xui/de/panel_region_debug.xml index 40befab4dd..920a513308 100644 --- a/indra/newview/skins/default/xui/de/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/de/panel_region_debug.xml @@ -13,7 +13,7 @@ <check_box label="Physik deaktivieren" name="disable_physics_check" tool_tip="Physik in dieser Region deaktivieren"/> <button label="?" name="disable_physics_help"/> <button label="Übernehmen" name="apply_btn"/> - <text name="objret_text_lbl" width="105"> + <text name="objret_text_lbl" width="110"> Objekt zurückgeben </text> <text name="resident_text_lbl"> diff --git a/indra/newview/skins/default/xui/de/panel_region_texture.xml b/indra/newview/skins/default/xui/de/panel_region_texture.xml index d489b5bac8..f9997f300a 100644 --- a/indra/newview/skins/default/xui/de/panel_region_texture.xml +++ b/indra/newview/skins/default/xui/de/panel_region_texture.xml @@ -36,14 +36,14 @@ <text name="height_text_lbl9"> Nordost </text> - <spinner label="Niedrig" name="height_start_spin_0"/> - <spinner label="Niedrig" name="height_start_spin_1"/> - <spinner label="Niedrig" name="height_start_spin_2"/> - <spinner label="Niedrig" name="height_start_spin_3"/> - <spinner label="Hoch" name="height_range_spin_0"/> - <spinner label="Hoch" name="height_range_spin_1"/> - <spinner label="Hoch" name="height_range_spin_2"/> - <spinner label="Hoch" name="height_range_spin_3"/> + <spinner label="Niedrig" name="height_start_spin_0" label_width="40"/> + <spinner label="Niedrig" name="height_start_spin_1" label_width="40"/> + <spinner label="Niedrig" name="height_start_spin_2" label_width="40"/> + <spinner label="Niedrig" name="height_start_spin_3" label_width="40"/> + <spinner label="Hoch" name="height_range_spin_0" label_width="40"/> + <spinner label="Hoch" name="height_range_spin_1" label_width="40"/> + <spinner label="Hoch" name="height_range_spin_2" label_width="40"/> + <spinner label="Hoch" name="height_range_spin_3" label_width="40"/> <text name="height_text_lbl10"> Diese Werte geben den Mischungsgrad für die obigen Texturen an. </text> diff --git a/indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml index f6a1d7e9b5..16bf4e8eb4 100644 --- a/indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml +++ b/indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml @@ -4,7 +4,7 @@ Wird geladen... </text> <scroll_list name="scripts_list"> - <scroll_list.columns label="Größe (KB)" name="size"/> + <scroll_list.columns label="Größe (KB)" name="size" width="80"/> <scroll_list.columns label="URLs" name="urls"/> <scroll_list.columns label="Objektname" name="name"/> <scroll_list.columns label="Ort" name="location"/> diff --git a/indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml index c466c04e86..3eec66fe75 100644 --- a/indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml +++ b/indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml @@ -13,12 +13,12 @@ Wird geladen... </text> <scroll_list name="scripts_list"> - <scroll_list.columns label="Größe (KB)" name="size"/> + <scroll_list.columns label="Größe (KB)" name="size" width="80"/> <scroll_list.columns label="Objektname" name="name"/> - <scroll_list.columns label="Objekteigentümer" name="owner"/> + <scroll_list.columns label="Objekteigentümer" name="owner" width="130"/> <scroll_list.columns label="Parzelle / Standort" name="location"/> </scroll_list> - <button label="Liste aktualisieren" name="refresh_list_btn"/> + <button label="Liste aktualisieren" name="refresh_list_btn" width="110"/> <button label="Markieren" name="highlight_btn"/> <button label="Zurückgeben" name="return_btn"/> </panel> diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml index 978b40da77..964713adbf 100644 --- a/indra/newview/skins/default/xui/en/floater_im_container.xml +++ b/indra/newview/skins/default/xui/en/floater_im_container.xml @@ -24,6 +24,8 @@ tab_height="16" use_custom_icon_ctrl="true" tab_icon_ctrl_pad="2" + font_halign="left" + use_ellipses="true" top="0" width="390" /> <icon diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index aad55685d2..0755813389 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -247,7 +247,7 @@ <layout_panel mouse_opaque="false" follows="left|right" - height="29" + height="30" layout="topleft" top="0" name="chiclet_list_panel" @@ -260,12 +260,12 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. <chiclet_panel mouse_opaque="false" follows="left|right" - height="23" + height="24" layout="topleft" left="1" min_width="110" name="chiclet_list" - top="8" + top="7" chiclet_padding="4" scrolling_offset="40" width="189"> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 8bff865eb1..ae5e6fbbfa 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -38,7 +38,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> @@ -82,7 +82,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> @@ -116,7 +116,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> @@ -150,7 +150,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> @@ -184,7 +184,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> @@ -218,7 +218,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> @@ -267,7 +267,7 @@ image_unselected="Audio_Off" is_toggle="true" layout="topleft" - left_pad="10" + left_pad="16" name="mute_audio" tab_stop="false" width="16" /> diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp index d183aac208..0ff53f3e00 100644 --- a/indra/test_apps/llplugintest/llmediaplugintest.cpp +++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp @@ -1169,8 +1169,8 @@ void LLMediaPluginTest::keyboard( int key ) exit( 0 ); }; - mSelectedPanel->mMediaSource->keyEvent( LLPluginClassMedia::KEY_EVENT_DOWN, key, 0 ); - mSelectedPanel->mMediaSource->keyEvent( LLPluginClassMedia::KEY_EVENT_UP, key, 0 ); + mSelectedPanel->mMediaSource->keyEvent( LLPluginClassMedia::KEY_EVENT_DOWN, key, 0 , LLSD()); + mSelectedPanel->mMediaSource->keyEvent( LLPluginClassMedia::KEY_EVENT_UP, key, 0, LLSD()); }; //////////////////////////////////////////////////////////////////////////////// diff --git a/install.xml b/install.xml index a35bd4b790..1e8fa70d46 100644 --- a/install.xml +++ b/install.xml @@ -948,23 +948,23 @@ anguage Infrstructure (CLI) international standard</string> <key>darwin</key> <map> <key>md5sum</key> - <string>d97d843704514ae1b5f153fab2931920</string> + <string>95f44f0023dddc80be4398fc4f213861</string> <key>url</key> - <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-4.6-darwin-20100120.tar.bz2</uri> + <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-4.6-darwin-20100208.tar.bz2</uri> </map> <key>linux</key> <map> <key>md5sum</key> - <string>c4c40fca14a8bd32096f8a27c75c526f</string> + <string>4c75b2f1e8524c7844ee3ea1cd59a3db</string> <key>url</key> - <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-20100105c.tar.bz2</uri> + <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-20100209b.tar.bz2</uri> </map> <key>windows</key> <map> <key>md5sum</key> - <string>18c1a4059bad1504a457e70c8c218033</string> + <string>df0f751818dddb566d55499286c727a8</string> <key>url</key> - <uri>http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-windows-qt4.6-20100120.tar.bz2</uri> + <uri>http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-windows-qt4.6-20100208.tar.bz2</uri> </map> </map> </map> |