Пример #1
0
static void do_popup( WINDOW *win, int index, int mode, void *data)
{
	struct ssl_info_draw_param * dp = (struct ssl_info_draw_param *)data;
	char * items[dp->num_certs];
	short x, y;
	unsigned int i;
	int dispw;
	LOG(("do_popup: num certs: %d", dp->num_certs));
	for( i = 0; i<dp->num_certs; i++) {
		items[i] = malloc( 48 );
		strncpy(items[i], (char*)&dp->cert_infos_n[i].issuer, 46 );
	}
	objc_offset( FORM(win), index, &x, &y );
	dp->current = MenuPopUp( items, x, y,
			   dp->num_certs, MIN( 3, dp->num_certs), 0,
			   P_LIST + P_WNDW + P_CHCK );
	ObjcChange( OC_FORM, win, index, NORMAL, TRUE );
	dp->cols = cert_display_width( &dp->cert_infos_n[dp->current] );
	dp->rows = 8;
	dp->scrollx = 0;
	dp->scrolly = 0;

	/* Send (!) redraw ( OC_MSG ) */
	ObjcDrawParent( OC_FORM, FORM(win), VERIFY_BOX_DETAILS, 1, 7 | OC_MSG );
	for( i = 0; i<dp->num_certs; i++) {
		free( items[i] );
	}
}
Пример #2
0
void tao_clicked( WINDOW * win )
{
  OBJECT * form;
  int obj;
  form = FORM(win);
  obj = evnt.buff[4];

  switch( obj )
  {
  case TB_SRC_TEXT:
  case TB_SRC_FILE:
    fileselect( src_file, "*.*", "TXT_SELTAOSRC" );
    reduce_name( src_fred, src_file, MAX_FRED_SRC );
    ObjcDraw( OC_FORM, win, TB_SRC_FILE, MAX_DEPTH );
    tao_gestion_acces( form );
    break;
  case TB_DEST:
  case TB_DSTCYC:
    if( popup_mgr( win, &tao_popup, obj ) == 0 )
    {
      fileselect( dest_file, "*.iso", "TXT_SELDST" );
      form[ TB_DEST ].ob_spec.free_string = dest_fred;
      reduce_name( dest_fred, dest_file, MAX_FRED_DEST );
      ObjcDraw( OC_FORM, win, TB_DEST, MAX_DEPTH );
    }

    if( tao_popup.selected )
    {
      gen_speed_popup( &speed_popup,
        ((struct device_info*)tao_popup.item[tao_popup.selected].info)->sets->max_write_speed );
      if( speed_popup.selected >= speed_popup.item_count )
        speed_popup.selected = speed_popup.item_count - 1;
    }
    form[ TB_SPEED ].ob_spec.free_string = speed_popup.item[speed_popup.selected].text;
    ObjcDraw( OC_FORM, win, TB_SPEED, MAX_DEPTH );

    tao_gestion_acces( form );
    break;
  case TB_SPEED:
  case TB_SPDCYC:
    if( speed_popup.item_count > 1 )
      popup_mgr( win, &speed_popup, obj );
    break;
  case TB_OK:
    tao_valid( form );
  case TB_CANCEL:
    ApplWrite( app.id, WM_DESTROY, win->handle );
    break;
  case TB_START:
    tao_valid( form );
    tao_launch();
    break;
  default:
    tao_gestion_acces( form );
    break;
  }
}
Пример #3
0
void Capella::readCapxStaveLayout(XmlReader& e, CapStaffLayout* sl, int /*idx*/)
      {
      // initialize same variables as readStaveLayout(CapStaffLayout*, int)

      sl->barlineMode = 0;
      sl->noteLines   = 0;

      sl->bSmall      = 0; // TODO (unclear where this is in the capx file)

      sl->topDist      = 0;
      sl->btmDist      = 0;
      sl->groupDist    = 0;
      sl->barlineFrom = 0;
      sl->barlineTo   = 0;

      unsigned char clef = 0;
      sl->form = FORM(clef & 7);
      sl->line = CLEF_LINE((clef >> 3) & 7);
      sl->oct  = OCT((clef >> 6));
      // qDebug("   clef %x  form %d, line %d, oct %d", clef, sl->form, sl->line, sl->oct);

      // Schlagzeuginformation
      unsigned char b   = 0; // ?? TODO ?? sl->soundMapIn and sl->soundMapOut are not used
      sl->bPercussion  = b & 1;    // Schlagzeugkanal verwenden
      sl->bSoundMapIn  = b & 2;
      sl->bSoundMapOut = b & 4;
      /*
      if (sl->bSoundMapIn) {      // Umleitungstabelle fr Eingabe vom Keyboard
            uchar iMin = readByte();
            Q_UNUSED(iMin);
            uchar n    = readByte();
            assert (n > 0 and iMin + n <= 128);
            f->read(sl->soundMapIn, n);
            curPos += n;
            }
      if (sl->bSoundMapOut) {     // Umleitungstabelle fr das Vorspielen
            unsigned char iMin = readByte();
            unsigned char n    = readByte();
            assert (n > 0 and iMin + n <= 128);
            f->read(sl->soundMapOut, n);
            curPos += n;
            }
      */
      sl->sound  = 0;
      sl->volume = 0;
      sl->transp = 0;

      qDebug("readCapxStaveLayout");
      sl->descr = e.attribute("description");
      while (e.readNextStartElement()) {
            const QStringRef& tag(e.name());
            if (tag == "notation") {
                  capxNotation(e, sl->barlineMode, sl->barlineFrom, sl->barlineTo);
                  }
            else if (tag == "distances") {
                  qDebug("readCapxStaveLayout: found distances (skipping)");
                  e.skipCurrentElement();
                  }
            else if (tag == "instrument") {
                  sl->name = e.attribute("name");
                  sl->abbrev = e.attribute("abbrev");
                  // elements name and abbrev overrule attributes name and abbrev
                  while (e.readNextStartElement()) {
                        const QStringRef& tag(e.name());
                        if (tag == "name")
                              sl->name = e.readElementText();
                        else if (tag == "abbrev")
                              sl->abbrev = e.readElementText();
                        else
                              e.unknown();
                        }
                  }
            else if (tag == "sound") {
                  sl->sound = e.intAttribute("instr", 0);
                  sl->volume = e.intAttribute("volume", 0);
                  e.readNext();
                  }
            else
                  e.unknown();
            }
      qDebug("   descr '%s' name '%s' abbrev '%s'",
             qPrintable(sl->descr), qPrintable(sl->name), qPrintable(sl->abbrev));
      qDebug("   sound %d vol %d transp %d", sl->sound, sl->volume, sl->transp);
      qDebug("readCapxStaveLayout done");
      }
