Changeset 5104


Ignore:
Timestamp:
03/11/10 18:15:33 (10 years ago)
Author:
ronosman
Message:

Feature 1496 added : display a message in the photo selection when it is empty.

Location:
extensions/pLoader/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/pLoader/trunk/locale/fr_FR/pLoader.po

    r5103 r5104  
    658658msgid "Changes apply to the whole batch" 
    659659msgstr "Les modifications s'appliquent à toutes les photos de la sélection" 
     660 
     661msgid "Drag photos here to get started" 
     662msgstr "Glissez-déposez vos photos ici pour démarrer" 
     663 
     664msgid "Or click" 
     665msgstr "Ou cliquez sur" 
     666 
     667msgid "to choose files on your computer" 
     668msgstr "pour choisir des fichiers de votre ordinateur" 
  • extensions/pLoader/trunk/src/Uploader/GUI/Frame.pm

    r5103 r5104  
    4343             wxBITMAP_TYPE_ANY 
    4444             wxTB_FLAT 
     45             wxTB_TEXT 
    4546             wxSIZE 
    4647             wxWHITE 
     
    7980             wxHORIZONTAL 
    8081             wxVERTICAL 
     82             wxEXPAND 
    8183         /; 
    8284use base qw/Wx::Frame Class::Accessor::Fast/; 
     
    101103          logwnd 
    102104          oldlogwnd 
    103           getting_started 
    104105          categories 
    105106          imagelist 
     
    728729    ); 
    729730 
     731    # message displayed in the image listctrl when empty 
     732    $self->imageviewer->InitEmptyMsg; 
    730733 
    731734    $self->init_panels; 
     
    765768        ); 
    766769        
     770        $self->OnUpdateImageviewerNotEmpty; 
     771    } 
     772    else{ 
     773        $self->OnUpdateImageviewerEmpty; 
    767774    } 
    768775 
    769776    # the imageviewer has a stretch factor of 1 : expands its size on frame resize 
    770     $sizer_h->AddWindow( $self->imageviewer, 1, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL||wxSHAPED, 2 ); 
    771     $sizer_h->AddWindow( $self->dlg_piwigo_photo_properties, 0, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL||wxSHAPED, 2 ); 
     777    $sizer_h->Add( $self->imageviewer, 1, wxEXPAND|wxALL, 2 ); 
     778    $sizer_h->Add( $self->dlg_piwigo_photo_properties, 0, wxEXPAND|wxALL, 2 ); 
     779 
     780 
    772781    $self->SetSizer( 
    773782        $sizer_h 
    774783    ); 
    775  
    776     $sizer_h->SetSizeHints( 
     784    my $new_size = $sizer_h->Fit( 
    777785        $self 
    778786    ); 
    779  
    780  
    781  
    782 } 
     787    $self->SetMinSize([600, 500]); 
     788    $self->Center; 
     789} 
     790 
     791sub OnUpdateImageviewerEmpty { 
     792    my ( $self ) = @_; 
     793 
     794    $self->dlg_piwigo_photo_properties->Enable(0); 
     795    $self->imageviewer->OnEmpty; 
     796} 
     797 
     798sub OnUpdateImageviewerNotEmpty { 
     799    my ( $self ) = @_; 
     800 
     801    $self->dlg_piwigo_photo_properties->Enable(1); 
     802    $self->imageviewer->OnNotEmpty; 
     803} 
     804 
    783805 
    784806sub _refresh_settings_panels_properties { 
     
    842864    my ( $self ) = @_; 
    843865     
    844     $self->getting_started( 
    845         Uploader::GUI::wxHtmlWindow->new( 
    846             {     
    847                 html => $self->_gs_html( 
    848                     { 
    849                         label   => gettext("Click links below to start using pLoader."), 
    850                         lnk1    => gettext("Add a new album."), 
    851                         lnk2    => gettext("Add photos to the selection."), 
    852                         lnk3    => gettext("Upload the photo selection into your album."), 
    853                     } 
    854                 ), 
    855                 caption => gettext("Getting started"), 
    856                 size => [450, 350], 
    857             } 
    858         ) 
    859     ); 
    860      
    861      
    862     $self->getting_started->InitHrefCallbacks( 
    863         { 
    864             new_album => sub {$self->OnAddCategories(@_) }, 
    865             add_photos => sub { $self->OnAddImages(@_) }, 
    866             upload_photos => sub { $self->ProcessImageSelection(@_)},     
    867         } 
    868     ); 
    869     $self->getting_started->Hide; 
    870      
    871866    $self->_init_settings_panels;     
    872867} 
    873868 
    874869# HTML code for getting started dialog box 
    875 sub _gs_html { 
    876     my ( $self, $params ) = @_; 
    877  
    878  
    879    my $logo = File::Spec->catfile(wxTheApp->root_dir, wxTheApp->resource_dir, 'piwigo_logo.PNG'); 
    880  
    881  
    882     my $html = '<html>'; 
    883     $html .= '<body text="#E15918" link="#E15918">'; 
    884     $html .= '<font size=5 face="verdana, arial">'; 
    885     $html .= '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>'; 
    886     $html .= sprintf("<img src=\"%s\" /><br /><br />", $logo); 
    887     $html .= $params->{label}; 
    888     $html .= "<br /><br /><br />"; 
    889     $html .= '1. <a href="new_album">'; 
    890     $html .= $params->{lnk1}; 
    891     $html .= '</a><br /><br />'; 
    892     $html .= '2. <a href="add_photos">'; 
    893     $html .= $params->{lnk2}; 
    894     $html .= '</a><br /><br />'; 
    895     $html .= '3. <a href="upload_photos">'; 
    896     $html .= $params->{lnk3}; 
    897     $html .= '</a><br /><br />'; 
    898  
    899     $html .= '</font></body></html>'; 
    900  
    901     $html; 
    902 } 
    903870 
    904871 
     
    937904} 
    938905 
    939 sub OnGettingStarted { 
    940     my ( $self ) = @_; 
    941  
    942     $self->getting_started->Show(1); 
    943 } 
    944906 
    945907sub OnGlobalSettings { 
     
    12101172    my ( $self ) = @_ ; 
    12111173     
    1212     Wx::Event::EVT_MENU( $self, 100, \&OnGettingStarted ); 
    12131174    Wx::Event::EVT_MENU( $self, 101, \&OnAddImages ); 
    12141175    Wx::Event::EVT_MENU( $self, 102, \&OnRemoveImages ); 
     
    12401201 
    12411202    Wx::Event::EVT_BUTTON( $self, $main::PHOTO_PROPERTIES_UPLOAD, \&OnUploadImages ); 
     1203    Wx::Event::EVT_BUTTON( $self, $self->imageviewer->add_button->GetId, \&OnAddImages ); 
    12421204 
    12431205} 
     
    12981260        $self->piwigo_photo_properties_tags->ClearAllSelection; 
    12991261        $self->imagelist->SetCurrentImage(-1); 
    1300     } 
     1262        $self->OnUpdateImageviewerEmpty; 
     1263    } 
     1264    else{ 
     1265        $self->OnUpdateImageviewerNotEmpty; 
     1266    } 
     1267 
    13011268    if(!$self->multi_selection_mode){ 
    13021269        $self->OnUpdateSingleSelectionModeUI; 
     
    16871654    $self->imageviewer->Refresh; 
    16881655 
    1689     $self->image_preview->image( 
    1690         0 
    1691     ) if !$self->imageviewer->GetItemCount; 
    1692  
     1656    if(!$self->imageviewer->GetItemCount){ 
     1657        $self->image_preview->image(0); 
     1658        $self->OnUpdateImageviewerEmpty; 
     1659    } 
    16931660    # reset previous selection 
    16941661    $self->imagelist->image_selection( 
     
    18081775        $wximagelist 
    18091776    ); 
     1777 
     1778    $self->OnUpdateImageviewerNotEmpty if $self->imageviewer->GetItemCount; 
    18101779 
    18111780    Wx::Yield(); 
     
    19341903    $self->image_preview->Destroy; 
    19351904    $self->image_prop_exif->Destroy; 
    1936     $self->getting_started->Destroy; 
    19371905 
    19381906    $self->progressdlg->Destroy if defined $self->progressdlg; 
     
    19661934    } 
    19671935    ( 
    1968         [ 
    1969             100,  
    1970             gettext("Getting started"),  
    1971             wxTheApp->resource_path('tb_getting_started.png'),  
    1972             wxBITMAP_TYPE_PNG,  
    1973             1,  
    1974             wxTheApp->resource_path('tb_getting_started.png'),  
    1975             gettext("Display getting started panel") 
    1976         ], 
    19771936        [ 
    19781937            101,  
  • extensions/pLoader/trunk/src/Uploader/GUI/wxImageListCtrl.pm

    r5041 r5104  
    2323use Wx::DND; 
    2424use POSIX qw(ceil floor); 
     25use Wx::Locale qw/:default/; 
    2526use Wx qw/ 
    2627             wxDefaultPosition 
     
    4748             wxIMAGE_LIST_SMALL 
    4849             wxTheApp 
     50             wxVERTICAL 
     51             wxALIGN_CENTER 
     52             wxHORIZONTAL 
     53             wxALIGN_CENTER_VERTICAL 
     54             wxALIGN_CENTER_HORIZONTAL 
     55             wxALL 
     56             wxGROW 
     57             wxWHITE 
     58             wxSWISS  
     59             wxNORMAL 
     60             wxBOLD 
     61             wxBITMAP_TYPE_PNG 
    4962         /; 
    5063use Wx::Event qw/ 
     
    8396        -1, 
    8497        wxDefaultPosition, 
    85         [ 180, -1], 
     98        [ -1, -1], 
    8699    ); 
    87100     
     
    110123 
    111124    $self->prevItemCount(-1); 
     125 
    112126 
    113127    EVT_LIST_BEGIN_DRAG( $self, $self, \&OnBeginDrag); 
     
    135149                $self->Refresh;  
    136150                $self->change_display_mode(0); 
    137         } 
    138         $event->Skip; 
    139         } 
    140     ); 
     151            } 
     152            $event->Skip; 
     153        } 
     154    ); 
     155 
     156    # manages empty panel position 
     157    Wx::Event::EVT_PAINT( $self, sub { 
     158            my ( $self, $event ) = @_; 
     159            if(exists $self->{_empty_panel}){ 
     160                my ($w, $h) = $self->GetSizeWH; 
     161                my ($x, $y) = $self->GetPositionXY; 
     162                my ($wp, $hp) = $self->{_empty_panel}->GetSizeWH; 
     163                my $x_off = ($w-$wp)/3 > 0 ? ($w-$wp)/3 : 0; 
     164                my $y_off = ($h-$hp)/3 > 0 ? ($h-$hp)/3 : 0; 
     165                $self->{_empty_panel}->Move( 
     166                    [ $x+$x_off, $y+$y_off ] 
     167                ); 
     168            } 
     169            $event->Skip; 
     170        } 
     171    ); 
     172 
    141173     
    142174    $self->initialize( 
     
    353385} 
    354386 
     387sub OnEmpty { 
     388    my ( $self ) = @_; 
     389 
     390    $self->_OnEmptyLayout; 
     391 
     392} 
     393 
     394sub OnNotEmpty { 
     395    my ( $self ) = @_; 
     396 
     397    $self->{_empty_panel}->Show(0) if exists $self->{_empty_panel}; 
     398} 
     399 
     400sub _OnEmptyLayout { 
     401 
     402    my( $self ) = @_; 
     403    $self->{_empty_panel}->Show(1); 
     404 
     405} 
     406 
     407sub add_button { 
     408    my ( $self ) = @_; 
     409 
     410    $self->{_add_bt}; 
     411} 
     412 
     413sub InitEmptyMsg { 
     414 
     415    my ( $self ) = @_; 
     416    # add a panel 
     417    my $empty_panel = Wx::Panel->new($self, -1, wxDefaultPosition, wxDefaultSize); 
     418    my( $item0 ) = Wx::BoxSizer->new( wxVERTICAL ); 
     419     
     420    my $fb = Wx::Font->new( 12, wxSWISS, wxNORMAL, wxBOLD ); 
     421    my $fn = Wx::Font->new( 12, wxSWISS, wxNORMAL, wxNORMAL ); 
     422 
     423    my( $item1 ) = Wx::StaticText->new( $empty_panel, -1, gettext("Drag photos here to get started"), wxDefaultPosition, wxDefaultSize, 0 ); 
     424    $item1->SetFont($fb); 
     425    $item0->AddWindow( $item1, 0, wxALIGN_CENTER|wxALL, 5 ); 
     426 
     427    my( $item2 ) = Wx::BoxSizer->new( wxHORIZONTAL ); 
     428     
     429    my( $item3 ) = Wx::StaticText->new( $empty_panel, -1, gettext("Or click"), wxDefaultPosition, wxDefaultSize, 0 ); 
     430    $item3->SetFont($fn); 
     431    $item2->AddWindow( $item3, 0, wxALIGN_CENTER|wxALL, 5 ); 
     432 
     433    my $icon1 = Wx::Icon->new(); 
     434    eval { 
     435        $icon1->LoadFile( 
     436            wxTheApp->resource_path('tb_add.png'), 
     437            wxBITMAP_TYPE_PNG 
     438        ); 
     439    }; 
     440    my $bmp = Wx::Bitmap->new( $icon1 ); 
     441 
     442    my( $item4 ) = Wx::BitmapButton->new( $empty_panel, -1, $bmp, wxDefaultPosition, wxDefaultSize ); 
     443    $item2->AddWindow( $item4, 0, wxALIGN_CENTER|wxALL, 5 ); 
     444 
     445    my( $item5 ) = Wx::StaticText->new( $empty_panel, -1, gettext("to choose files on your computer"), wxDefaultPosition, wxDefaultSize, 0 ); 
     446    $item5->SetFont($fn); 
     447    $item2->AddWindow( $item5, 0, wxALIGN_CENTER|wxALL, 5 ); 
     448 
     449    $item0->Add( $item2, 0, wxALIGN_CENTER|wxALL, 0 ); 
     450 
     451    $empty_panel->SetSizer( $item0 ); 
     452    $item0->SetSizeHints( $empty_panel ); 
     453 
     454    $self->{_empty_panel} = $empty_panel; 
     455    $self->{_add_bt} = $item4; 
     456    $self->{_empty_panel}->SetBackgroundColour(wxWHITE); 
     457 
     458    my ($wp, $hp) = $self->{_empty_panel}->GetSizeWH; 
     459 
     460    $self->SetMinSize( [20+$wp, -1 ]); 
     461 
     462} 
     463 
     464 
     465 
    3554661; 
    356467 
Note: See TracChangeset for help on using the changeset viewer.