forked from KolibriOS/kolibrios
Eolite: remember of choice for all files during COPY->REPLACE
git-svn-id: svn://kolibrios.org@9534 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
c876e40dbc
commit
ac5506b6cc
@ -11,9 +11,9 @@ TODO:
|
|||||||
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ABOUT_TITLE "EOLITE 5.17"
|
#define ABOUT_TITLE "EOLITE 5.18"
|
||||||
#define TITLE_EOLITE "Eolite File Manager 5.17"
|
#define TITLE_EOLITE "Eolite File Manager 5.18"
|
||||||
#define TITLE_KFM "Kolibri File Manager 2.17";
|
#define TITLE_KFM "Kolibri File Manager 2.18";
|
||||||
|
|
||||||
#define MEMSIZE 1024 * 250
|
#define MEMSIZE 1024 * 250
|
||||||
#include "../lib/clipboard.h"
|
#include "../lib/clipboard.h"
|
||||||
|
@ -124,6 +124,7 @@ void PasteThread()
|
|||||||
int paste_elements_count = 0;
|
int paste_elements_count = 0;
|
||||||
dword clipbuf;
|
dword clipbuf;
|
||||||
dword path_offset;
|
dword path_offset;
|
||||||
|
dword copy_state_ex = 0;
|
||||||
|
|
||||||
clipbuf = Clipboard__GetSlotData(Clipboard__GetSlotCount()-1);
|
clipbuf = Clipboard__GetSlotData(Clipboard__GetSlotCount()-1);
|
||||||
if (DSDWORD[clipbuf+4] != 3) return;
|
if (DSDWORD[clipbuf+4] != 3) return;
|
||||||
@ -160,6 +161,8 @@ _DIFFERENT_DRIVES:
|
|||||||
}
|
}
|
||||||
|
|
||||||
path_offset = clipbuf + 10;
|
path_offset = clipbuf + 10;
|
||||||
|
copy_state = FILE_DEFAULT;
|
||||||
|
saved_state = FILE_DEFAULT;
|
||||||
for (j = 0; j < paste_elements_count; j++) {
|
for (j = 0; j < paste_elements_count; j++) {
|
||||||
strcpy(#copy_from, path_offset);
|
strcpy(#copy_from, path_offset);
|
||||||
if (!copy_from) DialogExit();
|
if (!copy_from) DialogExit();
|
||||||
|
@ -46,8 +46,9 @@ void DisplayOperationForm(int operation_flag)
|
|||||||
copy_bar.max = 0;
|
copy_bar.max = 0;
|
||||||
}
|
}
|
||||||
copy_bar.frame_color = sc.work_graph;
|
copy_bar.frame_color = sc.work_graph;
|
||||||
if (copy_state == FILE_DEFAULT) event_mode = #CheckEvent;
|
|
||||||
if (copy_state == FILE_EXISTS) event_mode = #WaitEvent;
|
if (copy_state == FILE_EXISTS) event_mode = #WaitEvent;
|
||||||
|
else event_mode = #CheckEvent;
|
||||||
event_mode();
|
event_mode();
|
||||||
switch(EAX)
|
switch(EAX)
|
||||||
{
|
{
|
||||||
@ -59,15 +60,22 @@ void DisplayOperationForm(int operation_flag)
|
|||||||
DialogExit();
|
DialogExit();
|
||||||
break;
|
break;
|
||||||
case BTN_REPLACE:
|
case BTN_REPLACE:
|
||||||
|
if (is_remember == true) {
|
||||||
|
saved_state = FILE_REPLACE;
|
||||||
|
}
|
||||||
copy_state = FILE_REPLACE;
|
copy_state = FILE_REPLACE;
|
||||||
break;
|
break;
|
||||||
case BTN_SKIP:
|
case BTN_SKIP:
|
||||||
|
if (is_remember == true) {
|
||||||
|
saved_state = FILE_SKIP;
|
||||||
|
}
|
||||||
copy_state = FILE_SKIP;
|
copy_state = FILE_SKIP;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (remember_choice.click(EAX+1)) {
|
if (remember_choice.click(EAX+1)) {
|
||||||
notify(itoa(remember_choice.checked));
|
is_remember = remember_choice.checked;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case evReDraw:
|
case evReDraw:
|
||||||
|
@ -14,17 +14,23 @@ enum {
|
|||||||
FILE_SKIP,
|
FILE_SKIP,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
MODE_NORMAL,
|
||||||
|
MODE_FORCE
|
||||||
|
};
|
||||||
|
|
||||||
#define WRITE_ERROR_DEBUG 0
|
#define WRITE_ERROR_DEBUG 0
|
||||||
#define WRITE_ERROR_NOTIFY 1
|
#define WRITE_ERROR_NOTIFY 1
|
||||||
:int writing_error_channel = WRITE_ERROR_DEBUG;
|
:int writing_error_channel = WRITE_ERROR_DEBUG;
|
||||||
|
|
||||||
int copy_state = FILE_DEFAULT;
|
int copy_state = FILE_DEFAULT;
|
||||||
|
int saved_state = FILE_DEFAULT;
|
||||||
|
bool is_remember = false;
|
||||||
|
|
||||||
:int copyf(dword from1, in1)
|
:int copyf(dword from1, in1)
|
||||||
{
|
{
|
||||||
dword error;
|
dword error;
|
||||||
BDVK CopyFile_atr1;
|
BDVK CopyFile_atr1;
|
||||||
copy_state = FILE_DEFAULT;
|
|
||||||
|
|
||||||
if (!from1) || (!in1)
|
if (!from1) || (!in1)
|
||||||
{
|
{
|
||||||
@ -53,6 +59,7 @@ int copy_state = FILE_DEFAULT;
|
|||||||
}
|
}
|
||||||
if (copy_state == FILE_SKIP)
|
if (copy_state == FILE_SKIP)
|
||||||
{
|
{
|
||||||
|
error = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -72,7 +79,11 @@ int copy_state = FILE_DEFAULT;
|
|||||||
{
|
{
|
||||||
if (file_exists(copy_in3)) && (copy_state != FILE_REPLACE)
|
if (file_exists(copy_in3)) && (copy_state != FILE_REPLACE)
|
||||||
{
|
{
|
||||||
copy_state = FILE_EXISTS;
|
if (saved_state == FILE_DEFAULT) {
|
||||||
|
copy_state = FILE_EXISTS;
|
||||||
|
} else {
|
||||||
|
copy_state = saved_state;
|
||||||
|
}
|
||||||
return 222;
|
return 222;
|
||||||
}
|
}
|
||||||
if (GetFreeRAM()-1024*1024 < CopyFile_atr.sizelo) //GetFreeRam-1Mb and convert to bytes
|
if (GetFreeRAM()-1024*1024 < CopyFile_atr.sizelo) //GetFreeRam-1Mb and convert to bytes
|
||||||
@ -142,7 +153,7 @@ int copy_state = FILE_DEFAULT;
|
|||||||
}
|
}
|
||||||
if (copy_state == FILE_SKIP)
|
if (copy_state == FILE_SKIP)
|
||||||
{
|
{
|
||||||
copy_state = FILE_DEFAULT;
|
error = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user