Make "Confirm Save All" dialog more clear
Use "Always Yes" button instead of "Cancel", and whole dialog is translatble. Fix #10339, close #10429pull/10443/head
parent
a391161e3d
commit
deab93f9b5
|
@ -1160,6 +1160,15 @@ You can define several column markers by using white space to separate the diffe
|
|||
<Item id="4" name="Yes to &all"/>
|
||||
<Item id="5" name="N&o to all"/>
|
||||
</DoSaveOrNot>
|
||||
<DoSaveAll title="Save All Confirmation">
|
||||
<Item id="1766" name="Are you sure you want to save all modified documents?
|
||||
|
||||
Choose "Always Yes" if your don't want to see this dialog again.
|
||||
You can re-activate this dialog in Preferences later."/>
|
||||
<Item id="6" name="&Yes"/>
|
||||
<Item id="7" name="&No"/>
|
||||
<Item id="4" name="Always Yes"/>
|
||||
</DoSaveAll> <!-- HowToReproduce: Check the 'Enable Save All confirm dialog' checkbox in Preference->MISC, now click 'Save all' -->
|
||||
</Dialog>
|
||||
<MessageBox> <!-- $INT_REPLACE$ is a place holder, don't translate it -->
|
||||
<ContextMenuXmlEditWarning title="Editing contextMenu" message="Editing contextMenu.xml allows you to modify your Notepad++ popup context menu.
|
||||
|
@ -1255,10 +1264,6 @@ Do you want to launch Notepad++ in Administrator mode?"/>
|
|||
Notepad++ will be restarted after all the operations are terminated.
|
||||
Continue?"/>
|
||||
<NeedToRestartToLoadPlugins title="Notepad++ need to be relaunched" message="You have to restart Notepad++ to load plugins you installed."/> <!-- HowToReproduce: Import a plugin via menu "Settings->Import->Import Plugin(s)...". -->
|
||||
<SaveAllConfirm title="Save All Confirmation" message="Are you sure you want to save all documents?
|
||||
|
||||
Choose "Cancel" if your answer will always be "Yes" and you won't be asked this question again.
|
||||
You can re-activate this dialog in Preferences dialog later." /> <!-- HowToReproduce: Check the 'Enable Save All confirm dialog' checkbox in Preference->MISC, now click 'Save all' -->
|
||||
</MessageBox>
|
||||
<ClipboardHistory>
|
||||
<PanelTitle name="Clipboard History"/>
|
||||
|
|
|
@ -1085,6 +1085,7 @@ Vous pouvez définir plusieurs marqueurs de colonne en utilisant un espace pour
|
|||
<Item id="6345" name="Aperçu à onglet"/>
|
||||
<Item id="6346" name="Aperçu à commutateur de documents"/>
|
||||
<Item id="6360" name="Chut !"/>
|
||||
<Item id="6361" name="Activer la confirmation pour la command "Enregistrer tout""/>
|
||||
</MISC>
|
||||
</Preference>
|
||||
<MultiMacro title="Exécuter une macro en boucle">
|
||||
|
@ -1138,6 +1139,15 @@ Vous pouvez définir plusieurs marqueurs de colonne en utilisant un espace pour
|
|||
<Item id="4" name="Oui pour &tout"/>
|
||||
<Item id="5" name="Non &pour tout"/>
|
||||
</DoSaveOrNot>
|
||||
<DoSaveAll title="Confirmer de tout enregistrer">
|
||||
<Item id="1766" name="Voulez-vous vraiment enregistrer tous les documents modifiés?
|
||||
|
||||
Choisissez "Toujours Oui" si vous ne voulez plus répondre cette question.
|
||||
Vous pouvez réactiver cette boîte de dialogue dans les Préférences ultérieurement."/>
|
||||
<Item id="6" name="&Oui"/>
|
||||
<Item id="7" name="&Non"/>
|
||||
<Item id="4" name="Toujours Oui"/>
|
||||
</DoSaveAll>
|
||||
</Dialog>
|
||||
<MessageBox>
|
||||
<CannotMoveDoc title="Déplacement vers une nouvelle instance Notepad++" message="Le document est en cours d'utilisation, le sauvegarder puis réessayer."/>
|
||||
|
|
|
@ -1098,6 +1098,7 @@
|
|||
<Item id="6345" name="於頁籤窺視檔案"/>
|
||||
<Item id="6346" name="於文件導覽窺視檔案"/>
|
||||
<Item id="6360" name="靜音"/>
|
||||
<Item id="6361" name="啟動全部儲存確認"/>
|
||||
</MISC>
|
||||
</Preference>
|
||||
|
||||
|
@ -1152,74 +1153,83 @@
|
|||
<Item id="4" name="全部存檔(&A)"/>
|
||||
<Item id="5" name="全部棄存(&O)"/>
|
||||
</DoSaveOrNot>
|
||||
<DoSaveAll title="確認全部儲存">
|
||||
<Item id="1766" name="你確定要儲存所有尚未儲存的檔案嗎?
|
||||
|
||||
選擇「始終確定」如果你的回答永遠是「確定」 你不會再被問到這個問題。
|
||||
你可以稍後在「偏好設定」中重新開啟此對話框。"/>
|
||||
<Item id="6" name="確定(&Y)"/>
|
||||
<Item id="7" name="不要(&N)"/>
|
||||
<Item id="4" name="始終確定"/>
|
||||
</DoSaveAll>
|
||||
</Dialog>
|
||||
<MessageBox>
|
||||
<ContextMenuXmlEditWarning title="編輯快顯功能表" message="編輯 contextMenu.xml 可以變更 Notepad++ 之快顯功能表。
|
||||
請於修改後重新啟動 Notepad++ 以使變更生效。"/>
|
||||
<SaveCurrentModifWarning title="警告" message="您必須儲存目前的修改,而儲存後將無法復原。
|
||||
您確定要繼續嗎?"/>
|
||||
<LoseUndoAbilityWarning title="警告" message="您必須儲存目前的修改,而儲存後將無法復原。
|
||||
您確定要繼續嗎?"/>
|
||||
<SaveCurrentModifWarning title="警告" message="你必須儲存目前的修改,而儲存後將無法復原。
|
||||
你確定要繼續嗎?"/>
|
||||
<LoseUndoAbilityWarning title="警告" message="你必須儲存目前的修改,而儲存後將無法復原。
|
||||
你確定要繼續嗎?"/>
|
||||
<CannotMoveDoc title="移至新的 Notepad++ 實體" message="文件已被修改,請在儲存後再試一次。"/>
|
||||
<DocReloadWarning title="重新載入" message="您確定要重新載入目前文件,並捨棄在 Notepad++ 中所做的修改嗎?"/>
|
||||
<DocReloadWarning title="重新載入" message="你確定要重新載入目前文件,並捨棄在 Notepad++ 中所做的修改嗎?"/>
|
||||
<FileLockedWarning title="儲存失敗" message="請檢查其他應用程式是否已開啟此檔案。"/>
|
||||
<FileAlreadyOpenedInNpp title="已開啟" message="這個檔案已在 Notepad++ 中開啟。"/>
|
||||
<DeleteFileFailed title="刪除失敗" message="檔案刪除失敗。"/>
|
||||
<NbFileToOpenImportantWarning title="開啟檔案" message="您確定要開啟全數 $INT_REPLACE$ 個檔案嗎?"/>
|
||||
<SettingsOnCloudError title="雲端設定" message="設定的雲端路徑位於一個唯讀的磁碟或未擁有寫入權限的資料夾,因此您的「雲端」設定將被清除。
|
||||
<NbFileToOpenImportantWarning title="開啟檔案" message="你確定要開啟全數 $INT_REPLACE$ 個檔案嗎?"/>
|
||||
<SettingsOnCloudError title="雲端設定" message="設定的雲端路徑位於一個唯讀的磁碟或未擁有寫入權限的資料夾,因此你的「雲端」設定將被清除。
|
||||
請在「偏好設定」中重新設定。"/>
|
||||
<FilePathNotFoundWarning title="開啟檔案" message="您試圖開啟的文件不存在。"/>
|
||||
<FilePathNotFoundWarning title="開啟檔案" message="你試圖開啟的文件不存在。"/>
|
||||
<SessionFileInvalidError title="無法開啟工作階段" message="工作階段檔案無效或已被損毀。"/>
|
||||
<DroppingFolderAsProjectModeWarning title="操作無效" message="由於您在「偏好設定」「預設資料夾」中關閉了「拖放資料夾時開啟資料夾中所有文件,而不啟動資料夾工作區」的選項,您只能拖放文件或資料夾的其中之一。
|
||||
<DroppingFolderAsProjectModeWarning title="操作無效" message="由於你在「偏好設定」「預設資料夾」中關閉了「拖放資料夾時開啟資料夾中所有文件,而不啟動資料夾工作區」的選項,你只能拖放文件或資料夾的其中之一。
|
||||
請啟用此選項,然後再試一次。"/>
|
||||
<SortingError title="排序錯誤" message="第 $INT_REPLACE$ 行無法執行數字排序。"/>
|
||||
<ColumnModeTip title="多欄選取提示" message="請使用「ALT + 滑鼠選擇」或「Alt + Shift + 方向鍵」以切換到多欄選取。"/>
|
||||
<BufferInvalidWarning title="儲存失敗" message="緩衝區無效。"/>
|
||||
<DoCloseOrNot title="保留文件" message="檔案「$STR_REPLACE$」已不存在。
|
||||
您要在 Notepad++ 中保留這個文件嗎?"/>
|
||||
<DoDeleteOrNot title="刪除檔案" message="您確定要刪除並關閉「$STR_REPLACE$」嗎?"/>
|
||||
<NoBackupDoSaveFile title="儲存" message="您的備份文件已從外部刪除。
|
||||
請儲存「$STR_REPLACE$」,否則您的數據將會遺失。
|
||||
您要儲存嗎?"/>
|
||||
你要在 Notepad++ 中保留這個文件嗎?"/>
|
||||
<DoDeleteOrNot title="刪除檔案" message="你確定要刪除並關閉「$STR_REPLACE$」嗎?"/>
|
||||
<NoBackupDoSaveFile title="儲存" message="你的備份文件已從外部刪除。
|
||||
請儲存「$STR_REPLACE$」,否則你的數據將會遺失。
|
||||
你要儲存嗎?"/>
|
||||
<DoReloadOrNot title="重新載入" message="「$STR_REPLACE$」已被其他程式修改。
|
||||
您要重新載入此文件嗎?"/>
|
||||
你要重新載入此文件嗎?"/>
|
||||
<DoReloadOrNotAndLooseChange title="重新載入" message="「$STR_REPLACE$」已被其他程式修改。
|
||||
您要重新載入並捨棄在 Notepad++ 中所做的修改嗎?"/>
|
||||
你要重新載入並捨棄在 Notepad++ 中所做的修改嗎?"/>
|
||||
<PrehistoricSystemDetected title="系統過舊" message="很抱歉,此功能不適用於過舊的系統。"/>
|
||||
<XpUpdaterProblem title="Notepad++ 更新程式" message="由於 XP 的安全機制過舊,更新程式與 XP 並不兼容。
|
||||
您要直接到 Notepad++ 網站下載最新版本嗎?"/>
|
||||
你要直接到 Notepad++ 網站下載最新版本嗎?"/>
|
||||
<GUpProxyConfNeedAdminMode title="代理伺服器設定" message="請關閉 Notepad++,並在系統管理員模式下重新啟動 Notepad++ 以設定代理伺服器。"/>
|
||||
<DocTooDirtyToMonitor title="監控錯誤" message="文件已被修改,請在監視前儲存文件。"/>
|
||||
<DocNoExistToMonitor title="監控錯誤" message="文件不存在,因此無法進行監視。"/>
|
||||
<FileTooBigToOpen title="文件太大" message="文件太大,無法使用 Notepad++ 開啟。"/>
|
||||
<CreateNewFileOrNot title="開新檔案" message="「$STR_REPLACE$」不存在。您要開新檔案嗎?"/>
|
||||
<CreateNewFileOrNot title="開新檔案" message="「$STR_REPLACE$」不存在。你要開新檔案嗎?"/>
|
||||
<CreateNewFileError title="開新檔案" message="無法開新檔案「$STR_REPLACE$」。"/>
|
||||
<OpenFileError title="錯誤" message="無法開啟「$STR_REPLACE$」"/>
|
||||
<FileBackupFailed title="文件備份失敗" message="檔案的過往版本無法儲存到「$STR_REPLACE$」的備份資料夾中。您要儲存此文件嗎?"/>
|
||||
<FileBackupFailed title="文件備份失敗" message="檔案的過往版本無法儲存到「$STR_REPLACE$」的備份資料夾中。你要儲存此文件嗎?"/>
|
||||
<LoadStylersFailed title="載入失敗" message="載入「$STR_REPLACE$」失敗。"/>
|
||||
<LoadLangsFailed title="載入失敗" message="載入 langs.xml 失敗。
|
||||
您要回復它嗎?"/>
|
||||
你要回復它嗎?"/>
|
||||
<LoadLangsFailedFinal title="載入失敗" message="載入 langs.xml 失敗。"/>
|
||||
<FolderAsWorspaceSubfolderExists title="加入錯誤" message="工作區內的其中一個資料夾已包含您要添加的資料夾。
|
||||
您必須從資料夾工作區中刪除該資料夾,才可添加「$STR_REPLACE$」。"/>
|
||||
<FolderAsWorspaceSubfolderExists title="加入錯誤" message="工作區內的其中一個資料夾已包含你要添加的資料夾。
|
||||
你必須從資料夾工作區中刪除該資料夾,才可添加「$STR_REPLACE$」。"/>
|
||||
|
||||
<ProjectPanelChanged title="$STR_REPLACE$" message="工作區已被修改。您要儲存它嗎?"/>
|
||||
<ProjectPanelChanged title="$STR_REPLACE$" message="工作區已被修改。你要儲存它嗎?"/>
|
||||
<ProjectPanelSaveError title="$STR_REPLACE$" message="寫入工作區文件時發生錯誤。工作區儲存失敗。"/>
|
||||
<ProjectPanelOpenDoSaveDirtyWsOrNot title="開啟工作區" message="目前的工作區已被修改。您要儲存目前的專案嗎?"/>
|
||||
<ProjectPanelNewDoSaveDirtyWsOrNot title="新工作區" message="目前的工作區已被修改。您要儲存目前的專案嗎?"/>
|
||||
<ProjectPanelOpenDoSaveDirtyWsOrNot title="開啟工作區" message="目前的工作區已被修改。你要儲存目前的專案嗎?"/>
|
||||
<ProjectPanelNewDoSaveDirtyWsOrNot title="新工作區" message="目前的工作區已被修改。你要儲存目前的專案嗎?"/>
|
||||
<ProjectPanelOpenFailed title="無法開啟工作區" message="工作區檔案無效或已被損毀。"/>
|
||||
<ProjectPanelRemoveFolderFromProject title="從專案中刪除資料夾" message="此資料夾下的所有子資料夾亦將被刪除。您確定要從專案中刪除此資料夾嗎?"/>
|
||||
<ProjectPanelRemoveFileFromProject title="從專案中刪除文件" message="您確定要從專案中刪除此文件嗎?"/>
|
||||
<ProjectPanelRemoveFolderFromProject title="從專案中刪除資料夾" message="此資料夾下的所有子資料夾亦將被刪除。你確定要從專案中刪除此資料夾嗎?"/>
|
||||
<ProjectPanelRemoveFileFromProject title="從專案中刪除文件" message="你確定要從專案中刪除此文件嗎?"/>
|
||||
<ProjectPanelReloadError title="重新載入工作區" message="找不到要重新載入的檔案。"/>
|
||||
<ProjectPanelReloadDirty title="重新載入工作區" message="目前的工作區已被修改。您要重新載入並捨棄所做的修改嗎?"/>
|
||||
<ProjectPanelReloadDirty title="重新載入工作區" message="目前的工作區已被修改。你要重新載入並捨棄所做的修改嗎?"/>
|
||||
<UDLNewNameError title="自訂程式語言錯誤" message="此名稱已被另一個程式語言使用。請重新命名。"/>
|
||||
<UDLRemoveCurrentLang title="刪除語言" message="您確定要刪除目前的自訂程式語言嗎?"/>
|
||||
<SCMapperDoDeleteOrNot title="刪除快捷鍵" message="您確定要刪除這個快捷鍵嗎?"/>
|
||||
<FindCharRangeValueError title="輸入值範圍錯誤" message="您輸入的值應在 0 到 255 之間。如要搜尋字元編號大於 255 的字元,請在「尋找」對話方塊中使用「規則運算式」。"/>
|
||||
<UDLRemoveCurrentLang title="刪除語言" message="你確定要刪除目前的自訂程式語言嗎?"/>
|
||||
<SCMapperDoDeleteOrNot title="刪除快捷鍵" message="你確定要刪除這個快捷鍵嗎?"/>
|
||||
<FindCharRangeValueError title="輸入值範圍錯誤" message="你輸入的值應在 0 到 255 之間。如要搜尋字元編號大於 255 的字元,請在「尋找」對話方塊中使用「規則運算式」。"/>
|
||||
<ExitToUpdatePlugins title="關閉 Notepad++" message="Notepad++ 將自動關閉以進行後續作業。
|
||||
在所有後續作業完成後,Notepad++ 將重新啟動。
|
||||
繼續嗎?"/>
|
||||
<NeedToRestartToLoadPlugins title="重新啟動 Notepad++" message="您必須重新啟動 Notepad++ 才能載入已安裝的外掛模組。"/>
|
||||
<NeedToRestartToLoadPlugins title="重新啟動 Notepad++" message="你必須重新啟動 Notepad++ 才能載入已安裝的外掛模組。"/>
|
||||
</MessageBox>
|
||||
<ClipboardHistory>
|
||||
<PanelTitle name="剪貼簿記錄"/>
|
||||
|
@ -1316,11 +1326,11 @@
|
|||
</Menus>
|
||||
</ProjectManager>
|
||||
<MiscStrings>
|
||||
<word-chars-list-tip value="這允許您在目前單字字元集中附加字元,當滑鼠雙擊以進行選擇或以「僅符合整個單字」選項進行搜尋。"/>
|
||||
<word-chars-list-tip value="這允許你在目前單字字元集中附加字元,當滑鼠雙擊以進行選擇或以「僅符合整個單字」選項進行搜尋。"/>
|
||||
<word-chars-list-warning-begin value="警告:"/>
|
||||
<word-chars-list-space-warning value="$INT_REPLACE$ 個空格"/>
|
||||
<word-chars-list-tab-warning value="$INT_REPLACE$ 個 TAB"/>
|
||||
<word-chars-list-warning-end value=" 在您的單字字元集中。"/>
|
||||
<word-chars-list-warning-end value=" 在你的單字字元集中。"/>
|
||||
<cloud-invalid-warning value="無效的路徑。"/>
|
||||
<cloud-restart-warning value="請重新啟動 Notepad++ 以使變更生效。"/>
|
||||
<cloud-select-folder value="選擇一個資料夾,以便 Notepad++ 從中讀取/寫入其設定。"/>
|
||||
|
@ -1404,7 +1414,7 @@
|
|||
<replace-in-projects-confirm-title value="確認"/>
|
||||
<replace-in-projects-confirm-message value="是否要替換所選專案項目中所有文檔中的所有匹配項?"/>
|
||||
<replace-in-open-docs-confirm-title value="替換確認"/>
|
||||
<replace-in-open-docs-confirm-message value="您確定要替換所有打開的文檔中的所有匹配項嗎?"/>
|
||||
<replace-in-open-docs-confirm-message value="你確定要替換所有打開的文檔中的所有匹配項嗎?"/>
|
||||
<find-result-caption value="搜尋結果"/>
|
||||
<find-result-title value="搜尋"/> <!-- Must not begin with space or tab character -->
|
||||
<find-result-title-info value="(找到 $INT_REPLACE1$ 個結果在 $INT_REPLACE2$ 的文件中。搜尋文件量: $INT_REPLACE3$)"/>
|
||||
|
|
|
@ -2040,6 +2040,26 @@ int Notepad_plus::doSaveOrNot(const TCHAR* fn, bool isMulti)
|
|||
return buttonID;
|
||||
}
|
||||
|
||||
int Notepad_plus::doSaveAll()
|
||||
{
|
||||
// In case Notepad++ is iconized into notification zone
|
||||
if (!::IsWindowVisible(_pPublicInterface->getHSelf()))
|
||||
{
|
||||
::ShowWindow(_pPublicInterface->getHSelf(), SW_SHOW);
|
||||
|
||||
// Send sizing info to make window fit (specially to show tool bar.)
|
||||
::SendMessage(_pPublicInterface->getHSelf(), WM_SIZE, 0, 0);
|
||||
}
|
||||
|
||||
DoSaveAllBox doSaveAllBox;
|
||||
doSaveAllBox.init(_pPublicInterface->getHinst(), _pPublicInterface->getHSelf());
|
||||
doSaveAllBox.doDialog(_nativeLangSpeaker.isRTL());
|
||||
int buttonID = doSaveAllBox.getClickedButtonId();
|
||||
doSaveAllBox.destroy();
|
||||
|
||||
return buttonID;
|
||||
}
|
||||
|
||||
int Notepad_plus::doReloadOrNot(const TCHAR *fn, bool dirty)
|
||||
{
|
||||
if (dirty)
|
||||
|
|
|
@ -467,6 +467,7 @@ private:
|
|||
int doReloadOrNot(const TCHAR *fn, bool dirty);
|
||||
int doCloseOrNot(const TCHAR *fn);
|
||||
int doDeleteOrNot(const TCHAR *fn);
|
||||
int doSaveAll();
|
||||
|
||||
void enableMenu(int cmdID, bool doEnable) const;
|
||||
void enableCommand(int cmdID, bool doEnable, int which) const;
|
||||
|
|
|
@ -1229,7 +1229,7 @@ EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
|||
CAPTION "Save"
|
||||
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "",IDC_DOSAVEORNOTTEX,7,10,290,40,SS_EDITCONTROL
|
||||
LTEXT "",IDC_DOSAVEORNOTTEXT,7,10,290,40,SS_EDITCONTROL
|
||||
DEFPUSHBUTTON "&Yes",IDYES,10,60,50,14,BS_FLAT
|
||||
PUSHBUTTON "&No",IDNO,65,60,50,14,BS_FLAT
|
||||
PUSHBUTTON "&Cancel",IDCANCEL,120,60,50,14,BS_FLAT
|
||||
|
@ -1237,6 +1237,18 @@ BEGIN
|
|||
PUSHBUTTON "N&o to all",IDIGNORE,240,60,60,14,BS_FLAT
|
||||
END
|
||||
|
||||
IDD_DOSAVEALLBOX DIALOGEX 0, 0, 260, 100
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
CAPTION "Save"
|
||||
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "",IDC_DOSAVEALLTEXT,7,10,250,70,SS_EDITCONTROL
|
||||
DEFPUSHBUTTON "&Yes",IDYES,47,75,50,14,BS_FLAT
|
||||
PUSHBUTTON "Always Yes", IDRETRY, 102, 75, 60, 14, BS_FLAT
|
||||
PUSHBUTTON "&No",IDNO,167,75,50,14,BS_FLAT
|
||||
END
|
||||
|
||||
IDD_GOLINE DIALOGEX 26, 41, 261, 88
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
|
|
|
@ -1604,18 +1604,14 @@ bool Notepad_plus::fileSaveAllConfirm()
|
|||
|
||||
if (NppParameters::getInstance().getNppGUI()._saveAllConfirm)
|
||||
{
|
||||
int answer = _nativeLangSpeaker.messageBox("SaveAllConfirm",
|
||||
_pPublicInterface->getHSelf(),
|
||||
TEXT("Are you sure you want to save all documents?\r\rChoose \"Cancel\" if your answer will always be \"Yes\" and you won't be asked this question again.\rYou can re-activate this dialog in Preferences dialog later."),
|
||||
TEXT("Save All Confirmation"),
|
||||
MB_YESNOCANCEL | MB_DEFBUTTON2);
|
||||
int answer = doSaveAll();
|
||||
|
||||
if (answer == IDYES)
|
||||
{
|
||||
confirmed = true;
|
||||
}
|
||||
|
||||
if (answer == IDCANCEL)
|
||||
if (answer == IDRETRY)
|
||||
{
|
||||
NppParameters::getInstance().getNppGUI()._saveAllConfirm = false;
|
||||
//uncheck the "Enable save all confirm dialog" checkbox in Preference-> MISC settings
|
||||
|
|
|
@ -372,7 +372,7 @@ void DoSaveOrNotBox::changeLang()
|
|||
{
|
||||
const unsigned char len = 255;
|
||||
TCHAR text[len];
|
||||
::GetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEX, text, len);
|
||||
::GetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, text, len);
|
||||
msg = text;
|
||||
}
|
||||
|
||||
|
@ -380,7 +380,7 @@ void DoSaveOrNotBox::changeLang()
|
|||
msg = defaultMessage;
|
||||
|
||||
msg = stringReplace(msg, TEXT("$STR_REPLACE$"), _fn);
|
||||
::SetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEX, msg.c_str());
|
||||
::SetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, msg.c_str());
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK DoSaveOrNotBox::run_dlgProc(UINT message, WPARAM wParam, LPARAM /*lParam*/)
|
||||
|
@ -453,3 +453,100 @@ INT_PTR CALLBACK DoSaveOrNotBox::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
void DoSaveAllBox::doDialog(bool isRTL)
|
||||
{
|
||||
|
||||
if (isRTL)
|
||||
{
|
||||
DLGTEMPLATE* pMyDlgTemplate = NULL;
|
||||
HGLOBAL hMyDlgTemplate = makeRTLResource(IDD_DOSAVEALLBOX, &pMyDlgTemplate);
|
||||
::DialogBoxIndirectParam(_hInst, pMyDlgTemplate, _hParent, dlgProc, reinterpret_cast<LPARAM>(this));
|
||||
::GlobalFree(hMyDlgTemplate);
|
||||
}
|
||||
else
|
||||
::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_DOSAVEALLBOX), _hParent, dlgProc, reinterpret_cast<LPARAM>(this));
|
||||
}
|
||||
|
||||
void DoSaveAllBox::changeLang()
|
||||
{
|
||||
generic_string msg;
|
||||
generic_string defaultMessage = TEXT("Are you sure you want to save all modified documents?\r\rChoose \"Always Yes\" if your don't want to see this dialog again.\rYou can re-activate this dialog in Preferences later.");
|
||||
NativeLangSpeaker* nativeLangSpeaker = NppParameters::getInstance().getNativeLangSpeaker();
|
||||
|
||||
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveAll"))
|
||||
{
|
||||
const size_t len = 1024;
|
||||
TCHAR text[len];
|
||||
::GetDlgItemText(_hSelf, IDC_DOSAVEALLTEXT, text, len);
|
||||
msg = text;
|
||||
}
|
||||
|
||||
if (msg.empty())
|
||||
msg = defaultMessage;
|
||||
|
||||
::SetDlgItemText(_hSelf, IDC_DOSAVEALLTEXT, msg.c_str());
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK DoSaveAllBox::run_dlgProc(UINT message, WPARAM wParam, LPARAM /*lParam*/)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
||||
|
||||
changeLang();
|
||||
goToCenter();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_CTLCOLORDLG:
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDCANCEL:
|
||||
{
|
||||
::EndDialog(_hSelf, -1);
|
||||
clickedButtonId = IDCANCEL;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDYES:
|
||||
{
|
||||
::EndDialog(_hSelf, 0);
|
||||
clickedButtonId = IDYES;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDNO:
|
||||
{
|
||||
::EndDialog(_hSelf, 0);
|
||||
clickedButtonId = IDNO;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDRETRY:
|
||||
{
|
||||
::EndDialog(_hSelf, 0);
|
||||
clickedButtonId = IDRETRY;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
|
@ -116,3 +116,25 @@ private:
|
|||
generic_string _fn;
|
||||
bool _isMulti = false;
|
||||
};
|
||||
|
||||
class DoSaveAllBox : public StaticDialog
|
||||
{
|
||||
public:
|
||||
DoSaveAllBox() = default;
|
||||
|
||||
void doDialog(bool isRTL = false);
|
||||
|
||||
virtual void destroy() {};
|
||||
|
||||
int getClickedButtonId() const {
|
||||
return clickedButtonId;
|
||||
};
|
||||
|
||||
void changeLang();
|
||||
|
||||
protected:
|
||||
virtual INT_PTR CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
int clickedButtonId = -1;
|
||||
};
|
||||
|
|
|
@ -484,8 +484,11 @@
|
|||
#define IDC_DEBUGINFO_EDIT 1751
|
||||
#define IDC_DEBUGINFO_COPYLINK 1752
|
||||
|
||||
#define IDD_DOSAVEORNOTBOX 1760
|
||||
#define IDC_DOSAVEORNOTTEX 1761
|
||||
#define IDD_DOSAVEORNOTBOX 1760
|
||||
#define IDC_DOSAVEORNOTTEXT 1761
|
||||
|
||||
#define IDD_DOSAVEALLBOX 1765
|
||||
#define IDC_DOSAVEALLTEXT 1766
|
||||
|
||||
//#define IDD_USER_DEFINE_BOX 1800
|
||||
//#define IDD_RUN_DLG 1900
|
||||
|
|
Loading…
Reference in New Issue