PlaneShift

  • Status New
  • Percent Complete
    0%
  • Task Type Feature Request
  • Category 2D Art → GUI
  • Assigned To No-one
  • Operating System
  • Severity Medium
  • Priority
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 1
  • Private
Attached to Project: PlaneShift
Opened by Seytra - 11.03.2010
Last edited by CXDamian - 11.03.2010

FS#4237 - Ability to add custom tabs to chat window

In order for the custom channels to be useful, they need a convenient interface. The need for typing /x before stuff isn’t terribly annoying, but also not terribly convenient. However, the biggest issue is that with multiple such channels, all talk gets mangled into one. The designation for the originating channel doesn’t help much in that case.

Therefore it would be nice to be able to create and assign custom tabs to channels, which would then function just like any of the built-in tabs. It would be even nicer if that arrangement could be stored, which would go very well with the auto-joining of custom channels proposed elsewhere.

CXDamian commented on 11.03.2010 00:50

FR→New

weltall commented on 11.03.2010 07:43

it can already be done and the auto / can be disabled.

Seytra commented on 11.03.2010 21:47

Really? I didn't find an option nor a command inside PS, and none of the options xml files gives a clue, so how do I do it?

Franta commented on 14.03.2010 00:10

I think it's meant as one channel filtered into separate tab, i.e. gossip channel, but other channels still received into other tab, i.e. /2 /3 without disabling them entirely.

Seytra commented on 14.03.2010 05:02

Exactly: after creating a new tab and assigning it to "gossip" (usually /1 but that can change), it would encapsulate everything gossip-related just like the NPC tab does for NPC dialog, complete with auto-selection, auto-reply, etc.. All user-defined channels that are joined but don't have their own tab assigned would still go to the generic cutom-channel tab (which ATM is called "gossip"). The usefulness only becomes apparent once you have multiple custom channels active at once.

weltall commented on 14.03.2010 08:22

you edit the xml simple

Seytra commented on 14.03.2010 23:44

After fiddling with data/gui/chat.xml, data/gui/configchattabs.xml and ~/.PlaneShift/chat.xml (using stuff from data/options/chat_def.xml), I was able to get extra tabs that also show the appropriate text from the channels. I was not able to get them to auto-send text I type with these tabs selected to go to the correct channel, though.

However, even if I could do so, I had a slightly more convenient, preferrably ingame method in mind. ;-)

weltall commented on 15.03.2010 07:35

the problem is that an ingame method as detailed above limits the costumization of it

Seytra commented on 21.03.2010 23:03

Only if one were to try to make all possibilities available through the ingame GUI. If one were to add a flag to ingame-created tabs and only make tabs that have the flag set editable / removable using the ingame system, then this need not be the case. That way, that system would not need to understand all possible ways to make such a tab (if the user messes with the flags in the files, then it's their problem), and all other ways would still work through the config files. So the tab GUI would start off with no user-created tabs and if desired one oculd add new ones through it, which would all get the flag set.

Regardless, how do I make it auto-send text I type when having my custom tab active to the channel which the tab is listener to? ATM, I have to type the shortcut to send to such channels.

weltall commented on 22.03.2010 06:03

you can't as it must be changed in the code. as for the flagging even if you do that yes you can remove the tab but holes remains i doubt that's your goal

Seytra commented on 22.03.2010 13:20

Ah, thanks, so I don't need to keep trying. Would've been nice to have, but this is a FR, so maybe some later time.

WRT flags, yes, if "flexibility" includes the possibility to (partially) obstruct tabs with others, then that would be reduced. If not, then the xml file's Y positions (or X, depending on layout) could be automatically recalculated to not leave those holes when saving a changed layout, since their dimensions are given in the file already.
Even if this is not acceptable, all user tabs could always be placed at the very end, so the final non-flagged tab would specify the first possible user-tab location (or even use an explicit "first user" position in the file so arrangement of the tabs does ot need to follow thir sequence in the file). Then all user-tabs could be aligned when saving without touching the positions of the others.

weltall commented on 22.03.2010 19:27

you lack a point there is no concept of position for the tabs they can be like


…._
……_
………_
…_

Seytra commented on 22.03.2010 21:03

Well, the arbitrary tab placement possibility does have it's merits, from a GUI designer's perspective, but the greatest benefit in terms of usability that one would get from such flexibility would be if it would auto-adapt to the size of the chat box, for example by switching to multiple columns if the chat box is made too small vertically, similar to what the shortcut box does. This sort of thing can not be done unless placement is automated somehow.

Even if the current placing only looks like it could be done by a program, somebody will doubtlessly decide where to place the normal tabs. And if everything else fails / is not wanted, then that someone could designate an area where user-tabs would get placed (say, the right side / bottom), and the placing of user-tabs within that area could then be done by the program so the user does not have to fiddle with 3+ files that are dispersed in different folders.

And even if that, too, is not wanted, then one could offer X,Y and size parameters for the user to fill in from the GUI along with the other necessary variables. That way, the user would be left to work out the proper placement, but in a more accessible and faster to test way.

Seriously, fiddling with these files is not a real solution, because this is aimed at convenience, and normal users, to be able to use the current facilities to a bigger extent. What good is an IRC-like facility when you cannot reasonably easily make it not mangle everything? After all, this is why the game offers options to not echo everything in main.

You would not seriously consider a MOTD to the effect of "You can create your own chat channels within the game! To get separate tabs for them, just edit a couple of files and restart!", would you? ;-)

RlyDontKnow commented on 23.03.2010 04:10

right now all widgets are created from the xml file causing a lot of redundancy there and making it impossible to automate the placement of the widgets.
in my opinion this could be modified a lot with keeping the flexibility by letting the chat widget do the creation of the according widgets based on some generic input given.
e.g. I could imagine the xml input for the chatwindow to look similiar to this

based on the the information given the chatwindow could then create all important widgets (pawsTabWindow, pawsTextBoxes with related pawsButtons, etc.) while keeping the input easy to understand and modify.
to control the widget placement chattabs could have an attribute "horizontal" that defaults to false. in any case arbitary tab placement could still be done by placing extra information for the specific chat type as shown in the example
in my opinion arbitary placement of the textboxes doesn't make sense as only one is shown at a time, anyway.

however, this method has the downside that a lot of existing code would have to be changed in the chatwindow to allow such a generic input, so the question is whether it'd be really worth the effort.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing