diff options
Diffstat (limited to 'plugins/Import/src')
-rw-r--r-- | plugins/Import/src/miranda.cpp | 31 | ||||
-rw-r--r-- | plugins/Import/src/progress.cpp | 13 | ||||
-rw-r--r-- | plugins/Import/src/resource.h | 6 | ||||
-rw-r--r-- | plugins/Import/src/stdafx.h | 5 | ||||
-rw-r--r-- | plugins/Import/src/wizard.cpp | 45 |
5 files changed, 96 insertions, 4 deletions
diff --git a/plugins/Import/src/miranda.cpp b/plugins/Import/src/miranda.cpp index 0abfac62c4..7d4c1e4e34 100644 --- a/plugins/Import/src/miranda.cpp +++ b/plugins/Import/src/miranda.cpp @@ -63,6 +63,24 @@ bool CMirandaPageDlg::OnInitDialog() return true;
}
+int CMirandaPageDlg::Resizer(UTILRESIZECONTROL *urc)
+{
+ switch (urc->wId) {
+ case IDC_STATICTEXT1:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+
+ case IDC_STATICTEXT2:
+ return RD_ANCHORX_LEFT | RD_ANCHORY_BOTTOM;
+
+ case IDC_FILENAME:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_BOTTOM;
+
+ case IDC_LIST:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_HEIGHT;
+ }
+ return RD_ANCHORX_RIGHT | RD_ANCHORY_BOTTOM;
+}
+
void CMirandaPageDlg::OnDestroy()
{
for (int i = SendDlgItemMessage(m_hwnd, IDC_LIST, LB_GETCOUNT, 0, 0) - 1; i >= 0; i--)
@@ -178,6 +196,19 @@ bool CMirandaOptionsPageDlg::OnInitDialog() return true;
}
+int CMirandaOptionsPageDlg::Resizer(UTILRESIZECONTROL *urc)
+{
+ switch (urc->wId) {
+ case IDC_STATIC_ALL:
+ case IDC_STATIC_CONTACTS:
+ case IDC_STATIC_CUSTOM:
+ case IDC_STATICTEXT1:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+ }
+
+ return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
+}
+
void CMirandaOptionsPageDlg::onClick_Back(CCtrlButton*)
{
PostMessage(m_hwndParent, WIZM_GOTOPAGE, 0, (LPARAM)new CMirandaPageDlg());
diff --git a/plugins/Import/src/progress.cpp b/plugins/Import/src/progress.cpp index 434f072bd6..eace042403 100644 --- a/plugins/Import/src/progress.cpp +++ b/plugins/Import/src/progress.cpp @@ -38,6 +38,19 @@ CProgressPageDlg::CProgressPageDlg() : m_timer.OnEvent = Callback(this, &CProgressPageDlg::OnTimer);
}
+int CProgressPageDlg::Resizer(UTILRESIZECONTROL *urc)
+{
+ switch (urc->wId) {
+ case IDC_PROGRESS:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+
+ case IDC_STATUS:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_HEIGHT;
+ }
+
+ return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
+}
+
bool CProgressPageDlg::OnInitDialog()
{
pDlg = this;
diff --git a/plugins/Import/src/resource.h b/plugins/Import/src/resource.h index f75f1d2a15..bc81fde5fe 100644 --- a/plugins/Import/src/resource.h +++ b/plugins/Import/src/resource.h @@ -23,6 +23,10 @@ #define IDC_FILENAME 1007
#define IDC_PROGRESS 1008
#define IDC_STATUS 1009
+#define IDC_SPLITTER 1010
+#define IDC_STATICTEXT1 1011
+#define IDC_STATICTEXT2 1012
+#define IDC_STATICTEXT3 1013
#define IDC_RADIO_ALL 1016
#define IDC_RADIO_CONTACTS 1017
#define IDC_RADIO_CUSTOM 1018
@@ -31,7 +35,6 @@ #define IDC_STATIC_CUSTOM 1021
#define IDC_RADIO_COMPLETE 1022
#define IDC_DATETIMEPICKER 1023
-#define IDC_STATIC_ALL2 1023
#define IDC_IN_FT 1024
#define IDC_CONTACTS 1025
#define IDC_SYSTEM 1026
@@ -48,7 +51,6 @@ #define IDC_ALL 1037
#define IDC_MSG 1038
#define IDC_URL 1039
-#define IDC_FILE 1040
#define IDC_FT 1040
#define IDC_OPEN_FILE 1042
#define IDC_CHECK_DUPS 1043
diff --git a/plugins/Import/src/stdafx.h b/plugins/Import/src/stdafx.h index c30d02c3b0..19259ba0c0 100644 --- a/plugins/Import/src/stdafx.h +++ b/plugins/Import/src/stdafx.h @@ -97,6 +97,7 @@ class CIntroPageDlg : public CWizardPageDlg {
public:
CIntroPageDlg();
+ int Resizer(UTILRESIZECONTROL *urc) override;
bool OnInitDialog() override;
void OnNext() override;
@@ -109,6 +110,7 @@ class CProgressPageDlg : public CWizardPageDlg public:
CProgressPageDlg();
+ int Resizer(UTILRESIZECONTROL *urc) override;
bool OnInitDialog() override;
void OnDestroy() override;
@@ -130,6 +132,7 @@ class CMirandaPageDlg : public CWizardPageDlg public:
CMirandaPageDlg();
+ int Resizer(UTILRESIZECONTROL *urc) override;
bool OnInitDialog() override;
void OnDestroy() override;
@@ -147,6 +150,7 @@ class CMirandaOptionsPageDlg : public CWizardPageDlg public:
CMirandaOptionsPageDlg();
+ int Resizer(UTILRESIZECONTROL *urc) override;
bool OnInitDialog() override;
void OnNext() override;
@@ -179,6 +183,7 @@ class CFinishedPageDlg : public CWizardPageDlg {
public:
CFinishedPageDlg();
+ int Resizer(UTILRESIZECONTROL *urc) override;
bool OnInitDialog() override;
void OnNext() override;
diff --git a/plugins/Import/src/wizard.cpp b/plugins/Import/src/wizard.cpp index ed1fd7432a..7852f89371 100644 --- a/plugins/Import/src/wizard.cpp +++ b/plugins/Import/src/wizard.cpp @@ -35,6 +35,14 @@ bool CIntroPageDlg::OnInitDialog() return true;
}
+int CIntroPageDlg::Resizer(UTILRESIZECONTROL *urc)
+{
+ if (urc->wId == -1)
+ return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
+
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+}
+
void CIntroPageDlg::OnNext()
{
PostMessage(m_hwndParent, WIZM_GOTOPAGE, 0, (LPARAM)new CMirandaPageDlg());
@@ -55,6 +63,11 @@ bool CFinishedPageDlg::OnInitDialog() return true;
}
+int CFinishedPageDlg::Resizer(UTILRESIZECONTROL*)
+{
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+}
+
void CFinishedPageDlg::OnNext()
{
PostMessage(m_hwndParent, WIZM_GOTOPAGE, 0, (LPARAM)new CMirandaPageDlg());
@@ -76,6 +89,7 @@ CWizardPageDlg::CWizardPageDlg(int iDlgId) : btnCancel(this, IDCANCEL)
{
m_autoClose = 0; // disable built-in IDOK & IDCANCEL handlers;
+ m_forceResizable = true;
btnOk.OnClick = Callback(this, &CWizardPageDlg::onClick_Ok);
btnCancel.OnClick = Callback(this, &CWizardPageDlg::onClick_Cancel);
@@ -92,6 +106,7 @@ class CWizardDlg : public CDlgBase {
CWizardPageDlg *m_pFirstPage;
HWND hwndPage = nullptr;
+ int m_splitterX = 0, m_splitterY = 0;
public:
CWizardDlg(CWizardPageDlg *pPage) :
@@ -103,6 +118,8 @@ public: bool OnInitDialog() override
{
+ Utils_RestoreWindowPosition(m_hwnd, 0, IMPORT_MODULE, "wiz");
+
Window_SetIcon_IcoLib(m_hwnd, GetIconHandle(IDI_IMPORT));
g_hwndWizard = m_hwnd;
@@ -111,8 +128,26 @@ public: return true;
}
+ int Resizer(UTILRESIZECONTROL *urc) override
+ {
+ switch (urc->wId) {
+ case IDC_SPLITTER:
+ m_splitterX = urc->dlgNewSize.cx;
+ m_splitterY = urc->dlgNewSize.cy - (urc->dlgOriginalSize.cy - urc->rcItem.top);
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_BOTTOM;
+
+ case IDOK:
+ case IDCANCEL:
+ case IDC_BACK:
+ return RD_ANCHORX_RIGHT | RD_ANCHORY_BOTTOM;
+ }
+
+ return RD_ANCHORX_LEFT | RD_ANCHORY_BOTTOM;
+ }
+
bool OnClose() override
{
+ Utils_SaveWindowPosition(m_hwnd, 0, IMPORT_MODULE, "wiz");
if (hwndPage)
DestroyWindow(hwndPage);
return true;
@@ -143,7 +178,7 @@ public: pPage->Show();
hwndPage = pPage->GetHwnd();
}
- SetWindowPos(hwndPage, nullptr, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
+ SetWindowPos(hwndPage, nullptr, 0, 0, m_splitterX, m_splitterY, SWP_NOZORDER);
if (bFirstLaunch)
ShowWindow(m_hwnd, SW_SHOW);
break;
@@ -189,7 +224,13 @@ public: break;
}
- return CDlgBase::DlgProc(uMsg, wParam, lParam);
+ INT_PTR res = CDlgBase::DlgProc(uMsg, wParam, lParam);
+ if (uMsg == WM_SIZE && hwndPage) {
+ SetWindowPos(hwndPage, 0, 0, 0, m_splitterX, m_splitterY, SWP_NOZORDER | SWP_NOACTIVATE);
+ SendMessage(hwndPage, WM_SIZE, wParam, lParam);
+ }
+
+ return res;
}
};
|