Esempio n. 1
0
void browsers::layerbrowser::OnActiveLayerM(wxCommandEvent&)
{
   word layno = getFirstSelected();
   wxString cmd;
   cmd << wxT("usinglayer(") << layno << wxT(");");
   parseCommand(cmd);
}
Esempio n. 2
0
// public
void LLNameListCtrl::removeNameItem(const LLUUID& agent_id)
{
	BOOL item_exists = selectByID( agent_id );
	if(item_exists)
	{
		S32 index = getItemIndex(getFirstSelected());
		if(index >= 0)
		{
			deleteSingleItem(index);
		}
	}
}
Esempio n. 3
0
char cmd_copymove1(uchar copymode, uchar shiftPressed) {
  char *name;
  char e;
  FileInfo* f;
  char sourceFile[256];
  char mask[11];
  char forMask[11];
  char type;
  uint i;

  if(shiftPressed) {
    // Копируем имя c первой панели (без пути)
    f = getSelNoBack();
    if(!f) return 0; // Файл не выбран, выходим без ошибки
    unpackName(cmdLine, f->fname);
  } else {
    // Копируем путь со второй панели
    i = strlen(panelB.path1);
    if(i >= 254) return ERR_RECV_STRING; // Так как прибавим 2 символа
    cmdLine[0] = '/';
    strcpy(cmdline+1, panelB.path1);
    if(i != 0) strcpy(cmdline+i+1, "/");
  }

  // Позволяем пользователю изменить путь или имя
  if(!inputBox(copymode ? " kopirowatx " : " pereimenowatx/peremestitx ") && cmdline[0]!=0) return 0;

  // Преобразование относительного пути в абсолютный
  if(!absolutePath(cmdline)) return ERR_RECV_STRING;

  // Используется ли маска?
  mask[0] = 0;  
  name = getname(cmdline);
  if(name[0] != 0) {
    // Сохраняем маску
    packName(mask, name);
    // Убираем из пути маску
    dropPathInt(cmdLine, 0);
  } else {
    // Если в ком строке что то есть, а имя не выделено, значит ком строка оканчивается на /.
    // Этот символ надо удалить
    if(cmdline[0] != 0 && name[0] == 0) name[-1] = 0;
  }

  // Ищем первый файл
  type = getFirstSelected(sourceFile);
  if(type == 0) return 0; // Нет выбранных файлов

  for(;;) {
    // Преобразование относительного пути в абсолютный
    if(!absolutePath(sourceFile)) { e = ERR_RECV_STRING; break; }

    // Добавляем имя
    packName(forMask, getname(sourceFile));
    if(mask[0]) applyMask(forMask, mask);
    if(catPathAndUnpack(cmdline, forMask)) return ERR_RECV_STRING;

    // Самого в мебя не копируем и не переименовываем
    if(0!=strcmp(sourceFile, cmdline)) {
      // Выполнение операции
      if(copymode) {
        if(type==2) {
          e = cmd_copyFolder(sourceFile, cmdline);
        } else {
          e = cmd_copyFile(sourceFile, cmdline);
        }
      } else {
        // Простое окно
        drawWindow(" pereimenowanie/pereme}enie ");
        drawWindowText(0, 1, "iz:");
        drawWindowText(4, 1, sourceFile);
        drawWindowText(0, 2, "w:");
        drawWindowText(4, 2, cmdline);
        drawAnyKeyButton();

        // Прерывание
        if(fs_bioskey(1) == KEY_ESC) { e = ERR_USER; break; }

        e = fs_move(sourceFile, cmdline);    
      }

      if(e) break;
    }

    // Убираем из пути имя файла
    dropPathInt(cmdLine, 0);

    // Следующий выбранный файл
    type = getNextSelected(sourceFile);
    if(type == 0) { e=0; break; }
  } // конец цикла

  // При переносе файла надо обновить обе панели
  // А при копировании список файов используется под буфер
  getFiles();
  dupFiles(1);

  return e;
}