From 9af1c277a9814d0117eb34541d9399669afb4de4 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Tue, 16 Jun 2015 12:04:08 +0200 Subject: [PATCH] Fixed issue #2517: Submodule Update dialog cannot be re-sized and is too small to be useful in some cases Signed-off-by: Sven Strickroth --- src/Changelog.txt | 1 + src/Resources/TortoiseProcENG.rc | 2 +- src/TortoiseProc/SubmoduleUpdateDlg.cpp | 34 +++++++++++++++++++++++++-------- src/TortoiseProc/SubmoduleUpdateDlg.h | 4 ++-- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/Changelog.txt b/src/Changelog.txt index 7b388f9dc..802201ad7 100644 --- a/src/Changelog.txt +++ b/src/Changelog.txt @@ -16,6 +16,7 @@ Released: unreleased * Fixed issue #2510: Non-correctly visualized settings dialog on modern high-DPI displays * Fixed issue #2514: diff uses wrong tool in case the filename matches a registered extension * Fixed issue #2487: Show log dialog lose focus of "working dir changes" after content refresh + * Fixed issue #2517: Submodule Update dialog cannot be re-sized and is too small to be useful in some cases = Release 1.8.14.0 = Released: 2015-04-08 diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index 3a5387252..0e40c52d6 100644 --- a/src/Resources/TortoiseProcENG.rc +++ b/src/Resources/TortoiseProcENG.rc @@ -1828,7 +1828,7 @@ BEGIN END IDD_SUBMODULE_UPDATE DIALOGEX 0, 0, 322, 172 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME CAPTION "Submodule Update" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN diff --git a/src/TortoiseProc/SubmoduleUpdateDlg.cpp b/src/TortoiseProc/SubmoduleUpdateDlg.cpp index bc576eb33..ff7c8e8a2 100644 --- a/src/TortoiseProc/SubmoduleUpdateDlg.cpp +++ b/src/TortoiseProc/SubmoduleUpdateDlg.cpp @@ -1,6 +1,6 @@ // TortoiseGit - a Windows shell extension for easy version control -// Copyright (C) 2012-2014 - TortoiseGit +// Copyright (C) 2012-2015 - TortoiseGit // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -24,12 +24,12 @@ #include "UnicodeUtils.h" #include "MessageBox.h" -IMPLEMENT_DYNAMIC(CSubmoduleUpdateDlg, CStandAloneDialog) +IMPLEMENT_DYNAMIC(CSubmoduleUpdateDlg, CResizableStandAloneDialog) bool CSubmoduleUpdateDlg::s_bSortLogical = true; CSubmoduleUpdateDlg::CSubmoduleUpdateDlg(CWnd* pParent /*=NULL*/) - : CStandAloneDialog(CSubmoduleUpdateDlg::IDD, pParent) + : CResizableStandAloneDialog(CSubmoduleUpdateDlg::IDD, pParent) , m_bInit(TRUE) , m_bRecursive(FALSE) , m_bForce(FALSE) @@ -50,7 +50,7 @@ CSubmoduleUpdateDlg::~CSubmoduleUpdateDlg() void CSubmoduleUpdateDlg::DoDataExchange(CDataExchange* pDX) { - CStandAloneDialog::DoDataExchange(pDX); + CResizableStandAloneDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST_PATH, m_PathListBox); DDX_Control(pDX, IDC_SELECTALL, m_SelectAll); DDX_Check(pDX, IDC_WHOLE_PROJECT, m_bWholeProject); @@ -64,7 +64,7 @@ void CSubmoduleUpdateDlg::DoDataExchange(CDataExchange* pDX) } -BEGIN_MESSAGE_MAP(CSubmoduleUpdateDlg, CStandAloneDialog) +BEGIN_MESSAGE_MAP(CSubmoduleUpdateDlg, CResizableStandAloneDialog) ON_BN_CLICKED(IDC_SELECTALL, OnBnClickedSelectall) ON_BN_CLICKED(IDC_WHOLE_PROJECT, OnBnClickedShowWholeProject) ON_BN_CLICKED(IDOK, &CSubmoduleUpdateDlg::OnBnClickedOk) @@ -120,9 +120,25 @@ static void GetSubmodulePathList(STRING_VECTOR &list, STRING_VECTOR &prefixList) BOOL CSubmoduleUpdateDlg::OnInitDialog() { - CStandAloneDialog::OnInitDialog(); + CResizableStandAloneDialog::OnInitDialog(); CAppUtils::MarkWindowAsUnpinnable(m_hWnd); + AddAnchor(IDOK, BOTTOM_RIGHT); + AddAnchor(IDCANCEL, BOTTOM_RIGHT); + AddAnchor(IDHELP, BOTTOM_RIGHT); + AddAnchor((UINT)IDC_STATIC, TOP_LEFT); + AddAnchor(IDC_LIST_PATH, TOP_LEFT, BOTTOM_RIGHT); + AddAnchor(IDC_SELECTALL, BOTTOM_LEFT); + AddAnchor(IDC_WHOLE_PROJECT, BOTTOM_LEFT); + AddAnchor(IDC_GROUP_INFO, BOTTOM_LEFT, BOTTOM_RIGHT); + AddAnchor(IDC_CHECK_SUBMODULE_INIT, BOTTOM_LEFT); + AddAnchor(IDC_CHECK_SUBMODULE_RECURSIVE, BOTTOM_LEFT); + AddAnchor(IDC_FORCE, BOTTOM_LEFT); + AddAnchor(IDC_CHECK_SUBMODULE_REMOTE, BOTTOM_LEFT); + AddAnchor(IDC_CHECK_SUBMODULE_NOFETCH, BOTTOM_RIGHT); + AddAnchor(IDC_CHECK_SUBMODULE_MERGE, BOTTOM_RIGHT); + AddAnchor(IDC_CHECK_SUBMODULE_REBASE, BOTTOM_RIGHT); + CString str(g_Git.m_CurrentDir); str.Replace(_T(":"), _T("_")); m_regShowWholeProject = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\ShowWholeProject\\") + str, FALSE); @@ -153,6 +169,8 @@ BOOL CSubmoduleUpdateDlg::OnInitDialog() AdjustControlSize(IDC_CHECK_SUBMODULE_MERGE); AdjustControlSize(IDC_CHECK_SUBMODULE_REBASE); + EnableSaveRestore(_T("SubmoduleUpdateDlg")); + Refresh(); UpdateData(FALSE); @@ -176,7 +194,7 @@ void CSubmoduleUpdateDlg::SetDlgTitle() void CSubmoduleUpdateDlg::OnBnClickedOk() { - CStandAloneDialog::UpdateData(TRUE); + CResizableStandAloneDialog::UpdateData(TRUE); m_PathList.clear(); if (m_bRemote && CAppUtils::GetMsysgitVersion() < 0x01080200) { @@ -209,7 +227,7 @@ void CSubmoduleUpdateDlg::OnBnClickedOk() m_regMerge = m_bMerge; m_regRebase = m_bRebase; - CStandAloneDialog::OnOK(); + CResizableStandAloneDialog::OnOK(); } void CSubmoduleUpdateDlg::OnLbnSelchangeListPath() diff --git a/src/TortoiseProc/SubmoduleUpdateDlg.h b/src/TortoiseProc/SubmoduleUpdateDlg.h index 2deee01fd..4630f416d 100644 --- a/src/TortoiseProc/SubmoduleUpdateDlg.h +++ b/src/TortoiseProc/SubmoduleUpdateDlg.h @@ -1,6 +1,6 @@ // TortoiseGit - a Windows shell extension for easy version control -// Copyright (C) 2012-2014 - TortoiseGit +// Copyright (C) 2012-2015 - TortoiseGit // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -23,7 +23,7 @@ #include "registry.h" #include "HistoryCombo.h" -class CSubmoduleUpdateDlg : public CStandAloneDialog +class CSubmoduleUpdateDlg : public CResizableStandAloneDialog { DECLARE_DYNAMIC(CSubmoduleUpdateDlg) -- 2.11.4.GIT