Mercurial > hg > rc1
changeset 1:5821049f1791
most of the way to allowing arbitrarily many labels
author | Charlie Root |
---|---|
date | Thu, 04 Jan 2018 16:23:36 -0500 |
parents | 1e000243b222 |
children | c828b0fd4a6e |
files | plugins/thunderbird_labels/config.inc.php plugins/thunderbird_labels/localization/en_US.inc plugins/thunderbird_labels/tb_label.js plugins/thunderbird_labels/thunderbird_labels.php |
diffstat | 4 files changed, 36 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/thunderbird_labels/config.inc.php Thu Jan 04 15:50:29 2018 -0500 +++ b/plugins/thunderbird_labels/config.inc.php Thu Jan 04 16:23:36 2018 -0500 @@ -9,4 +9,5 @@ $rcmail_config['tb_label_modify_labels'] = true; // style for UI: 'bullets' or 'thunderbird' $rcmail_config['tb_label_style'] = "bullets"; - + // Maximum label id + $rcmail_config['tb_max_label'] = 6;
--- a/plugins/thunderbird_labels/localization/en_US.inc Thu Jan 04 15:50:29 2018 -0500 +++ b/plugins/thunderbird_labels/localization/en_US.inc Thu Jan 04 16:23:36 2018 -0500 @@ -13,6 +13,7 @@ $labels['label3'] = 'Personal'; $labels['label4'] = 'To do'; $labels['label5'] = 'Later'; +$labels['label6'] = 'new'; $labels['tb_label_options'] = 'Thunderbird Labels Options'; $labels['tb_label_enable_option'] = 'Enable labels';
--- a/plugins/thunderbird_labels/tb_label.js Thu Jan 04 15:50:29 2018 -0500 +++ b/plugins/thunderbird_labels/tb_label.js Thu Jan 04 16:23:36 2018 -0500 @@ -181,7 +181,7 @@ function rcm_tb_label_create_popupmenu() { - for (i = 0; i < 6; i++) + for (i = 0; i < 7; i++) { var cur_a = $('li.label' + i +' a'); @@ -197,7 +197,7 @@ function rcm_tb_label_init_onclick() { - for (i = 0; i < 6; i++) + for (i = 0; i < 7; i++) { // find the "HTML a tags" of tb-label submenus var cur_a = $('#tb_label_popup li.label' + i +' a'); @@ -219,7 +219,7 @@ if (toggle_label_no == 0) { from = 1; - to = 6; + to = 7; unset_all = true; } for (i = from; i < to; i++)
--- a/plugins/thunderbird_labels/thunderbird_labels.php Thu Jan 04 15:50:29 2018 -0500 +++ b/plugins/thunderbird_labels/thunderbird_labels.php Thu Jan 04 16:23:36 2018 -0500 @@ -45,13 +45,11 @@ $this->name = get_class($this); # -- additional TB flags - $this->add_tb_flags = array( - 'LABEL1' => '$Label1', - 'LABEL2' => '$Label2', - 'LABEL3' => '$Label3', - 'LABEL4' => '$Label4', - 'LABEL5' => '$Label5', - ); + $this->add_tb_flags = array(); + $max_id = $this->rc->config->get('tb_max_label'); + for ($i = 1; $i <= $max_id; $i++) { + $this->add_tb_flags['LABEL'.$i]='$Label'.$i; + } $this->message_tb_labels = array(); $this->add_button( @@ -77,8 +75,12 @@ && $this->require_plugin('contextmenu') && $this->rc->config->get('tb_label_enable_contextmenu')) { - if ($this->rc->action == '') + if ($this->rc->action == 'list') $this->add_hook('render_mailboxlist', array($this, 'show_tb_label_contextmenu')); + rcube::write_log('lab','ctxt: '.$this->rc->action); + } + else { + rcube::write_log('lab','no ctxt'); } } elseif ($this->rc->task == 'settings') @@ -96,14 +98,13 @@ if (empty($c)) { // if no user specific labels, use localized strings by default - $this->rc->config->set('tb_label_custom_labels', array( - 0 => $this->getText('label0'), - 1 => $this->getText('label1'), - 2 => $this->getText('label2'), - 3 => $this->getText('label3'), - 4 => $this->getText('label4'), - 5 => $this->getText('label5') - )); + $max_id = $this->rc->config->get('tb_max_label'); + $tb_flag_text = array(); + for ($i = 0; $i <= $max_id; $i++) { + $tb_flag_text[$i] = $this->getText('label'.$i); + } + $this->rc->config->set('tb_label_custom_labels', + tb_flag_text); } // pass label strings to JS $this->rc->output->set_env('tb_label_custom_labels', $this->rc->config->get('tb_label_custom_labels')); @@ -183,7 +184,8 @@ && $this->rc->config->get('tb_label_modify_labels')) { $old = $this->rc->config->get($key); - for($i=1; $i<=5; $i++) + $max_id = $this->rc->config->get('tb_max_label'); + for($i=1; $i<=$max_id; $i++) { $input = new html_inputfield(array( 'name' => $key.$i, @@ -224,14 +226,12 @@ if (!in_array('tb_label_custom_labels', $dont_override) && $this->rc->config->get('tb_label_modify_labels')) { - $args['prefs']['tb_label_custom_labels'] = array( - 0 => $this->gettext('label0'), - 1 => rcube_utils::get_input_value('tb_label_custom_labels1', rcube_utils::INPUT_POST), - 2 => rcube_utils::get_input_value('tb_label_custom_labels2', rcube_utils::INPUT_POST), - 3 => rcube_utils::get_input_value('tb_label_custom_labels3', rcube_utils::INPUT_POST), - 4 => rcube_utils::get_input_value('tb_label_custom_labels4', rcube_utils::INPUT_POST), - 5 => rcube_utils::get_input_value('tb_label_custom_labels5', rcube_utils::INPUT_POST) - ); + $max_id = $this->rc->config->get('tb_max_label'); + $tb_lab_prefs = array(); + $tb_lab_prefs[0] = $this->gettext('label0'); + for ($i = 1; $i <= $max_id; $i++) { + $tb_lab_prefs[$i] = rcube_utils::get_input_value('tb_label_custom_labels'.$i, rcube_utils::INPUT_POST); + } } return $args; @@ -240,7 +240,7 @@ public function show_tb_label_contextmenu($args) { #$this->api->output->add_label('copymessage.copyingmessage'); - + rcube::write_log('lab',"stblc"); $li = html::tag('li', array('class' => 'submenu'), '<span>'.rcube::Q($this->gettext('tb_label_contextmenu_title')).'</span>' . $this->_gen_label_submenu($args, 'tb_label_ctxm_submenu')); @@ -252,7 +252,8 @@ { $out = ''; $custom_labels = $this->rc->config->get('tb_label_custom_labels'); - for ($i = 0; $i < 6; $i++) + $max_id = $this->rc->config->get('tb_max_label'); + for ($i = 0; $i <= $max_id; $i++) { $separator = ($i == 0)? ' separator_below' :''; $out .= '<li class="label'.$i.$separator. @@ -365,9 +366,10 @@ function tb_label_popup() { $custom_labels = $this->rc->config->get('tb_label_custom_labels'); + $max_id = $this->rc->config->get('tb_max_label'); $out = '<div id="tb_label_popup" class="popupmenu"> <ul class="toolbarmenu">'; - for ($i = 0; $i < 6; $i++) + for ($i = 0; $i <= $max_id; $i++) { $separator = ($i == 0)? ' separator_below' :''; $out .= '<li class="label'.$i.$separator.'"><a href="#" class="active">'.$i.' '.$custom_labels[$i].'</a></li>';