Changeset 3458 for extensions/pLoader


Ignore:
Timestamp:
Jun 25, 2009, 5:52:30 PM (15 years ago)
Author:
ronosman
Message:

Feature 1014 added : save layout configuration in a .pLoader.layout file.

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

Legend:

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

    r3456 r3458  
    302302          thumb_dir
    303303          conf_file
     304          layout_file
    304305          locale
    305306          current_language
     
    310311          branding
    311312          frame
     313          perspective
     314          imageviewerIndex
     315          frameLayout
    312316      /
    313317);
     
    331335    # to check if we can use stored cache
    332336    $self->imagelist_version(
    333         '3'
     337        '4'
    334338    );
    335339
     
    349353
    350354    my $conf = retrieve $self->conf_file if -e $self->conf_file;       
     355    my $layout = retrieve $self->layout_file if -e $self->layout_file; 
    351356
    352357    if(defined $conf ){
     
    355360    else {
    356361        $self->_readParams( 'pLoader.ini' ) unless defined $conf ;
     362    }
     363
     364    if(defined $layout ){
     365        $self->SetKeyValues($layout);
    357366    }
    358367
     
    467476            },
    468477            $self->conf_file
     478        );
     479    };
     480}
     481
     482sub StoreLayoutProperties {
     483    my ( $self ) = @_;
     484
     485    eval {   
     486        store(
     487            {
     488                map{
     489                   $_ => $self->{$_},
     490                }
     491                qw/
     492                      perspective
     493                      imageviewerIndex
     494                      frameLayout
     495                /
     496            },
     497            $self->layout_file
    469498        );
    470499    };
     
    540569        filter           => 'Lanczos',
    541570        blur             => 0.9,
    542         quality          => 100,
     571        quality          => 95,
    543572        wx_quality       => 80,
    544573        th_quality       => 90,
     
    658687    );
    659688
    660    
     689    $self->layout_file(
     690        File::Spec->catfile(
     691            $self->userdata_dir,
     692            ".$applicationName.layout"
     693        )
     694    );
    661695
    662696    $self->storable_file(
     
    895929    my ( $self ) = @_; 
    896930
    897     my $config = Wx::ConfigBase::Get;
    898 
    899     my $x = $config->ReadInt( "X", 50 );
    900     my $y = $config->ReadInt( "Y", 50 );
    901     my $w = $config->ReadInt( "Width", 1024 );
    902     my $h = $config->ReadInt( "height", 768 );
    903     my $prev_w = $config->ReadInt( "PreviewWidth", 400 );
    904     my $prev_h = $config->ReadInt( "PreviewHeight", 300 );
    905     my $perspective = $config->Read( "Perspective" );
    906     my $imageviewer_index = $config->ReadInt( "ImageviewerIndex", 0 );
    907    
    908     #printf("Config x %s, y %s, w %s, h %s, prev_w %s, prev_h %s\n", $x, $y, $w, $h, $prev_w, $prev_h);
    909    
    910931    my $url = $self->site_url;
    911932   
     
    917938        Uploader::GUI::wxFrameAUI->new(
    918939            {
    919                 x         => $x,
    920                 y         => $y,
    921                 width     => $w,
    922                 height    => $h,
    923940                title     => sprintf("pLoader - Piwigo uploader %s - [%s]", $self->version, $url),
    924941                pwg       => $self->pwg,
    925942                imagelist => $self->imagelist,
    926                 preview_w => $prev_w,
    927                 preview_h => $prev_h,
    928                 perspective => $perspective,
    929                 imageviewer_index => $imageviewer_index,
     943                perspective => $self->perspective,
     944                imageviewer_index => $self->imageviewerIndex,
     945                frameLayout => $self->frameLayout,
    930946            }
    931947        )
    932948    );
    933        
    934     $self->frame->SetSize( $x, $y, $w, $h );
     949 
    935950    $self->frame->Show( 1 );
    936951    $self->SetTopWindow( $self->frame );
  • extensions/pLoader/trunk/src/Uploader/GUI/wxFrameAUI.pm

    r3387 r3458  
    337337          toolbar
    338338          branding
    339           preview_w
    340           preview_h
    341339          perspective
    342340          current_imageviewer_index
     
    344342          tree_mnu
    345343          imageviewer_select_multi
     344          frameLayout
    346345      /;
    347346__PACKAGE__->mk_accessors( @properties );
     
    382381                                      undef,
    383382                                      -1,
    384                                       $params->{title}, 
    385                                       [ $params->{x}, $params->{y} ],
    386                                       [ $params->{width}, $params->{height} ],
     383                                      $params->{title},
     384                                      wxDefaultPosition,
     385                                      wxDefaultSize,
    387386                                      wxDEFAULT_FRAME_STYLE
    388387                                   );
    389     $self->preview_w(
    390         $params->{preview_w}||400
    391     );
    392 
    393     $self->preview_h(
    394         $params->{preview_h}||300
    395     );
     388
    396389   
    397390    $self->perspective(
     
    401394    $self->current_imageviewer_index(
    402395        $params->{imageviewer_index}||0
     396    );
     397   
     398    $self->frameLayout(
     399        $params->{frameLayout} || { 'pX' => -1, 'pY' => -1, W => 800, H => 600 }
    403400    );
    404401
     
    871868            $self,
    872869            -1,
    873             wxNullBitmap,
    874             wxDefaultPosition,
    875             [$self->preview_w, $self->preview_h]
     870            [400,300],
    876871        )
    877872    );
     
    954949        ->CenterPane->Position(1)->Resizable->CloseButton(0) );
    955950
    956     $self->manager->AddPane
    957       ( $self->create_tree, Wx::AuiPaneInfo->new->Name( "categories" )
    958         ->Right->Position( 0 )->Resizable->CloseButton(0) );
     951    $self->manager->AddPane(
     952        $self->create_tree,
     953        Wx::AuiPaneInfo->new->Name( "categories" )
     954        ->Right->Position( 0 )->Resizable->CloseButton(0),
     955    );
    959956
    960957
     
    970967        ->ToolbarPane->Top->Row( 1 )->LeftDockable( 0 )->RightDockable( 0 ) ) if defined $self->toolbar;
    971968
     969    $self->SetSize(
     970            $self->frameLayout->{pX},
     971            $self->frameLayout->{pY},
     972            $self->frameLayout->{W},
     973            $self->frameLayout->{H},
     974    );
     975
     976
    972977    if($self->perspective){
    973         $self->manager->LoadPerspective($self->perspective) if $self->perspective =~ /getting_started/;
     978        $self->manager->LoadPerspective($self->perspective);
     979    }
     980    else {
     981        $self->manager->GetPane("categories")->MinSize(300,100);
     982
     983        $self->manager->GetPane("tb1")->Caption( gettext("Tools") );
     984        $self->manager->GetPane("image_preview")->Caption(gettext("Preview"))->Show(0);
     985        $self->manager->GetPane("getting_started")->Caption(gettext("Getting started"))->Float->Show(1);
     986        $self->manager->GetPane("photo_properties")->Caption(gettext("Photo properties"))->Float->Show(0);
     987        $self->manager->GetPane("global_settings")->Caption(gettext("Global settings"))->Float->Show(0);
    974988    }
    975989
    976990    $self->manager->GetPane("categories")->Caption(
    977991          sprintf("%s - %s", sprintf("Piwigo %s", wxTheApp->branding->{categories}), $url )
    978       );
    979 
    980     $self->manager->GetPane("preview")->Caption(gettext("Preview"));
    981     $self->manager->GetPane("tb1")->Caption( gettext("Tools") );
    982     $self->manager->GetPane("photo_properties")->Caption(gettext("Photo properties"));
    983     $self->manager->GetPane("global_settings")->Caption(gettext("Global settings"));
    984     $self->manager->GetPane("getting_started")->Caption(gettext("Getting started"));
    985 
     992    );
    986993   
    987994    $self->manager->Update;
    988995
    989996}
     997
    990998
    991999sub _init_aui_settings_panels {
     
    9931001
    9941002    $self->manager->AddPane
    995       ( $self->image_preview, Wx::AuiPaneInfo->new->Name( "preview" )
     1003      ( $self->image_preview, Wx::AuiPaneInfo->new->Name( "image_preview" )
    9961004        ->Floatable(1)->Fixed->CloseButton(1));
    997 
    9981005
    9991006    $self->manager->AddPane
     
    10011008       ->Floatable(1)->Resizable->CloseButton(1) );
    10021009
    1003 
    10041010    $self->manager->AddPane
    10051011      ( $self->create_notebook_image_properties, Wx::AuiPaneInfo->new->Name( "photo_properties" )
     
    10101016        ->Floatable(1)->Resizable->CloseButton(1) );
    10111017
    1012     $self->manager->GetPane("preview")->Show(0);
    1013     $self->manager->GetPane("photo_properties")->Show(0);
    1014     $self->manager->GetPane("global_settings")->Show(0);
    1015     $self->manager->GetPane("getting_started")->Float;
    1016     $self->manager->GetPane("getting_started")->Show(1);
    1017        
    10181018}
    10191019
     
    10291029    my ( $self ) = @_;
    10301030
    1031     $self->manager->GetPane("preview")->Float->Show(1);
     1031    $self->manager->GetPane("image_preview")->Float->Show(1);
    10321032    $self->manager->Update();   
    10331033       
     
    17011701
    17021702    my $size = [8+$bmp->GetWidth, 26+$bmp->GetHeight];
    1703     $self->manager->GetPane("preview")->FloatingSize($size);
     1703    $self->manager->GetPane("image_preview")->FloatingSize($size);
    17041704   
    17051705    $self->image_preview->Refresh;
     
    19421942    wxTheApp->login_dlg->Destroy;       
    19431943
    1944     my $params = {};
    1945 
    1946     ( $params->{'X'}, $params->{'Y'} ) = $self->GetPositionXY ;
    1947     ( $params->{'Width'}, $params->{'Height'} ) = $self->GetSizeWH ;
    1948     ( $params->{'PreviewWidth'}, $params->{'PreviewHeight'} ) = $self->image_preview->GetSizeWH ;
    1949     $params->{Perspective} = $self->manager->SavePerspective;
    1950     $params->{ImageviewerIndex} = $self->current_imageviewer_index;
    1951    
    1952 
    1953     wxTheApp->SaveConfig( $params );
     1944    wxTheApp->perspective(
     1945        $self->manager->SavePerspective
     1946    );
     1947   
     1948    wxTheApp->imageviewerIndex(
     1949        $self->current_imageviewer_index
     1950    );
     1951   
     1952    my $frameLayout = {};
     1953   
     1954    ( $frameLayout->{pX}, $frameLayout->{pY}, $frameLayout->{W}, $frameLayout->{H} ) = ( $self->GetPositionXY, $self->GetSizeWH ) ;
     1955   
     1956    wxTheApp->frameLayout(
     1957        $frameLayout
     1958    );
     1959
     1960    wxTheApp->StoreLayoutProperties;
    19541961
    19551962    $self->Destroy;
Note: See TracChangeset for help on using the changeset viewer.