From 3f8474ffc85c2e8f5891993d4d633a08d8711840 Mon Sep 17 00:00:00 2001 From: Don Ho Date: Sun, 22 Jun 2014 23:23:39 +0000 Subject: [PATCH] [NEW_FEATURE] Add "Setting on Cloud - OneDrive" GUI part. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1251 f5eea248-9336-0410-98b8-ebc06183d4e3 --- .../src/WinControls/Preference/preference.rc | 7 +-- .../WinControls/Preference/preferenceDlg.cpp | 50 +++++++++++++----- .../WinControls/Preference/preferenceDlg.h | 4 +- .../WinControls/Preference/preference_rc.h | 5 +- PowerEditor/src/icons/chameleon.ico | Bin 16958 -> 5694 bytes 5 files changed, 46 insertions(+), 20 deletions(-) diff --git a/PowerEditor/src/WinControls/Preference/preference.rc b/PowerEditor/src/WinControls/Preference/preference.rc index 760f7951..4bd21164 100644 --- a/PowerEditor/src/WinControls/Preference/preference.rc +++ b/PowerEditor/src/WinControls/Preference/preference.rc @@ -379,8 +379,9 @@ STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN GROUPBOX "Settings on cloud",IDC_SETTINGSONCLOUD_GB_STATIC,89,44,268,89,BS_CENTER - CONTROL "Dropbox",IDD_SETTINGSONCLOUD_DROPBOX_CHECK, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,60,160,10 - LTEXT "",IDC_SETTINGSONCLOUD_WARNING_STATIC,132,75,135,8 + CONTROL "No Cloud",IDC_NOCLOUD_RADIO,"Button",BS_AUTORADIOBUTTON,125,57,92,10 + CONTROL "Dropbox",IDC_DROPBOX_RADIO,"Button",BS_AUTORADIOBUTTON,125,72,92,10 + CONTROL "OneDrive",IDC_ONEDRIVE_RADIO,"Button",BS_AUTORADIOBUTTON,125,87,92,10 + LTEXT "",IDC_SETTINGSONCLOUD_WARNING_STATIC,131,106,135,8 END diff --git a/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp b/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp index 0e0c46b4..74a2e000 100644 --- a/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp +++ b/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp @@ -2800,14 +2800,21 @@ BOOL CALLBACK SettingsOnCloudDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARA case WM_INITDIALOG : { CloudChoice cloudChoice = nppGUI._cloudChoice; - initialCloudChoice = nppGUI._cloudChoice; + _initialCloudChoice = nppGUI._cloudChoice; /* COLORREF bgColor = getCtrlBgColor(_hSelf); SetTextColor(hdcStatic, RGB(255, 0, 0)); SetBkColor(hdcStatic, RGB(GetRValue(bgColor) - 30, GetGValue(bgColor) - 30, GetBValue(bgColor) - 30)); */ - ::SendDlgItemMessage(_hSelf, IDD_SETTINGSONCLOUD_DROPBOX_CHECK, BM_SETCHECK, cloudChoice == dropbox?BST_CHECKED:BST_UNCHECKED, 0); - ::EnableWindow(::GetDlgItem(_hSelf, IDD_SETTINGSONCLOUD_DROPBOX_CHECK), (nppGUI._availableClouds & DROPBOX_AVAILABLE) != 0); + ::SendDlgItemMessage(_hSelf, IDC_NOCLOUD_RADIO, BM_SETCHECK, cloudChoice == noCloud?BST_CHECKED:BST_UNCHECKED, 0); + + ::SendDlgItemMessage(_hSelf, IDC_DROPBOX_RADIO, BM_SETCHECK, cloudChoice == dropbox?BST_CHECKED:BST_UNCHECKED, 0); + ::EnableWindow(::GetDlgItem(_hSelf, IDC_DROPBOX_RADIO), (nppGUI._availableClouds & DROPBOX_AVAILABLE) != 0); + + ::SendDlgItemMessage(_hSelf, IDC_ONEDRIVE_RADIO, BM_SETCHECK, cloudChoice == oneDrive?BST_CHECKED:BST_UNCHECKED, 0); + ::EnableWindow(::GetDlgItem(_hSelf, IDC_ONEDRIVE_RADIO), (nppGUI._availableClouds & ONEDRIVE_AVAILABLE) != 0); + + } break; @@ -2815,24 +2822,39 @@ BOOL CALLBACK SettingsOnCloudDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARA { switch (wParam) { - case IDD_SETTINGSONCLOUD_DROPBOX_CHECK : + case IDC_NOCLOUD_RADIO : { - nppGUI._cloudChoice = isCheckedOrNot(IDD_SETTINGSONCLOUD_DROPBOX_CHECK)?dropbox:noCloud; - if (nppGUI._cloudChoice == dropbox) - { - setCloudChoice("dropbox"); - } - else - { - removeCloudChoice(); - } - generic_string message = initialCloudChoice != nppGUI._cloudChoice?TEXT("Please restart Notepad++ to take effect."):TEXT(""); + nppGUI._cloudChoice = noCloud; + removeCloudChoice(); + + generic_string message = _initialCloudChoice != nppGUI._cloudChoice?TEXT("Please restart Notepad++ to take effect."):TEXT(""); + ::SetDlgItemText(_hSelf, IDC_SETTINGSONCLOUD_WARNING_STATIC, message.c_str()); + } + break; + + case IDC_DROPBOX_RADIO : + { + nppGUI._cloudChoice = dropbox; + setCloudChoice("dropbox"); + + generic_string message = _initialCloudChoice != nppGUI._cloudChoice?TEXT("Please restart Notepad++ to take effect."):TEXT(""); + ::SetDlgItemText(_hSelf, IDC_SETTINGSONCLOUD_WARNING_STATIC, message.c_str()); + } + break; + + case IDC_ONEDRIVE_RADIO : + { + nppGUI._cloudChoice = oneDrive; + setCloudChoice("oneDrive"); + + generic_string message = _initialCloudChoice != nppGUI._cloudChoice?TEXT("Please restart Notepad++ to take effect."):TEXT(""); ::SetDlgItemText(_hSelf, IDC_SETTINGSONCLOUD_WARNING_STATIC, message.c_str()); } break; default : return FALSE; + } } break; diff --git a/PowerEditor/src/WinControls/Preference/preferenceDlg.h b/PowerEditor/src/WinControls/Preference/preferenceDlg.h index 0c451842..ab79ef9d 100644 --- a/PowerEditor/src/WinControls/Preference/preferenceDlg.h +++ b/PowerEditor/src/WinControls/Preference/preferenceDlg.h @@ -216,10 +216,10 @@ private : class SettingsOnCloudDlg : public StaticDialog { public : - SettingsOnCloudDlg(): initialCloudChoice(noCloud) {}; + SettingsOnCloudDlg(): _initialCloudChoice(noCloud) {}; private : - CloudChoice initialCloudChoice; + CloudChoice _initialCloudChoice; BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam); void setCloudChoice(const char *choice); diff --git a/PowerEditor/src/WinControls/Preference/preference_rc.h b/PowerEditor/src/WinControls/Preference/preference_rc.h index c02d7e91..f1fa476d 100644 --- a/PowerEditor/src/WinControls/Preference/preference_rc.h +++ b/PowerEditor/src/WinControls/Preference/preference_rc.h @@ -126,7 +126,10 @@ #define IDD_PREFERENCE_SETTINGSONCLOUD_BOX 6260 //(IDD_PREFERENCE_BOX + 250) #define IDC_SETTINGSONCLOUD_WARNING_STATIC (IDD_PREFERENCE_SETTINGSONCLOUD_BOX + 1) #define IDC_SETTINGSONCLOUD_GB_STATIC (IDD_PREFERENCE_SETTINGSONCLOUD_BOX + 2) - #define IDD_SETTINGSONCLOUD_DROPBOX_CHECK (IDD_PREFERENCE_SETTINGSONCLOUD_BOX + 3) + #define IDC_NOCLOUD_RADIO (IDD_PREFERENCE_SETTINGSONCLOUD_BOX + 3) + #define IDC_DROPBOX_RADIO (IDD_PREFERENCE_SETTINGSONCLOUD_BOX + 4) + #define IDC_ONEDRIVE_RADIO (IDD_PREFERENCE_SETTINGSONCLOUD_BOX + 5) + #define IDD_PREFERENCE_SETTING_BOX 6300 //(IDD_PREFERENCE_BOX + 300) #define IDC_TABSETTING_GB_STATIC (IDD_PREFERENCE_SETTING_BOX + 1) diff --git a/PowerEditor/src/icons/chameleon.ico b/PowerEditor/src/icons/chameleon.ico index 9351f3d6beecc12e2a23cad24183676995659bda..636c56c5e3df9d130e51081fe93c0ee3b3d2826e 100644 GIT binary patch literal 5694 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 K%HP|ZAO9a0Xk7CE