adding a custom toolbar button

Help
TechonTap
2012-01-12
2013-08-06
  • TechonTap
    TechonTap
    2012-01-12

    If I am understanding the sparse direction I have found so far, it seems that the only way to create a custom toolbar button is to use the "Triggers" function. I think I understand conceptually that creating a custom toolbar button requires two actions; 1) creating a toolbar button,  and 2) adding a trigger>action to make the button do something. Is that right?

    The first task seems to be to create a one-time trigger to run the action "Add Custom Toolbar Button" and enter an ID, Name, & Description. I have tried this to no avail. I set up the trigger, close and restart Keepass, nothing; no button, nothing new at all. I reset the trigger and try again with the same disappointing result. Maybe I'm missing something. back to the forums (sigh).

    It occurs to me that the ID in the action might be a specific icon reference, possibly to a DLL.  The help file tells that the ID: is the "ID of the toolbar button". How informative. There is also a reference directing me to see the "Event Handler", but no link to where I might find out exactly what the "Event Handler" is… Searching is fruitless as well.

    Okay, I'm clearly missing something here. Surely such a ubiquitous and useful tool would not be hidden or made unnecessarily complicated. I mean, on practically any software, you simply right-click the button bar OR at worst, navigate to a clearly labeled "Toolbar.." reference located somewhere on the menu system. Alas, I am unable to find the "Add a custom toolbar button" FAQ, even though I am sure that one exists (?). Surely, one exists, right?

    After spending the last hour and a half searching through the help manual and reviewing several hundred forum search results using seemingly appropriate keywords, I have come up with what amounts to a few terse clues about how to actually create a custom toolbar button.  I am not new to Keepass and possess a fairly sophisticated knowledge of technology and user interfaces.  I've not needed this function before now, but I do need it now and I'd prefer to not have to spend hours investigating how to do what is usually basic intuitive design in most programs.  Can anyone provide some step-by-step directions that don't assume I am a software coder?  I realize I'm being snotty here, so if you need to beat me up before you give me directions, please go ahead, just please give some directions after you tenderize me.

     
  • Paul
    Paul
    2012-01-12

    Your trigger needs an event of "Application initialized" or "Application started and ready" to run it at KeePass starts up.
    The ID is a unique reference to the button, nothing more. You need to create a trigger will fire when the button with that ID  is clicked.

    cheers, Paul

     
  • TechonTap
    TechonTap
    2012-01-13

    Yep, been there, done that, Paul. I'll look again to be sure, but pretty sure I went with "App Initialized" on the first round and "App started & ready" after no joy;

     
  • Dominik Reichl
    Dominik Reichl
    2012-01-13

    It would be helpful if you'd show us your triggers. Open the triggers dialog, click the 'Tools' button, 'Copy Triggers to Clipboard' and post them here.

    Best regards
    Dominik

     
  • TechonTap
    TechonTap
    2012-02-03

    Sorry for dropping out on this… life has many distractions! oooooh there's one now…

    The trick to this task is doing it all in one fell swoop. Making the changes all in one go and then restarting did finally work. Not sure what I was doing wrong (I made no changes to the config of triggers) except that I tend to want to see each change in step-wise fashion and may have tried to add the button first, restart, then add a trigger to the button action… that does not seem to work here, (even if you ARE cognizant of the "run once" issue) . So, one must trust that the process will work and that the force is with them…

    Here is the process I followed to create a "Sync to Dropbox" button.

    Custom Toolbar button requires two triggers; 1) create the button; 2)action on button click. Create both actions before you close and restart app.

    1) Create a button by adding a one-time trigger; In the trigger config pane:

    PropertiesName=your name for the action. example: "makebutton1"
                       …Enabled=Yes
                       …Initially on=Yes
                       …Turn off after executing once=Yes
    Eventsadd "Application Initialized"
    Conditions…(optional)
    ActionsAction="Add custom toolbar button"
                 …ID=a name/number for the button that the click action will refer to. example: "01", "button1"
                 …Description=popup text for what the button does (pops up as tip when hover over button)

    Click "Finish" and then add a new trigger…

    2) Create an action to be carried out when the toolbar button is clicked; In the trigger config pane:

    Properties…_Name=your name for the action; (example= "sync to dropbox")
                       …Enabled=Yes
                       …Initially on=Yes
                       …Turn off after executing once=NO

    Events…add "Custom toolbar button clicked" 
                …AND enter the toolbar button ID from above into the "ID" field.

    Conditions….
    Actions…Action=the action you want carried out when the button is pressed
    Click "Finish" and restart the app. Your new button should appear on start up…

    hope it helps. if i missed something, please correct._

     
  • mithrin
    mithrin
    2013-07-21

    Many Thanks, TechonTap most helpfull.

    Can this info be put on the main wiki pages.

    Also the event-handler wasn't explained could you oblige?

     
  • Emm
    Emm
    2013-08-06

    +1 we need Event-handlers to be explained to us.

     
  • wellread1
    wellread1
    2013-08-06

    We need Event-handlers to be explained to us.

    See the KeePass Trigger Help section for an explanation of the events.