Пример #4
0
void copy_clicked( WINDOW * win )
{
  OBJECT * form;
  int obj, ret;
  form = FORM(win);
  obj = evnt.buff[4];

  switch( obj )
  {
  case CB_COPY:
    copy_valid( form );
    ret = dao_launch( srcdev_popup.selected?TST_CD:TST_FILE,
                      dstdev_popup.selected?TST_CD:TST_FILE );
    switch( ret )
    {
      case -5:
        alert_msg( "AL_UNDERRUN", 1 );
        break;
      case -4:
        alert_msg( "AL_DAOWRTERR", 1 );
        break;
      case -3:
        alert_msg( "AL_COPYREADERR", 1 );
        break;
      case -2:
        alert_msg( "AL_COPYINT", 1 );
        break;
      case -1:
        alert_msg( "AL_DAOOPSERR", 1 );
        break;
      case 0:
        alert_msg( "AL_COPYOK", 1 );
        break;
    }
    break;
  case CB_OK:
    copy_valid( form );
  case CB_CANCEL:
    ApplWrite( app.id, WM_DESTROY, win->handle );
    break;
  case CB_SPEED:
  case CB_SPDCYC:
    if( speed_popup.item_count > 1 )
      popup_mgr( win, &speed_popup, obj );
    break;
  case CB_SRCCYC:
  case CB_SOURCE:
    if( popup_mgr( win, &srcdev_popup, obj ) == 0 )
    {
      fileselect( copy_info.source_file, "*.cd", "TXT_SELSRC" );
      form[ CB_SOURCE ].ob_spec.free_string = copy_info.source_fred;
      reduce_name( copy_info.source_fred, copy_info.source_file, MAX_FRED_COPY );
      ObjcDraw( OC_FORM, win, CB_SOURCE, MAX_DEPTH );
    }
    copy_gestion_acces( form );
    break;
  case CB_DSTCYC:
  case CB_DEST:
    if( popup_mgr( win, &dstdev_popup, obj ) == 0 )
    {
      fileselect( copy_info.dest_file, "*.cd", "TXT_SELDST" );
      form[ CB_DEST ].ob_spec.free_string = copy_info.dest_fred;
      reduce_name( copy_info.dest_fred, copy_info.dest_file, MAX_FRED_COPY );
      ObjcDraw( OC_FORM, win, CB_DEST, MAX_DEPTH );
    }
    if( dstdev_popup.selected )
    {
      gen_speed_popup( &speed_popup,
        ((struct device_info*)dstdev_popup.item[dstdev_popup.selected].info)->sets->max_write_speed );
      if( speed_popup.selected >= speed_popup.item_count )
        speed_popup.selected = speed_popup.item_count - 1;
    }
    form[ CB_SPEED ].ob_spec.free_string = speed_popup.item[speed_popup.selected].text;
    ObjcDraw( OC_FORM, win, CB_SPEED, MAX_DEPTH );
    copy_gestion_acces( form );
    break;
  case CB_INTFILE:
    copy_seltempfile();
    ObjcDraw( OC_FORM, win, CB_INTFILE, MAX_DEPTH );
    break;
  default:
    copy_gestion_acces( form );
    break;
  }
}