StrokesPlus.net
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Alex  
#1 Posted : Sunday, August 11, 2019 7:42:52 PM(UTC)
Alex

Rank: Member

Reputation:

Groups: Approved
Joined: 8/11/2019(UTC)
Posts: 16
Germany

Thanks: 3 times
Hi Rob,

a) it would be very efficient to add another button to the gesture training popup:
<Save & New> <Save> <Cancel>

b) I'm missing a button to get an overview of all mapped actions for a gesture.

More ideas for future releases:

c) Text Expansion: Shortcuts for Categories -> popup drop down menu with all texts in this category.

d) network accessible database for all functions

e) Android client.

Alex
Rob  
#2 Posted : Wednesday, August 14, 2019 6:59:42 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
a) I'm not sure what you mean. What would Save & New do?
Edit: Oh, do you mean to quickly create gestures in a row? I would recommend entering training mode (middle click the tray icon or right-click tray icon and select Training Mode). Every gesture drawn will pop up that window. However, I do think it makes sense to have the Save & New as well and will add that to my TO DO list

b) Yeah, it seems very few people really used it in the old system and it became a bit unwieldy when there were a lot of actions.
It's not pretty, but here's a script that you can enter the gesture name and execute it to get a list which is copied to the clipboard.
Maybe someday myself or someone else out there (hint, hint, people!) will make a simple plug-in which would provide a graphical representation.
Code:
var gestureName = 'L';
var output = '';

//Loop through all global actions, looking for any action which is Active and uses the gesture defined in gestureName
for(j=0;j<sp_config.GlobalApplication.Actions.Count;j++){
    if(sp_config.GlobalApplication.Actions[j].Active && sp_config.GlobalApplication.Actions[j].GestureName == gestureName) {
        output += "Global: " + sp_config.GlobalApplication.Actions[j].Description + '\r\n';    
    }
}

//Loop through all defined apps, looking for any action which is Active and uses the gesture defined in gestureName
for(i=0;i<sp_config.Applications.Count;i++){
    for(j=0;j<sp_config.Applications[i].Actions.Count;j++){
        if(sp_config.Applications[i].Actions[j].Active && sp_config.Applications[i].Actions[j].GestureName == gestureName) {
            output += sp_config.Applications[i].Description + ": " + sp_config.Applications[i].Actions[j].Description + '\r\n';    
        }
    }
}

//Put the list of actions on the clipboard
clip.SetText(output);


c) Not sure I follow you. Is this dropdown within the S+ interface, or do you mean a text expansion command that would show a dropdown list when in another application?

d) I'm assuming you mean having a way to quickly search all help functions? That is on me agenda, but will still be a while down the road.

e) These types of applications require native development for every platform, so it is not simple to just port the code to a different platform. I sometimes do not have the time to maintain/enhance S+ as it is, so I have no plans to make another version for a different platform.
thanks 1 user thanked Rob for this useful post.
Alex on 8/14/2019(UTC)
Alex  
#3 Posted : Wednesday, August 14, 2019 9:41:00 PM(UTC)
Alex

Rank: Member

Reputation:

Groups: Approved
Joined: 8/11/2019(UTC)
Posts: 16
Germany

Thanks: 3 times
a) +b) Fantastic!

c) Not sure I follow you. Is this dropdown within the S+ interface, or do you mean a text expansion command that would show a dropdown list when in another application?
A dropdown list in another application. E.g. the command ".greet" shows you a dropdown list of the category "Greetings" with all single text expansion commands like "Yours sincerely" , "Kind regards", ... .

d) I'm assuming you mean having a way to quickly search all help functions? That is on me agenda, but will still be a while down the road.
Great, but sharing all gestures and text expansions with other network users was the idea. Probably a too big project as e)

e) These types of applications require native development for every platform, so it is not simple to just port the code to a different platform. I sometimes do not have the time to maintain/enhance S+ as it is, so I have no plans to make another version for a different platform.
Sorry, this was quite impudent. I know that developing S+ makes high demands an your limited and precious time. Parallel platform development would result in a full-time/professional work.

Thanks for your open ear and time.


Rob  
#4 Posted : Thursday, August 15, 2019 2:14:52 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
c) I mean, if you want to get crafty, you can accomplish this!

For the Text Expansion item, select Script instead and use this:
Code:
var inputBoxInfo = new InputBoxInfo();
inputBoxInfo.Title = "Greetings";
inputBoxInfo.Message = "Select a greeting";

//true to sort alphabetically
inputBoxInfo.Sort = false; 

//Add a line below for each item you want in the list
inputBoxInfo.Items.Add("Yours sincerely");
inputBoxInfo.Items.Add("Kind regards");

//Use this to pre-select a default
//Remove the line for nothing selected
//Note: Maintains position in list, so you have to
//      press Up arrow for Yours sincerely (based on no sorting)
inputBoxInfo.SelectedValue = "Kind regards";

//Let the user manually type something in
//false for a read only list from above
inputBoxInfo.AllowDirectInput = true;

//show the input box at the current mouse location
//false (I think) just shows in the center of the screen
inputBoxInfo.ShowAtMouseCursor = true;

var res = sp.InputBox(inputBoxInfo);
if(res != null) {
    //Using the SendKeys format, sends whatever is selected or entered
    //Could change this section to do whatever you want, really
    //res will equal whatever is in the dropdown or entered directly, if enabled
    sp.SendKeys(res);
}


Note that you could have a text expansion that is basically like a hotkey, using the Script option. When the token is recognized, it backspaces it out then executes the script...so it doesn't even have to be a text expansion at all, if you need it to do something else.

Edited by user Thursday, August 15, 2019 2:41:39 AM(UTC)  | Reason: Not specified

thanks 1 user thanked Rob for this useful post.
soooulp on 1/2/2022(UTC)
Rob  
#5 Posted : Thursday, August 15, 2019 2:30:30 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
d) You could probably write a Load Script to somehow do this on start, just would take some effort.

You could also start S+ with the parameter settingsfile={path to file} and have that settings file on a network location.
But I'm not sure how that would really work out having multiple users hitting the same file randomly.

Could have the Load Script copy some standard file locally (overwriting the local settings file) and call sp.Reload().

Edited by user Thursday, August 15, 2019 2:44:38 AM(UTC)  | Reason: Not specified

Alex  
#6 Posted : Thursday, August 15, 2019 11:32:14 AM(UTC)
Alex

Rank: Member

Reputation:

Groups: Approved
Joined: 8/11/2019(UTC)
Posts: 16
Germany

Thanks: 3 times
Cool approaches/solution.
It would make sense to work with an (SQL) database optionally in order to manage all gestures and a larger collection of text expansions. Network sharing would be easier then.
Think to implement this could overload S+. Maybe someone or myself in a more advanced phase could implement a database connection, sometime.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.