Ticket #3211: t3211_cancel_production_queue_with_shift_click_v3.patch

File t3211_cancel_production_queue_with_shift_click_v3.patch, 3.0 KB (added by elexis, 9 years ago)

Adds a button to clear the whole production queue of all selected buildings.

  • binaries/data/mods/public/gui/session/selection_panels_right/queue_panel.xml

     
    22<object name="unitQueuePanel"
    33    size="4 -56 100% 0"
    44    type="image"
    55    sprite="queuePanelShader"
    66>
    7     <object size="-4 -2 52 54" type="image" sprite="stretched:session/icons/production.png" tooltip_style="sessionToolTipBottom">
     7    <object size="-4 -2 46 48" type="image" sprite="stretched:session/icons/production.png" tooltip_style="sessionToolTipBottom">
    88        <translatableAttribute id="tooltip">Production queue</translatableAttribute>
    99        <object name="queueProgress" ghost="true" style="iconButtonProgress" type="text"/>
    1010    </object>
    1111
    12     <object size="48 6 100% 100%">
     12    <object size="40 6 100% 100%">
    1313    <repeat count="16">
    1414        <object name="unitQueueButton[n]" hidden="true" style="iconButton" type="button" size="0 0 40 40" tooltip_style="sessionToolTipBottom">
    15         <object name="unitQueueIcon[n]" ghost="true" type="image" size="3 3 37 37"/>
    16         <object name="unitQueueProgressSlider[n]" type="image" sprite="queueProgressSlider" ghost="true" size="3 3 37 37" z="20"/>
    17         <object name="unitQueueCount[n]" ghost="true" style="groupIconsText" type="text" z="20"/>
     15            <object name="unitQueueIcon[n]" ghost="true" type="image" size="3 3 37 37"/>
     16            <object name="unitQueueProgressSlider[n]" type="image" sprite="queueProgressSlider" ghost="true" size="3 3 37 37" z="20"/>
     17            <object name="unitQueueCount[n]" ghost="true" style="groupIconsText" type="text" z="20"/>
    1818        </object>
    1919    </repeat>
    2020    </object>
     21   
     22    <object size="100%-30 12 100%-6 40" name="cancelQueue" type="button" style="iconButton" tooltip_style="sessionToolTipBottom">
     23        <translatableAttribute id="tooltip">Cancel the whole production queue</translatableAttribute>
     24        <object type="image" ghost="true" sprite="stretched:session/icons/cancel.png"/>
     25    </object>
     26   
    2127</object>
  • binaries/data/mods/public/gui/session/session.js

     
    196196    var viewPlayerDropdown = Engine.GetGUIObjectByName("viewPlayer");
    197197    viewPlayerDropdown.list = playerNames;
    198198    viewPlayerDropdown.list_data = playerIDs;
    199199    viewPlayerDropdown.selected = Engine.GetPlayerID();
    200200
     201    // Initialize cancel production queue button
     202    Engine.GetGUIObjectByName("cancelQueue").onPress = function() {
     203        for(var producingEnt of g_Selection.toList())
     204            for(var ent of getTrainingQueueItems([producingEnt]))
     205                removeFromProductionQueue(producingEnt, ent.id);
     206    };
     207   
    201208    // If in Atlas editor, disable the exit button
    202209    if (Engine.IsAtlasRunning())
    203210        Engine.GetGUIObjectByName("menuExitButton").enabled = false;
    204211
    205212    if (hotloadData)