diff --git a/airtime_mvc/application/forms/SmartPlaylistCriteria.php b/airtime_mvc/application/forms/SmartPlaylistCriteria.php index 5a480fafa..99256bac2 100644 --- a/airtime_mvc/application/forms/SmartPlaylistCriteria.php +++ b/airtime_mvc/application/forms/SmartPlaylistCriteria.php @@ -205,8 +205,16 @@ class Application_Form_SmartPlaylistCriteria extends Zend_Form_SubForm $save = new Zend_Form_Element_Button('save_button'); $save->setAttrib('class', 'ui-button ui-state-default right-floated'); $save->setIgnore(true); - $save->setLabel('Generate'); + $save->setLabel('Save'); + $save->setDecorators(array('viewHelper')); $this->addElement($save); + + $generate = new Zend_Form_Element_Button('generate_button'); + $generate->setAttrib('class', 'ui-button ui-state-default right-floated'); + $generate->setIgnore(true); + $generate->setLabel('Generate'); + $generate->setDecorators(array('viewHelper')); + $this->addElement($generate); } diff --git a/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml b/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml index 6b0302765..f5fd85a58 100644 --- a/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml +++ b/airtime_mvc/application/views/scripts/form/smart-playlist-criteria.phtml @@ -27,7 +27,7 @@ <?php echo $this->element->getElement('sp_criteria_modifier_'.$i) ?> <?php echo $this->element->getElement('sp_criteria_value_'.$i) ?><span id="extra_criteria" <?php echo $this->element->getElement('sp_criteria_extra_'.$i)->getAttrib("disabled") == "disabled"?'style="display:none;"':""?>> to <?php echo $this->element->getElement('sp_criteria_extra_'.$i) ?></span> <?php if ($i != 0) { ?> - <a class='ui-button sp-add sp-ui-button-icon-only' id='criteria_remove_<?php echo $i ?>'> + <a class='ui-button sp-ui-button-icon-only' id='criteria_remove_<?php echo $i ?>'> <span class='ui-icon ui-icon-closethick'></span> </a> <?php } ?> @@ -45,10 +45,10 @@ <?php echo $this->element->getElement('sp_limit_options') ?> </label> </dd> - - <dd id='sp_save'> - <?php echo $this->element->getElement('save_button') ?> - </dd> + <dd id='action_buttons'> + <?php echo $this->element->getElement('save_button') ?> + <?php echo $this->element->getElement('generate_button') ?> + </dd> </dl> </fieldset> diff --git a/airtime_mvc/application/views/scripts/playlist/playlist.phtml b/airtime_mvc/application/views/scripts/playlist/playlist.phtml index 5f958318c..ef78a1caa 100644 --- a/airtime_mvc/application/views/scripts/playlist/playlist.phtml +++ b/airtime_mvc/application/views/scripts/playlist/playlist.phtml @@ -31,9 +31,7 @@ </dl> </fieldset> - <?php - - echo $this->form; ?> + <?php echo $this->form; ?> <div id="crossfade_main" class="crossfade-main clearfix" style="display:none;"> <span class="ui-icon ui-icon-closethick"></span> diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css index ad0fd1f44..e290c1dec 100644 --- a/airtime_mvc/public/css/styles.css +++ b/airtime_mvc/public/css/styles.css @@ -439,8 +439,12 @@ input.input_text.sp_extra_input_text{ left: 50%; } -.sp-add .sp-ui-button-icon-only .ui-icon{ - left: 90% !important; +.sp-add.sp-ui-button-icon-only .ui-icon{ + margin-left: 20px !important; +} + +.sp-ui-button-icon-only .ui-icon-closethick:hover, .sp-ui-button-icon-only .ui-icon-plusthick:hover { + background-image:url(redmond/images/ui-icons_ff5d1a_256x240.png) } label { diff --git a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js index fe4a0b89b..a0078aab4 100644 --- a/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/playlist/smart_playlistbuilder.js @@ -111,31 +111,29 @@ function setSmartPlaylistEvents() { form.find('button[id="save_button"]').live("click", function(event){ var playlist_type = form.find('input:radio[name=sp_type]:checked').val(), data = $('form').serializeArray(), - static_action = 'Playlist/smart-playlist-generate', - dynamic_action ='Playlist/smart-playlist-criteria-save', - action, - callback, + save_action = 'Playlist/smart-playlist-criteria-save', + playlist_id = $('input[id="pl_id"]').val(); + + $.post(save_action, {format: "json", data: data, pl_id: playlist_id}, saveCallback); + }); + + form.find('button[id="generate_button"]').live("click", function(event){ + var playlist_type = form.find('input:radio[name=sp_type]:checked').val(), + data = $('form').serializeArray(), + generate_action = 'Playlist/smart-playlist-generate', playlist_id = $('input[id="pl_id"]').val(); - if (playlist_type == "0") { - action = static_action; - callback = staticCallback; - } else { - action = dynamic_action; - callback = dynamicCallback; - } - $.post(action, {format: "json", data: data, pl_id: playlist_id}, callback); + $.post(generate_action, {format: "json", data: data, pl_id: playlist_id}, generateCallback); }); form.find('dd[id="sp_type-element"]').live("change", function(){ - var playlist_type = $('input:radio[name=sp_type]:checked').val(), - button_text; + var playlist_type = $('input:radio[name=sp_type]:checked').val(); if (playlist_type == "0") { - button_text = 'Generate'; + $('button[id="generate_button"]').show(); + } else { - button_text = 'Save'; - } - $('button[id="save_button"]').text(button_text); + $('button[id="generate_button"]').hide(); + } }); form.find('select[id^="sp_criteria"]:not([id^="sp_criteria_modifier"])').live("change", function(){ @@ -176,7 +174,7 @@ function disableAndHideExtraField(valEle, index) { spanExtra.children('#sp_criteria_extra_'+index).val("").attr("disabled", "disabled"); spanExtra.hide(); - //make value input larger because we don't have extra field now + //make value input larger since we don't have extra field now var criteria_value = $('#sp_criteria_value_'+index); sizeTextBoxes(criteria_value, 'sp_extra_input_text', 'sp_input_text'); } @@ -209,7 +207,7 @@ function populateModifierSelect(e) { } } -function staticCallback(data) { +function generateCallback(data) { var form = $('#smart-playlist-form'); form.find('span[class="errors sp-errors"]').remove(); var json = $.parseJSON(data); @@ -229,7 +227,7 @@ function staticCallback(data) { } } -function dynamicCallback(json) { +function saveCallback(json) { var form = $('#smart-playlist-form'); form.find('span[class="errors sp-errors"]').remove(); var json = $.parseJSON(json); @@ -247,8 +245,8 @@ function dynamicCallback(json) { } function appendAddButton(rows) { - var add_button = "<a class='ui-button sp-ui-button-icon-only' id='criteria_add' class='criteria_add'>" + - "<span class='ui-icon ui-icon-plusthick'</span></a>"; + var add_button = "<a class='ui-button sp-add sp-ui-button-icon-only' id='criteria_add' class='criteria_add'>" + + "<span class='ui-icon ui-icon-plusthick'></span></a>"; if (rows.find('select[name^="sp_criteria_field"]:enabled').length > 1) { rows.find('select[name^="sp_criteria_field"]:enabled:last') @@ -256,7 +254,7 @@ function appendAddButton(rows) { .after(add_button); } else { rows.find('select[name^="sp_criteria_field"]:enabled') - .siblings('[name^="sp_criteria_value"]') + .siblings('input:last') .after(add_button); } } diff --git a/python_apps/pypo/liquidsoap_bin b/python_apps/pypo/liquidsoap_bin index 0653ec0b8..492242f4b 160000 --- a/python_apps/pypo/liquidsoap_bin +++ b/python_apps/pypo/liquidsoap_bin @@ -1 +1 @@ -Subproject commit 0653ec0b89362921f075af96ee8772538b801a7c +Subproject commit 492242f4bb7367afebbf2f096067cb5a5d3c0449