]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/dialog_multiplayer_profile.qc
Keep Apply buttons disabled, enable them as soon as user changes some setting that...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_profile.qc
index 12adbfc2aaa6c2e70c2fa150a445bdf85e433c5b..6c753a98c669e3beb29c53425b9658fa4193a30c 100644 (file)
@@ -33,6 +33,15 @@ void XonoticProfileTab_fill(entity me)
 {
        entity e, pms, label, box;
        float i;
+       entity profileApplyButton = makeXonoticCommandButton(_("Apply immediately"), '0 0 0',
+               "color -1 -1;"
+               "name \"$_cl_name\";"
+               "playermodel $_cl_playermodel;"
+               "playerskin $_cl_playerskin;"
+               "sendcvar cl_allow_uidtracking;"
+               "sendcvar cl_allow_uid2name;"
+               , COMMANDBUTTON_APPLY);
+       profileApplyButton.disableOnClick = true;
 
        // ==============
        //  NAME SECTION
@@ -75,10 +84,12 @@ void XonoticProfileTab_fill(entity me)
                me.TD(me, 1, 0.3, e = makeXonoticButton("<<", '0 0 0'));
                        e.onClick = PlayerModelSelector_Prev_Click;
                        e.onClickEntity = pms;
+                       e.applyButton = profileApplyButton;
                me.TD(me, 11.5, 1.4, pms);
                me.TD(me, 1, 0.3, e = makeXonoticButton(">>", '0 0 0'));
                        e.onClick = PlayerModelSelector_Next_Click;
                        e.onClickEntity = pms;
+                       e.applyButton = profileApplyButton;
 
        //me.setFirstColumn(me, me.currentColumn + 2); // MODEL LEFT, COLOR RIGHT
        me.gotoRC(me, me.currentRow, 0); me.setFirstColumn(me, me.currentColumn); // MODEL RIGHT, COLOR LEFT
@@ -89,6 +100,7 @@ void XonoticProfileTab_fill(entity me)
                        if(mod(i, 5) == 0)
                                me.TR(me);
                        me.TDNoMargin(me, 1, 0.2, e = makeXonoticColorButton(1, 0, i), '0 1 0');
+                               e.applyButton = profileApplyButton;
                }
        me.TR(me);
        me.TR(me);
@@ -98,6 +110,7 @@ void XonoticProfileTab_fill(entity me)
                        if(mod(i, 5) == 0)
                                me.TR(me);
                        me.TDNoMargin(me, 1, 0.2, e = makeXonoticColorButton(2, 1, i), '0 1 0');
+                               e.applyButton = profileApplyButton;
                }
 
        // ====================
@@ -111,10 +124,12 @@ void XonoticProfileTab_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.25);
                me.TD(me, 1, 2.5, e = makeXonoticCheckBox(0, "cl_allow_uidtracking", _("Allow player statistics to track your client")));
+                       e.applyButton = profileApplyButton;
        me.TR(me);
                me.TDempty(me, 0.25);
                me.TD(me, 1, 2.5, e = makeXonoticCheckBox(0, "cl_allow_uid2name", _("Allow player statistics to use your nickname")));
-               setDependent(e, "cl_allow_uidtracking", 1, 1);
+                       e.applyButton = profileApplyButton;
+                       setDependent(e, "cl_allow_uidtracking", 1, 1);
        me.gotoRC(me, 4, 3.1); // TOP RIGHT
        //me.gotoRC(me, 12.5, 3.1); // BOTTOM RIGHT
        //me.gotoRC(me, 12.5, 0); // BOTTOM LEFT
@@ -161,6 +176,6 @@ void XonoticProfileTab_fill(entity me)
        #endif
 
        me.gotoRC(me, me.rows - 1, 0);
-               me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "color -1 -1;name \"$_cl_name\";playermodel $_cl_playermodel;playerskin $_cl_playerskin; sendcvar cl_allow_uidtracking; sendcvar cl_allow_uid2name;", COMMANDBUTTON_APPLY));
+               me.TD(me, 1, me.columns, profileApplyButton);
 }
 #endif