Ticket #1499: filezilla_2.2.25_restore_max.patch

File filezilla_2.2.25_restore_max.patch, 2.0 KB (added by tommywu, 14 years ago)

patch for 2.2.25

  • MainFrm.cpp

    diff -Nur source/MainFrm.cpp source.patch/MainFrm.cpp
    old new  
    254254    m_pDragWnd = NULL;
    255255    m_DropTarget = _T("");
    256256
     257    m_bMaxBeforeTray = false;
     258
    257259    m_bSwitchPaneLayout = FALSE;
    258260}
    259261
     
    36143616        WINDOWPLACEMENT placement;
    36153617        placement.length = sizeof(WINDOWPLACEMENT);
    36163618        placement.rcNormalPosition = m_PosData.NormalRect;
    3617         placement.showCmd = SW_RESTORE;
     3619        if (m_bMaxBeforeTray)
     3620            placement.showCmd = SW_SHOWMAXIMIZED;
     3621        else
     3622            placement.showCmd = SW_RESTORE;
    36183623        SetWindowPlacement(&placement);
    36193624        m_PosData.state = 0;
    36203625    }
    36213626    else
    3622         CFrameWnd::OnSysCommand( nID, lParam );
    3623     if (nID == SC_MINIMIZE)
    36243627    {
    3625         if (COptions::GetOptionVal(OPTION_MINIMIZETOTRAY) == 1)
     3628        if (nID == SC_MINIMIZE || nID == SC_MINIMIZETRAY)
    36263629        {
    36273630            WINDOWPLACEMENT placement;
    36283631            BOOL res=GetWindowPlacement(&placement);
     
    36303633                m_bMaxBeforeTray = true;
    36313634            else
    36323635                m_bMaxBeforeTray = false;
     3636        }
     3637        CFrameWnd::OnSysCommand( nID, lParam );
     3638    }
     3639    if (nID == SC_MINIMIZE)
     3640    {
     3641        if (COptions::GetOptionVal(OPTION_MINIMIZETOTRAY) == 1)
     3642        {
    36333643            ShowWindow(SW_HIDE);
    36343644            m_TrayIcon.AddIcon();
    36353645            m_TrayIcon.ShowIcon();
     
    36373647    }
    36383648    else if (nID == SC_MINIMIZETRAY)
    36393649    {
    3640         WINDOWPLACEMENT placement;
    3641         BOOL res=GetWindowPlacement(&placement);
    3642         if (placement.showCmd==SW_MAXIMIZE || placement.showCmd==SW_SHOWMAXIMIZED)
    3643             m_bMaxBeforeTray = true;
    3644         else
    3645             m_bMaxBeforeTray = false;
    36463650        ShowWindow(SW_HIDE);
    36473651        m_TrayIcon.AddIcon();
    36483652        m_TrayIcon.ShowIcon();
    36493653    }
    36503654    else if (nID == SC_RESTORE)
    36513655    {
    3652         ShowWindow(SW_SHOW);
     3656        if (m_bMaxBeforeTray)
     3657            ShowWindow(SW_SHOWMAXIMIZED);
     3658        else
     3659            ShowWindow(SW_SHOW);
     3660        m_bMaxBeforeTray = false;
    36533661        m_TrayIcon.HideIcon();
    36543662    }
    36553663}
     
    38453853        ShowWindow(SW_SHOWMAXIMIZED);
    38463854    else
    38473855        ShowWindow(SW_SHOW);
     3856    m_bMaxBeforeTray = false;
    38483857    m_TrayIcon.HideIcon();
    38493858}
    38503859