aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/newview/app_settings/settings.xml11
-rw-r--r--linden/indra/newview/llagent.cpp107
-rw-r--r--linden/indra/newview/llfloaterchatterbox.cpp11
-rw-r--r--linden/indra/newview/llfloatermap.cpp1
-rw-r--r--linden/indra/newview/llprefsim.cpp2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml14
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml28
7 files changed, 115 insertions, 59 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index f148b80..55e6131 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -10107,6 +10107,17 @@
10107 <key>Value</key> 10107 <key>Value</key>
10108 <integer>0</integer> 10108 <integer>0</integer>
10109 </map> 10109 </map>
10110 <key>VerticalIMTabs</key>
10111 <map>
10112 <key>Comment</key>
10113 <string>Enable vertical layout for IM tabs</string>
10114 <key>Persist</key>
10115 <integer>1</integer>
10116 <key>Type</key>
10117 <string>Boolean</string>
10118 <key>Value</key>
10119 <integer>0</integer>
10120 </map>
10110 <key>VivoxDebugLevel</key> 10121 <key>VivoxDebugLevel</key>
10111 <map> 10122 <map>
10112 <key>Comment</key> 10123 <key>Comment</key>
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp
index e6438f4..022e1cc 100644
--- a/linden/indra/newview/llagent.cpp
+++ b/linden/indra/newview/llagent.cpp
@@ -187,6 +187,8 @@ const F32 OBJECT_MIN_ZOOM = 0.02f;
187const F32 APPEARANCE_MIN_ZOOM = 0.39f; 187const F32 APPEARANCE_MIN_ZOOM = 0.39f;
188const F32 APPEARANCE_MAX_ZOOM = 8.f; 188const F32 APPEARANCE_MAX_ZOOM = 8.f;
189 189
190const F32 DIST_FUDGE = 16.f; // meters
191
190// fidget constants 192// fidget constants
191const F32 MIN_FIDGET_TIME = 8.f; // seconds 193const F32 MIN_FIDGET_TIME = 8.f; // seconds
192const F32 MAX_FIDGET_TIME = 20.f; // seconds 194const F32 MAX_FIDGET_TIME = 20.f; // seconds
@@ -1716,6 +1718,10 @@ F32 LLAgent::getCameraZoomFraction()
1716 // already [0,1] 1718 // already [0,1]
1717 return mHUDTargetZoom; 1719 return mHUDTargetZoom;
1718 } 1720 }
1721 else if (gSavedSettings.getBOOL("DisableCameraConstraints"))
1722 {
1723 return mCameraZoomFraction;
1724 }
1719 else if (mFocusOnAvatar && cameraThirdPerson()) 1725 else if (mFocusOnAvatar && cameraThirdPerson())
1720 { 1726 {
1721 return clamp_rescale(mCameraZoomFraction, MIN_ZOOM_FRACTION, MAX_ZOOM_FRACTION, 1.f, 0.f); 1727 return clamp_rescale(mCameraZoomFraction, MIN_ZOOM_FRACTION, MAX_ZOOM_FRACTION, 1.f, 0.f);
@@ -1728,7 +1734,6 @@ F32 LLAgent::getCameraZoomFraction()
1728 else 1734 else
1729 { 1735 {
1730 F32 min_zoom; 1736 F32 min_zoom;
1731 const F32 DIST_FUDGE = 16.f; // meters
1732 F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE, 1737 F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE,
1733 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE, 1738 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE,
1734 MAX_CAMERA_DISTANCE_FROM_AGENT); 1739 MAX_CAMERA_DISTANCE_FROM_AGENT);
@@ -1777,10 +1782,9 @@ void LLAgent::setCameraZoomFraction(F32 fraction)
1777 else 1782 else
1778 { 1783 {
1779 F32 min_zoom = LAND_MIN_ZOOM; 1784 F32 min_zoom = LAND_MIN_ZOOM;
1780 const F32 DIST_FUDGE = 16.f; // meters
1781 F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE, 1785 F32 max_zoom = llmin(mDrawDistance - DIST_FUDGE,
1782 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE, 1786 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE,
1783 MAX_CAMERA_DISTANCE_FROM_AGENT); 1787 MAX_CAMERA_DISTANCE_FROM_AGENT);
1784 1788
1785 if (mFocusObject.notNull()) 1789 if (mFocusObject.notNull())
1786 { 1790 {
@@ -1799,7 +1803,14 @@ void LLAgent::setCameraZoomFraction(F32 fraction)
1799 1803
1800 LLVector3d camera_offset_dir = mCameraFocusOffsetTarget; 1804 LLVector3d camera_offset_dir = mCameraFocusOffsetTarget;
1801 camera_offset_dir.normalize(); 1805 camera_offset_dir.normalize();
1802 mCameraFocusOffsetTarget = camera_offset_dir * rescale(fraction, 0.f, 1.f, max_zoom, min_zoom); 1806 if (gSavedSettings.getBOOL("DisableCameraConstraints"))
1807 {
1808 mCameraFocusOffsetTarget = camera_offset_dir * rescale(fraction, 0.f, 262140.f, 1.f, min_zoom);
1809 }
1810 else
1811 {
1812 mCameraFocusOffsetTarget = camera_offset_dir * rescale(fraction, 0.f, 1.f, max_zoom, min_zoom);
1813 }
1803 } 1814 }
1804 startCameraAnimation(); 1815 startCameraAnimation();
1805} 1816}
@@ -1898,29 +1909,32 @@ void LLAgent::cameraZoomIn(const F32 fraction)
1898 } 1909 }
1899 } 1910 }
1900 1911
1901 new_distance = llmax(new_distance, min_zoom);
1902
1903 // Don't zoom too far back 1912 // Don't zoom too far back
1904 const F32 DIST_FUDGE = 16.f; // meters 1913 // Actually, let's when disable camera constraints is active -- McCabe
1905 F32 max_distance = llmin(mDrawDistance - DIST_FUDGE, 1914 if (!gSavedSettings.getBOOL("DisableCameraConstraints"))
1906 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE );
1907
1908 if (new_distance > max_distance)
1909 { 1915 {
1910 new_distance = max_distance; 1916 new_distance = llmax(new_distance, min_zoom);
1911 1917
1912 /* 1918 F32 max_distance = llmin(mDrawDistance - DIST_FUDGE,
1913 // Unless camera is unlocked 1919 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE );
1914 if (!LLViewerCamera::sDisableCameraConstraints) 1920
1921 if (new_distance > max_distance)
1915 { 1922 {
1916 return; 1923 new_distance = max_distance;
1924
1925 /*
1926 // Unless camera is unlocked
1927 if (!LLViewerCamera::sDisableCameraConstraints)
1928 {
1929 return;
1930 }
1931 */
1917 } 1932 }
1918 */
1919 }
1920 1933
1921 if( cameraCustomizeAvatar() ) 1934 if( cameraCustomizeAvatar() )
1922 { 1935 {
1923 new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM ); 1936 new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM );
1937 }
1924 } 1938 }
1925 1939
1926 mCameraFocusOffsetTarget = new_distance * camera_offset_unit; 1940 mCameraFocusOffsetTarget = new_distance * camera_offset_unit;
@@ -1951,40 +1965,41 @@ void LLAgent::cameraOrbitIn(const F32 meters)
1951 LLVector3d camera_offset_unit(mCameraFocusOffsetTarget); 1965 LLVector3d camera_offset_unit(mCameraFocusOffsetTarget);
1952 F32 current_distance = (F32)camera_offset_unit.normalize(); 1966 F32 current_distance = (F32)camera_offset_unit.normalize();
1953 F32 new_distance = current_distance - meters; 1967 F32 new_distance = current_distance - meters;
1954 F32 min_zoom = LAND_MIN_ZOOM; 1968
1955 1969 // Don't zoom too far back
1956 // Don't move through focus point 1970 // Actually, let's when disable camera constraints is active -- McCabe
1957 if (mFocusObject.notNull()) 1971 if (!gSavedSettings.getBOOL("DisableCameraConstraints"))
1958 { 1972 {
1959 if (mFocusObject->isAvatar()) 1973 F32 min_zoom = LAND_MIN_ZOOM;
1960 { 1974 F32 max_distance;
1961 min_zoom = AVATAR_MIN_ZOOM; 1975
1962 } 1976 // Don't move through focus point
1963 else 1977 if (mFocusObject.notNull())
1964 { 1978 {
1965 min_zoom = OBJECT_MIN_ZOOM; 1979 if (mFocusObject->isAvatar())
1980 {
1981 min_zoom = AVATAR_MIN_ZOOM;
1982 }
1983 else
1984 {
1985 min_zoom = OBJECT_MIN_ZOOM;
1986 }
1966 } 1987 }
1967 }
1968 1988
1969 new_distance = llmax(new_distance, min_zoom); 1989 new_distance = llmax(new_distance, min_zoom);
1970 1990
1971 // Don't zoom too far back 1991 max_distance = llmin(mDrawDistance - DIST_FUDGE,
1972 const F32 DIST_FUDGE = 16.f; // meters 1992 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE );
1973 F32 max_distance = llmin(mDrawDistance - DIST_FUDGE,
1974 LLWorld::getInstance()->getRegionWidthInMeters() - DIST_FUDGE );
1975 1993
1976 if (new_distance > max_distance) 1994 if (new_distance > max_distance)
1977 {
1978 // Unless camera is unlocked
1979 if (!gSavedSettings.getBOOL("DisableCameraConstraints"))
1980 { 1995 {
1981 return; 1996 return;
1982 } 1997 }
1983 }
1984 1998
1985 if( CAMERA_MODE_CUSTOMIZE_AVATAR == getCameraMode() ) 1999 if( CAMERA_MODE_CUSTOMIZE_AVATAR == getCameraMode() )
1986 { 2000 {
1987 new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM ); 2001 new_distance = llclamp( new_distance, APPEARANCE_MIN_ZOOM, APPEARANCE_MAX_ZOOM );
2002 }
1988 } 2003 }
1989 2004
1990 // Compute new camera offset 2005 // Compute new camera offset
diff --git a/linden/indra/newview/llfloaterchatterbox.cpp b/linden/indra/newview/llfloaterchatterbox.cpp
index 5ef5a30..e18cca0 100644
--- a/linden/indra/newview/llfloaterchatterbox.cpp
+++ b/linden/indra/newview/llfloaterchatterbox.cpp
@@ -97,7 +97,16 @@ LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
97{ 97{
98 mAutoResize = FALSE; 98 mAutoResize = FALSE;
99 99
100 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE); 100 // check if vertical tabs is selected
101 if (gSavedSettings.getBOOL("VerticalIMTabs"))
102 {
103 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox_vertical.xml", NULL, FALSE);
104 }
105 else
106 {
107 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE);
108 }
109
101 if (gSavedSettings.getBOOL("ContactsTornOff")) 110 if (gSavedSettings.getBOOL("ContactsTornOff"))
102 { 111 {
103 LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0); 112 LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0);
diff --git a/linden/indra/newview/llfloatermap.cpp b/linden/indra/newview/llfloatermap.cpp
index 0ee0f2b..49563a6 100644
--- a/linden/indra/newview/llfloatermap.cpp
+++ b/linden/indra/newview/llfloatermap.cpp
@@ -96,6 +96,7 @@ BOOL LLFloaterMap::postBuild()
96{ 96{
97 // Send the drag handle to the back, but make sure close stays on top 97 // Send the drag handle to the back, but make sure close stays on top
98 sendChildToBack(getDragHandle()); 98 sendChildToBack(getDragHandle());
99 sendChildToFront(getChild<LLButton>("llfloater_minimize_btn"));
99 sendChildToFront(getChild<LLButton>("llfloater_close_btn")); 100 sendChildToFront(getChild<LLButton>("llfloater_close_btn"));
100 setIsChrome(TRUE); 101 setIsChrome(TRUE);
101 102
diff --git a/linden/indra/newview/llprefsim.cpp b/linden/indra/newview/llprefsim.cpp
index 3d71202..b6fbc88 100644
--- a/linden/indra/newview/llprefsim.cpp
+++ b/linden/indra/newview/llprefsim.cpp
@@ -121,6 +121,7 @@ BOOL LLPrefsIMImpl::postBuild()
121 childSetValue("include_im_in_chat_history", gSavedSettings.getBOOL("IMInChatHistory")); 121 childSetValue("include_im_in_chat_history", gSavedSettings.getBOOL("IMInChatHistory"));
122 childSetValue("show_timestamps_check", gSavedSettings.getBOOL("IMShowTimestamps")); 122 childSetValue("show_timestamps_check", gSavedSettings.getBOOL("IMShowTimestamps"));
123 childSetValue("friends_online_notify_checkbox", gSavedSettings.getBOOL("ChatOnlineNotification")); 123 childSetValue("friends_online_notify_checkbox", gSavedSettings.getBOOL("ChatOnlineNotification"));
124 childSetValue("vertical-imtabs-toggle", gSavedSettings.getBOOL("VerticalIMTabs"));
124 125
125 childSetText("log_path_string", gSavedPerAccountSettings.getString("InstantMessageLogPath")); 126 childSetText("log_path_string", gSavedPerAccountSettings.getString("InstantMessageLogPath"));
126 childSetValue("log_instant_messages", gSavedPerAccountSettings.getBOOL("LogInstantMessages")); 127 childSetValue("log_instant_messages", gSavedPerAccountSettings.getBOOL("LogInstantMessages"));
@@ -216,6 +217,7 @@ void LLPrefsIMImpl::apply()
216 gAgent.sendReliableMessage(); 217 gAgent.sendReliableMessage();
217 } 218 }
218 } 219 }
220 gSavedSettings.setBOOL("VerticalIMTabs", childGetValue("vertical-imtabs-toggle").asBoolean());
219} 221}
220 222
221void LLPrefsIMImpl::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email) 223void LLPrefsIMImpl::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email)
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml b/linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml
new file mode 100644
index 0000000..8b1f41b
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_chatterbox_vertical.xml
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<multi_floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
3 height="390" name="floater_chatterbox"
4 rect_control="ChatterboxRect" title="Communicate" width="392">
5 <tab_container bottom="2" follows="left|right|top|bottom" height="370" left="0"
6 name="chatterbox_tabs" tab_position="left" tab_width="126" width="395" />
7 <string name="unread_count_string_singular">
8 Unread IM
9 </string>
10 <string name="unread_count_string_plural">
11 Unread IMs
12 </string>
13</multi_floater>
14
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml
index ee00455..9b18e11 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.xml
@@ -49,55 +49,59 @@
49 initial_value="false" label="Show online Friend notifications" left="148" 49 initial_value="false" label="Show online Friend notifications" left="148"
50 mouse_opaque="true" name="friends_online_notify_checkbox" 50 mouse_opaque="true" name="friends_online_notify_checkbox"
51 radio_style="false" width="256" /> 51 radio_style="false" width="256" />
52 <check_box bottom_delta="-20" enabled="true"
53 follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
54 label="Vertical IM tabs (requires restart)" left_delta="0" mouse_opaque="true"
55 name="vertical-imtabs-toggle" radio_style="false" width="270" />
52 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 56 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
53 bottom="-125" drop_shadow_visible="true" enabled="true" follows="left|top" 57 bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top"
54 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" 58 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12"
55 mouse_opaque="false" name="text_box3" v_pad="0" width="128"> 59 mouse_opaque="false" name="text_box3" v_pad="0" width="128">
56 Busy Mode Response: 60 Busy Mode Response:
57 </text> 61 </text>
58 <text_editor type="string" length="1" bottom="-185" embedded_items="false" enabled="true" follows="left|top" 62 <text_editor type="string" length="1" bottom_delta="-60" embedded_items="false" enabled="true" follows="left|top"
59 font="SansSerifSmall" height="70" left="148" max_length="255" 63 font="SansSerifSmall" height="70" left="148" max_length="255"
60 mouse_opaque="true" name="busy_response" width="330" word_wrap="true" /> 64 mouse_opaque="true" name="busy_response" width="330" word_wrap="true" />
61 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 65 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
62 bottom="-218" drop_shadow_visible="true" enabled="true" follows="left|top" 66 bottom_delta="-33" drop_shadow_visible="true" enabled="true" follows="left|top"
63 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" 67 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12"
64 mouse_opaque="false" name="text_box4" v_pad="0" width="128"> 68 mouse_opaque="false" name="text_box4" v_pad="0" width="128">
65 Logging Options: 69 Logging Options:
66 </text> 70 </text>
67 <check_box bottom="-225" enabled="true" 71 <check_box bottom_delta="-7" enabled="true"
68 follows="left|top" font="SansSerifSmall" height="16" 72 follows="left|top" font="SansSerifSmall" height="16"
69 initial_value="false" label="Save a log of IM on my computer" left="148" 73 initial_value="false" label="Save a log of IM on my computer" left="148"
70 mouse_opaque="true" name="log_instant_messages" radio_style="false" 74 mouse_opaque="true" name="log_instant_messages" radio_style="false"
71 width="237" /> 75 width="237" />
72 <check_box bottom="-245" enabled="true" 76 <check_box bottom_delta="-20" enabled="true"
73 follows="left|top" font="SansSerifSmall" height="16" 77 follows="left|top" font="SansSerifSmall" height="16"
74 initial_value="false" label="Show timestamps in IM log" left="168" 78 initial_value="false" label="Show timestamps in IM log" left="168"
75 mouse_opaque="true" name="log_instant_messages_timestamp" radio_style="false" 79 mouse_opaque="true" name="log_instant_messages_timestamp" radio_style="false"
76 width="217" /> 80 width="217" />
77 <check_box bottom="-265" enabled="true" follows="left|top" 81 <check_box bottom_delta="-20" enabled="true" follows="left|top"
78 font="SansSerifSmall" height="16" initial_value="false" 82 font="SansSerifSmall" height="16" initial_value="false"
79 label="Show the end of last IM conversation" left="168" mouse_opaque="true" 83 label="Show the end of last IM conversation" left="168" mouse_opaque="true"
80 name="log_show_history" radio_style="false" width="217" /> 84 name="log_show_history" radio_style="false" width="217" />
81 <check_box bottom="-285" enabled="true" follows="left|top" 85 <check_box bottom_delta="-20" enabled="true" follows="left|top"
82 font="SansSerifSmall" height="16" initial_value="false" label="Save a log of Local Chat on my computer" 86 font="SansSerifSmall" height="16" initial_value="false" label="Save a log of Local Chat on my computer"
83 left="148" mouse_opaque="true" name="log_chat" radio_style="false" 87 left="148" mouse_opaque="true" name="log_chat" radio_style="false"
84 width="237" /> 88 width="237" />
85 <check_box bottom="-305" enabled="true" follows="left|top" 89 <check_box bottom_delta="-20" enabled="true" follows="left|top"
86 font="SansSerifSmall" height="16" initial_value="false" 90 font="SansSerifSmall" height="16" initial_value="false"
87 label="Show timestamps in Local Chat log" left="168" mouse_opaque="true" 91 label="Show timestamps in Local Chat log" left="168" mouse_opaque="true"
88 name="log_chat_timestamp" radio_style="false" width="217" /> 92 name="log_chat_timestamp" radio_style="false" width="217" />
89 <check_box bottom="-325" enabled="true" follows="left|top" 93 <check_box bottom_delta="-20" enabled="true" follows="left|top"
90 font="SansSerifSmall" height="16" initial_value="false" 94 font="SansSerifSmall" height="16" initial_value="false"
91 label="Show incoming IM in Local Chat log" left="168" mouse_opaque="true" 95 label="Show incoming IM in Local Chat log" left="168" mouse_opaque="true"
92 name="log_chat_IM" radio_style="false" width="217" /> 96 name="log_chat_IM" radio_style="false" width="217" />
93 <check_box bottom="-345" enabled="true" follows="left|top" 97 <check_box bottom_delta="-20" enabled="true" follows="left|top"
94 font="SansSerifSmall" height="16" initial_value="false" 98 font="SansSerifSmall" height="16" initial_value="false"
95 label="Include date with timestamps" left="148" mouse_opaque="true" 99 label="Include date with timestamps" left="148" mouse_opaque="true"
96 name="log_date_timestamp" radio_style="false" width="237" /> 100 name="log_date_timestamp" radio_style="false" width="237" />
97 <button bottom="-367" follows="right|bottom" font="SansSerif" halign="center" 101 <button bottom_delta="-22" follows="right|bottom" font="SansSerif" halign="center"
98 height="20" label="Change Path" label_selected="Change Path" left="170" 102 height="20" label="Change Path" label_selected="Change Path" left="170"
99 mouse_opaque="true" name="log_path_button" width="90" /> 103 mouse_opaque="true" name="log_path_button" width="90" />
100 <line_editor border_drop_shadow_visible="false" border_visible="false" bottom="-366" 104 <line_editor border_drop_shadow_visible="false" border_visible="false" bottom_delta="1"
101 drop_shadow_visible="true" enabled="false" follows="top|left|right" 105 drop_shadow_visible="true" enabled="false" follows="top|left|right"
102 font="SansSerifSmall" halign="right" height="19" left="248" 106 font="SansSerifSmall" halign="right" height="19" left="248"
103 max_length="254" mouse_opaque="false" name="log_path_string" right="-20" /> 107 max_length="254" mouse_opaque="false" name="log_path_string" right="-20" />