mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-27 07:44:24 +02:00
[NEW_FEATURE] Automatic Backup System.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1227 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
f8142f4aad
commit
e4ff453125
@ -501,6 +501,7 @@ LRESULT Notepad_plus::process(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
}
|
}
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
|
{
|
||||||
if (HIWORD(wParam) == SCEN_SETFOCUS)
|
if (HIWORD(wParam) == SCEN_SETFOCUS)
|
||||||
{
|
{
|
||||||
HWND hMain = _mainEditView.getHSelf(), hSec = _subEditView.getHSelf();
|
HWND hMain = _mainEditView.getHSelf(), hSec = _subEditView.getHSelf();
|
||||||
@ -523,7 +524,20 @@ LRESULT Notepad_plus::process(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
else
|
else
|
||||||
command(LOWORD(wParam));
|
command(LOWORD(wParam));
|
||||||
}
|
}
|
||||||
return TRUE;
|
}
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
case NPPM_INTERNAL_SAVECURRENTSESSION:
|
||||||
|
{
|
||||||
|
NppParameters *nppParam = NppParameters::getInstance();
|
||||||
|
if (nppParam->getNppGUI()._rememberLastSession && _rememberThisSession)
|
||||||
|
{
|
||||||
|
Session currentSession;
|
||||||
|
getCurrentOpenedFiles(currentSession, true);
|
||||||
|
nppParam->writeSession(currentSession);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
case NPPM_INTERNAL_RELOADNATIVELANG:
|
case NPPM_INTERNAL_RELOADNATIVELANG:
|
||||||
{
|
{
|
||||||
|
@ -1680,11 +1680,5 @@ void Notepad_plus::saveSession(const Session & session)
|
|||||||
|
|
||||||
void Notepad_plus::saveCurrentSession()
|
void Notepad_plus::saveCurrentSession()
|
||||||
{
|
{
|
||||||
NppParameters *nppParam = NppParameters::getInstance();
|
::PostMessage(_pPublicInterface->getHSelf(), NPPM_INTERNAL_SAVECURRENTSESSION, 0, 0);
|
||||||
if (nppParam->getNppGUI()._rememberLastSession && _rememberThisSession)
|
|
||||||
{
|
|
||||||
Session currentSession;
|
|
||||||
getCurrentOpenedFiles(currentSession, true);
|
|
||||||
nppParam->writeSession(currentSession);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -696,6 +696,9 @@ bool FileManager::backupCurrentBuffer()
|
|||||||
|
|
||||||
// Set created file name in buffer
|
// Set created file name in buffer
|
||||||
buffer->setBackupFileName(backupFilePath);
|
buffer->setBackupFileName(backupFilePath);
|
||||||
|
|
||||||
|
// Session changes, save it
|
||||||
|
hasModifForSession = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -743,7 +746,6 @@ bool FileManager::backupCurrentBuffer()
|
|||||||
{
|
{
|
||||||
_pscratchTilla->execute(SCI_SETDOCPOINTER, 0, _scratchDocDefault);
|
_pscratchTilla->execute(SCI_SETDOCPOINTER, 0, _scratchDocDefault);
|
||||||
buffer->setModifiedStatus(false);
|
buffer->setModifiedStatus(false);
|
||||||
hasModifForSession = true;
|
|
||||||
result = true; //all done
|
result = true; //all done
|
||||||
|
|
||||||
::SetEvent(writeEvent);
|
::SetEvent(writeEvent);
|
||||||
@ -767,17 +769,20 @@ bool FileManager::backupCurrentBuffer()
|
|||||||
generic_string file2Delete = buffer->getBackupFileName();
|
generic_string file2Delete = buffer->getBackupFileName();
|
||||||
buffer->setBackupFileName(TEXT(""));
|
buffer->setBackupFileName(TEXT(""));
|
||||||
result = (::DeleteFile(file2Delete.c_str()) != 0);
|
result = (::DeleteFile(file2Delete.c_str()) != 0);
|
||||||
|
|
||||||
|
// Session changes, save it
|
||||||
hasModifForSession = true;
|
hasModifForSession = true;
|
||||||
}
|
}
|
||||||
//printStr(TEXT("backup deleted in backupCurrentBuffer"));
|
//printStr(TEXT("backup deleted in backupCurrentBuffer"));
|
||||||
result = true; // no backup file to delete
|
result = true; // no backup file to delete
|
||||||
}
|
}
|
||||||
//printStr(TEXT("backup sync"));
|
//printStr(TEXT("backup sync"));
|
||||||
/*
|
|
||||||
if (hasModifForSession)
|
|
||||||
_pNotepadPlus->saveCurrentSession();
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
if (result && hasModifForSession)
|
||||||
|
{
|
||||||
|
//printStr(buffer->getBackupFileName().c_str());
|
||||||
|
_pNotepadPlus->saveCurrentSession();
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -794,7 +799,7 @@ bool FileManager::deleteCurrentBufferBackup()
|
|||||||
if (::WaitForSingleObject(writeEvent, INFINITE) != WAIT_OBJECT_0)
|
if (::WaitForSingleObject(writeEvent, INFINITE) != WAIT_OBJECT_0)
|
||||||
{
|
{
|
||||||
// problem!!!
|
// problem!!!
|
||||||
printStr(TEXT("pb!!!"));
|
printStr(TEXT("WaitForSingleObject problem in deleteCurrentBufferBackup()!"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -832,7 +837,7 @@ bool FileManager::saveBuffer(BufferID id, const TCHAR * filename, bool isCopy, g
|
|||||||
if (::WaitForSingleObject(writeEvent, INFINITE) != WAIT_OBJECT_0)
|
if (::WaitForSingleObject(writeEvent, INFINITE) != WAIT_OBJECT_0)
|
||||||
{
|
{
|
||||||
// problem!!!
|
// problem!!!
|
||||||
printStr(TEXT("pb!!!"));
|
printStr(TEXT("WaitForSingleObject problem in saveBuffer()!"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -394,7 +394,9 @@
|
|||||||
#define NPPM_INTERNAL_RECENTFILELIST_UPDATE (NOTEPADPLUS_USER_INTERNAL + 35)
|
#define NPPM_INTERNAL_RECENTFILELIST_UPDATE (NOTEPADPLUS_USER_INTERNAL + 35)
|
||||||
#define NPPM_INTERNAL_RECENTFILELIST_SWITCH (NOTEPADPLUS_USER_INTERNAL + 36)
|
#define NPPM_INTERNAL_RECENTFILELIST_SWITCH (NOTEPADPLUS_USER_INTERNAL + 36)
|
||||||
#define NPPM_INTERNAL_GETSCINTEDTVIEW (NOTEPADPLUS_USER_INTERNAL + 37)
|
#define NPPM_INTERNAL_GETSCINTEDTVIEW (NOTEPADPLUS_USER_INTERNAL + 37)
|
||||||
#define NPPM_INTERNAL_ENABLESNAPSHOT (NOTEPADPLUS_USER_INTERNAL + 38)
|
#define NPPM_INTERNAL_ENABLESNAPSHOT (NOTEPADPLUS_USER_INTERNAL + 38)
|
||||||
|
#define NPPM_INTERNAL_SAVECURRENTSESSION (NOTEPADPLUS_USER_INTERNAL + 39)
|
||||||
|
|
||||||
|
|
||||||
//wParam: 0
|
//wParam: 0
|
||||||
//lParam: document new index
|
//lParam: document new index
|
||||||
|
Loading…
x
Reference in New Issue
Block a user