Commit Graph

241 Commits

Author SHA1 Message Date
Lirusaito
64bd7af0ca Update childSetCommitCallback to upstream version, fixes the issue of crashing out upon using spinners in the colorpicker 2013-06-23 22:14:35 -04:00
Lirusaito
7303bfcb78 Eliminated most instances of the legacy setCallbackUserData (and modernized up a bunch of callbacks)
Also cleaned up slfloatermediafilter to act as a proper singleton.
Removes childSetUserData entirely.
2013-06-16 20:00:00 -04:00
Aleric Inglewood
af1eaac79d Bug fix.
Revert an incorrect change made in
c5fc945f33 (imported from viewer 3).

This stops ASSERT(mSegments.back()->getEnd() == getLength())
in LLTextEditor::loadKeywords.
2013-06-12 14:55:46 +02:00
Latif Khalifa
d4431e14d7 Merge remote-tracking branch 'lirusaito/master' 2013-06-03 01:36:35 +02:00
Latif Khalifa
986871c5a6 Merge remote-tracking branch 'aleric/master' 2013-06-03 01:33:03 +02:00
Latif Khalifa
5ee7244b45 Merge remote-tracking branch 'shyotl/master' 2013-06-03 01:30:36 +02:00
Aleric Inglewood
98badb94da Add AIHTTPView, a HTTP Debug Console - press Ctrl-Shift-7 2013-06-01 16:14:32 +02:00
Shyotl
a8b2a10c61 Switch pie menu over to ui-local transform matrix stack. 2013-05-31 04:46:38 -05:00
Lirusaito
f3f76c280b [Issue 850] Add a control for unfocused window opacity.
Adds debug setting FloaterUnfocusedBackgroundOpaque
Adds "Make unfocused floaters opaque" to Vanity->Main preferences.

One line patch to llfloater.cpp
2013-05-30 18:28:36 -04:00
Siana Gearz
0f90991533 OS X build fix 2013-05-28 03:24:12 +02:00
Lirusaito
4eae554812 Merge branch 'UICleanup' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/llappearance/llwearable.h
	indra/llui/llcombobox.h
	indra/newview/jcfloaterareasearch.cpp
	indra/newview/jcfloaterareasearch.h
	indra/newview/llpanelgrouproles.cpp
	indra/newview/llpanelgrouproles.h
	indra/newview/llviewermenu.cpp - Plugged in new MenuFloaterDict for AssetBlacklist and SoundExplorer in menu_viewer.xml and removed the old listeners for them.
	indra/newview/skins/default/xui/es/floater_inventory.xml
Compile Fixes:
	indra/llcommon/llstl.h - error: expected nested-name-specifier before ‘const’
	indra/llui/llmultisliderctrl.cpp:283:12: error: ‘caller’ was not declared in this scope
	indra/llui/lltexteditor.cpp
		- error: operands to ?: have different types ‘const LLPointer<LLTextSegment>’ and ‘long int’
		- error: passing ‘const LLPointer<LLTextSegment>’ as ‘this’ argument of ‘LLPointer<Type>& LLPointer<Type>::operator=(const LLPointer<Type>&) [with Type = LLTextSegment]’ discards qualifiers
	indra/newview/llfloaterpermissionsmgr.cpp - Silly Shyotl, boost bind, not std bind.
	indra/newview/llfloaterproperties.* - error: ‘LLInstanceTracker<LLFloaterProperties, LLUUID>’ is an inaccessible base of ‘LLFloaterProperties’
	indra/newview/llgivemoney.cpp - Again, boost::ref, not std::ref
	indra/newview/llpreviewscript.cpp - no known conversion for argument 1 from ‘std::vector<const LLPointer<LLTextSegment> >’ to ‘std::vector<LLPointer<LLTextSegment> >&
2013-05-27 08:09:28 -04:00
Shyotl
c5fc945f33 Updated LLResizeBar and LLResizeHandle to use LLView::Param based ctors.
Cleaned up LLKeyWords
Cleaned up LLStatBar
Added per-account setting access to ui library
Added LLUICachedControl
Updated LLUIString
2013-05-20 00:36:34 -05:00
Shyotl
df404c42d0 Migrated baser LLStat* classes and their LLContainerView dependency to llui library and renamed LLScrollableContainerView to LLScrollContainer 2013-05-17 16:46:40 -05:00
Shyotl
b1d69d05c3 Further pluggged in LLView::Params. For now just used for a few exclusively hard-coded elements. XUI parsing not yet implemented. New element registry not yet implemented. 2013-05-17 14:45:23 -05:00
Drake Arconis
73b10e6b29 Made compiler detection more reliable and cleanup clang warnings 2013-05-05 17:56:16 -07:00
Shyotl
e8ce35ebf8 Merge branch 'master' into UICleanup
Conflicts:
	indra/llcommon/llstl.h
	indra/newview/jcfloaterareasearch.cpp
	indra/newview/jcfloaterareasearch.h
	indra/newview/llfloateranimpreview.cpp
	indra/newview/llfloateranimpreview.h
	indra/newview/llfloaterperms.cpp
	indra/newview/llfloaterproperties.cpp
	indra/newview/llpanelpermissions.cpp
	indra/newview/llviewermenu.cpp
