Changeset 4801 for extensions/pLoader


Ignore:
Timestamp:
Jan 30, 2010, 1:31:37 PM (14 years ago)
Author:
ronosman
Message:

Feature 1417 added : ability to define tags for a photo selection.

Location:
extensions/pLoader/trunk/src/Uploader
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/pLoader/trunk/src/Uploader/GUI/Frame.pm

    r4784 r4801  
    632632    );   
    633633
     634    #$self->image_tags(
     635    #    sub { eval { $self->imagelist->current_image->site_tags(@_) } }
     636    #);
    634637    $self->image_tags(
    635         sub { eval { $self->imagelist->current_image->site_tags(@_) } }
     638        sub { scalar @{$self->imagelist->image_selection} > 1 ? $self->imagelist->SetImageSelectionTags(@_) : $self->imagelist->current_image->site_tags(@_)||[] }
    636639    );
    637640
     
    11931196    Wx::Event::EVT_LIST_ITEM_ACTIVATED( $self, $self->imageviewer, \&OnImageViewerItemActivated );
    11941197    Wx::Event::EVT_LIST_ITEM_SELECTED($self, $self->imageviewer, \&OnImageViewerItemSelected) ;
     1198    Wx::Event::EVT_LIST_ITEM_DESELECTED($self, $self->imageviewer, \&OnImageViewerItemDeSelected) ;
    11951199    Wx::Event::EVT_LIST_ITEM_RIGHT_CLICK($self, $self->imageviewer, \&OnImageViewerItemRightClick) ;
    11961200
     
    15071511}
    15081512
     1513sub OnImageViewerItemDeSelected {
     1514    my( $self, $event ) = @_;
     1515
     1516    my $bc = Wx::BusyCursor->new;
     1517    $self->_on_imageviewer_item_selection_changed;
     1518
     1519    $event->Skip;
     1520
     1521}
     1522
    15091523sub _on_imageviewer_item_selected {
    15101524    my ( $self, $index ) = @_;   
     
    15121526    $self->imagelist->SetCurrentImage($index);
    15131527   
     1528    $self->_on_imageviewer_item_selection_changed;
     1529}
     1530
     1531sub _on_imageviewer_item_selection_changed {
     1532    my ( $self ) = @_;   
     1533
    15141534    $self->imagelist->image_selection(
    15151535        $self->imageviewer->GetSelectedItems
    15161536    );
     1537
     1538    # for batch mode : reset the batch buffer if single selection
     1539    $self->imagelist->SetImageSelectionTags([]) if(scalar @{$self->imagelist->image_selection} > 1);
    15171540
    15181541    # process image_preview in idle time
  • extensions/pLoader/trunk/src/Uploader/ImageList.pm

    r4779 r4801  
    2727use Uploader::Image;
    2828use Data::Dumper;
     29use List::MoreUtils qw/uniq/;
    2930use Storable;
    3031use Digest::MD5::File qw/file_md5_hex md5_hex/;
     
    127128                display_mode
    128129                stop_processing
     130                image_selection_tags
    129131     /
    130132);
     
    134136    my ( $self ) = @_;
    135137   
     138    $self->image_selection([]) if !defined $self->image_selection;
    136139    $self->uploaded_images([]);
    137140    $self->gravity(
     
    156159    );
    157160   
     161    $self->image_selection_tags(
     162        []
     163    ) unless defined $self->image_selection_tags;
    158164}
    159165
     
    730736                reupload_action_properties_m
    731737                display_mode
     738                image_selection_tags
    732739            /
    733740        ]
     
    13881395}
    13891396
     1397sub SetImageSelectionTags {
     1398    my ( $self, $tags ) = @_;
     1399
     1400    $self->image_selection_tags($tags) if 'ARRAY' eq ref $tags;
     1401
     1402    #print Dumper $self->image_selection_tags;
     1403    # append to each image
     1404    # if multiple selection
     1405    if(scalar @{$self->image_selection} > 1){
     1406        map {
     1407            # need to dedup
     1408            my $tags = [
     1409                @{$self->GetImage($_)->site_tags},
     1410                @{$self->image_selection_tags},
     1411            ];
     1412            @$tags = uniq @$tags;
     1413            $self->GetImage($_)->site_tags(
     1414                $tags
     1415            );
     1416        }@{$self->image_selection};
     1417    }
     1418
     1419    $self->image_selection_tags;
     1420}
    13901421
    139114221;
Note: See TracChangeset for help on using the changeset viewer.