2013-05-03 21:41:51 -05:00
Lirusaito
22435b4b91 Merge branch 'master' of https://github.com/singularity-viewer/SingularityViewer into Frosting
Conflicts:
	indra/newview/llviewerwindow.cpp
2013-04-17 21:06:57 -04:00
Shyotl
a5dad6be5c UI cleanup.
-Added ui-local transformation matrix.
-Gutted legacy commitcallbacks throughout ui widget ctors.
-Created filter_editor ui widget which issues commit on keypress
   -search_editor commits on focus loss/enter press
   -search_editor and filter_editor now have a built in 'x' button to clear text.
-LLComboBox::setPrearrangeCallback now uses boost::function
-LLComboBox::setTextEntryCallback now uses boost::function
-LLLineEditor::setKeystrokeCallback now uses boost::function
-LLLineEditor::setPrevalidate now uses boost::function
-LLPanel::childSetKeystrokeCallback removed
-LLPanel::childSetPrevalidate removed
-LLPanel::childSetActionTextbox now uses boost::function
-LLTextBox::setClickedCallback now uses boost::function
-LLTextEditor::setKeystrokeCallback added.
-Cleaned up JCFloaterAreaSearch
2013-04-16 00:25:59 -05:00
Latif Khalifa
c1d5f33a4c Merge remote-tracking branch 'shyotl/master' 2013-04-16 06:36:13 +02:00
Shyotl
f52b97d588 Fix llalertdialog.cpp (accidentally grabbed some changes that only work with future alterations I've yet to push to master.) 2013-04-15 23:29:51 -05:00
Shyotl
75c1e74e48 Avoid using invalid iterator in LLNotifications::getChannel if channel is not found. 2013-04-15 18:12:15 -05:00
Shyotl
d51b0f8701 Tweaked alert dialogs. Clicking 'x' issues a response. Either 'close', 'cancel', 'ok' or a dummy 'close' which will result in LLNotification::getSelectedOption returning -1 in callback. Listed in order of preference. 2013-04-15 18:06:46 -05:00
Melanie
273f57d5a2 Fix chat focus issues once and for all 2013-04-13 04:59:02 +02:00
Lirusaito
8c49716eae Merge branch 'Cupcake' of https://github.com/LightDrake/SingularityViewer into Frosting
Conflicts:
	indra/newview/llviewerwindow.cpp - Also two compile fixes.
2013-04-10 13:26:48 -04:00
Shyotl
b07ab02f54 Added blendfunc checks when RenderDebugGL is TRUE. 2013-03-30 01:26:07 -05:00
Lirusaito
7aa0b439a8 Updates and clean up and frosting, oh my~
Removes old code for permitting emerald attachment points
Removes other old dead code...
Updates RLVa a bit.
Adds more translation flexibility via strings.xml
2013-03-24 12:29:58 -04:00
Drake Arconis
0eeddb0607 Merge branch 'master' of git://github.com/AlericInglewood/SingularityViewer into Cupcake
Conflicts:
	indra/newview/llappviewer.cpp
2013-03-20 08:31:04 -04:00
Aleric Inglewood
fc642019b3 Fix recursive call to LLNotifications::initSingleton 2013-03-19 19:56:20 +01:00
Lirusaito
78e1804381 Add Pathfinding UI from v3
Added libpathing to LLPHYSICSEXTENSIONS_INCLUDE_DIRS
llviewermenu updated a bit to be closer to v-d/rlva. Best viewed without space changes.
Updated llresmgr.cpp from v-d to "handle special case of input value being zero"
pipeline update: hideObject, restoreHiddenObject, hideDrawable, and unhideDrawable added.

Thanks to Henri Beauchamp for some UI code touchups, thanks to Zi Ree for Rebake notification.
Thanks to Mobius Ryba and Ansariel Hiller for the V1-style pathfinding icons.

Note: When opening from pie menu object selection is lost, unless the floater is already open..
This provides a more reliable reproduction of the bug we've been having with inspect.
2013-03-08 03:17:11 -05:00
Drake Arconis
f6713559e9 Some minor llfont cleanup..more to come 2013-03-07 01:41:42 -05:00
Drake Arconis
0e3a9b28bd CMake cleanup and organization 2013-03-05 12:24:51 -05:00
Drake Arconis
bc2d26464f Remove dead code 2013-03-05 09:08:47 -05:00
Drake Arconis
3fac86158c General cleanup of unused variable warnings 2013-03-04 16:04:05 -05:00
Siana Gearz
dbdd0ec4f1 Merge branch 'Canon' of git://github.com/Lirusaito/SingularityViewer 2013-02-17 15:40:27 +01:00
Lirusaito
5d3341bc00 Correctly position custom dropdown menus 2013-02-13 14:17:34 -05:00
Lirusaito
7ca767275f Add support for CustomMenuAction Capability 2013-02-13 13:00:40 -05:00
Aleric Inglewood
86a0536131 Compile error fix: __value is reserved on Windows. 2013-02-13 17:20:41 +01:00
Aleric Inglewood
c18b156d8b Bug fix for scrolling folder views.
An LLFolderView is added as child to LLScrollableContainerView,
but also adds the LLScrollableContainerView to it's mScrollContainer.
As a result, when scrolling inside a LLFolderView the event is passed to
the mScrollContainer, which then passes it first on to it's children
(see the "Bad UI design" remark in the code), causing an infinite loop.
This patch breaks that loop for those objects that have a
mScrollContainer: LLFolderView and LLContainerView.
2013-02-11 03:36:46 +01:00
Aleric Inglewood
2d7ab61c6e Make keyboard focus more robust under closed floaters. 2013-02-08 18:40:14 +01:00
Aleric Inglewood
dd6f95cd33 Make AIList resilient against invalidating iterators.
This adds a counter and a 'dead' flag to the data stored in the linked
list. The counter counts the number of iterators (still) pointing to an
element and the dead flag is set to indicate the element was erased when
iterators are still pointing to it. As a result, iterators are NEVER
invalidated. Of course, such elements are subsequentially skipped when
iterating over the list. Assertions protect against dereferencing an
erased iterator, but incrementing or decremention still works: it is
still well-defined what the next (non erased) element is, assuming the
element wasn't erased (yet), but would be erased delayed - or assuming
the iterator would have been incremented (decremented) in advance to
erasing the element.
2013-02-08 17:28:22 +01:00
Aleric Inglewood
d5482e6c74 Do not pre- increment the loop iterator in LLView::drawChildren
This is in fact much safer, because the only way to invalidate an
interator in the first place (in this code) is by calling removeChild,
which *already* has an assert never to remove a child that is being
iterated over (by means of the mInDraw flag).
2013-02-08 17:28:21 +01:00
Aleric Inglewood
baab1d81a7 Wrap LLView::child_list_t in a class AIList.
So far not doing anything. Iterators already keep a pointer to the
container they belong to.
2013-02-08 17:28:21 +01:00
Aleric Inglewood
ea114986be Use viewList_t and child_list_t in appropriate places.
Both types are currently the same, but soon they will be made different.
Currently they are used a bit mixed up. This patch fixes that.
2013-02-08 17:28:21 +01:00
Siana Gearz
dc3f91b121 Merge branch 'master' of git://github.com/Lirusaito/SingularityViewer 2013-02-03 22:27:53 +01:00
Lirusaito
47cbaeed23 XML-Driven floater feature (and documentation)
Changes:
Adds LLUICtrlFactory::getBuiltFloater() to return LLFloater* when a floater has been built.
In llviewermenu.cpp's LLShowFloater::handleEvent():
Return early if the floater_name is empty,
otherwise if no anticipated floater is found, build one,
unless one of the same name is already built, then bring it to focus.



Documentation:
In order to add simple codeless floaters, a general understanding of our XMLs is necessary...
A simple codeless floater can be a few things, perhaps not limited to: media browsers, settings controls, and holders for inventory_panels.

So how do you make them conform to the codeless standard?
For the purpose of these examples, my floater file will always be floater_name.xml
Let's start with a shortened xml menu entry:
<menu_item_call label="Name!" name="name">
  <on_click function="ShowFloater" userdata="floater_name.xml"/>
</menu_item_call>
Alright, that wasn't so hard, just remember the key in this is ShowFloater is the function and userdata is the filename.

The next part is the actual floater, which isn't so different from making a complex floater..
There are two ways to do this, depending upon desired behavior:

The first behavior is to have only one of the floater open at a time, the following short xml exemplifies this:
<floater name="floater_name.xml" title="Name!"/>
Having a floater with this behavior will cause the menu entry to bring it into focus.

The other behavior is to allow more than one of the floater open at a time:
<floater name="name" title="Name!"/>
In this case, the menu entry will spawn a new version of the floater with every click, regardless of previous ones existing.

Granted, these short <floater/>'s probably aren't but examples and will not likely stand alone.
2013-01-30 14:07:59 -05:00
Latif Khalifa
d8c846288e Merge remote-tracking branch 'lirusato/master' 2013-01-22 20:06:03 +01:00
Lirusaito
dd1e9a68d4 Removal of the deprecated lltabcontainervertical. 2013-01-22 01:38:25 -05:00
Latif Khalifa
18816ae146 Merge remote-tracking branch 'shyotl/sunshine' 2013-01-21 11:25:10 +01:00
Latif Khalifa
3bf307abb0 Merge remote-tracking branch 'shyotl/master' 2013-01-15 18:37:09 +01:00
Shyotl
2a8f55e99e Updated gesture floater to use more modern (and actual working) method of adding list elements via xml. 2013-01-14 18:41:48 -06:00