void
SimplifierFoldAndTest::compileTestMethods()
   {
   int32_t rc = 0;

   TR::TypeDictionary types;

   TR::IlType* Int32 = types.PrimitiveType(TR::Int32);
   TR::IlType* Int64 = types.PrimitiveType(TR::Int64);

   int32_t numberOfArguments = 1;

   TR::IlType** argTypes = new TR::IlType*[numberOfArguments]
   {
      Int32
   };

   SimplifierFoldAndIlInjector ilInjector(&types, this);

   TR::ResolvedMethod compilee(__FILE__, LINETOSTR(__LINE__), "simplifierFoldAnd", numberOfArguments, argTypes, Int64, 0, &ilInjector);

   TR::IlGeneratorMethodDetails details(&compilee);

   testCompiledMethod = reinterpret_cast<SimplifierFoldAndTest::TestCompiledMethodType>(compileMethod(details, warm, rc));
   }
void Requestor::requestSynchCall( MemberOwner& owner, co::IMethod* method, 
                                           co::Slice<co::Any> args, const co::Any& ret )
{
    if( !_connected )
        CORAL_THROW( RemotingException, "Trying to request with the node stopped");
    
    InvocationDetails details( owner.instanceID, owner.facetID, method->getIndex(), 
                              owner.inheritanceDepth, true );
    ParameterPusher& pusher = _marshaller.beginInvocation( _publicEndpoint, details );
    
    pushParameters( method, args, pusher );
    
    std::string msg;
    _marshaller.marshalInvocation( msg );

    _handler->handleSynchRequest( msg, msg );

	MessageType msgType = _demarshaller.demarshal( msg );
    
    if( msgType == EXCEPTION )
        raiseReturnedException( _demarshaller );
    
	ParameterPuller& puller = _demarshaller.getOutput();

	if( method->getReturnType() )
		getReturn( puller, method->getReturnType(), ret );

	co::TSlice<co::IParameter*> params = method->getParameters();
	for( int i = 0; i < params.getSize(); i++ )
	{
		if( params[i]->getIsOut() )
			getReturn( puller, params[i]->getType(), args[i] );
	}
}
Beispiel #3
0
int main(void)
{
    printf("This program finds the number of spaces, newline characters"
           "\n and other characters in a given input");
    printf("Please enter the input line to be analyzed:\n");
    char ch; int n_space = 0; int nn_line = 0; int n_ch = 0;

    while((ch = getchar()) != '#')
    {

        if(ch == SPACE)
        {
            n_space++;
        }
        else if(ch == NEWLINE)
        {
            nn_line++;
        }
        else
        {
            n_ch++;
        }

    }
    printf("Spaces = %d, Newlines = %d, Other Characters = %d\n",
            n_space, nn_line, n_ch);

    details();
    return 0;
}
Beispiel #4
0
int main(void)
{
    printf("This program analyzes a file into uppercase, lowercase "
           "and other characters.\n");
    printf("Please input the file name:\n");
    int i_u = 0; int i_l = 0; int i_o = 0; FILE *fp; char ch; char fname[80];
    scanf("%s", &fname);
    fp = fopen(fname, "r");
    if((ch = getc(fp)) == NULL)
    {
        printf("File not accessible.\n");
        exit(1);
    }
    while((ch = getc(fp)) != EOF)
    {
        if(isupper(ch))
            i_u++;
        else if(islower(ch))
            i_l++;
        else
            i_o++;
    }
    printf("Number of upper case letters is %d, number of"
           "\nlower case letters is %d and number of other characters is %d.", i_u, i_l, i_o);
    printf("\n");
    details();
    return 0;
}
Beispiel #5
0
bool ViewScheduled::keyPressEvent(QKeyEvent *event)
{
    // FIXME: Blackholes keypresses, not good
    if (m_inEvent)
        return true;

    m_inEvent = true;

    if (GetFocusWidget()->keyPressEvent(event))
    {
        m_inEvent = false;
        return true;
    }

    bool handled = false;
    QStringList actions;
    handled = GetMythMainWindow()->TranslateKeyPress("TV Frontend", event,
                                                     actions);

    for (int i = 0; i < actions.size() && !handled; i++)
    {
        QString action = actions[i];
        handled = true;

        if (action == "EDIT")
            edit();
        else if (action == "CUSTOMEDIT")
            customEdit();
        else if (action == "DELETE")
            deleteRule();
        else if (action == "UPCOMING")
            upcoming();
        else if (action == "VIEWSCHEDULED")
            upcomingScheduled();
        else if (action == "DETAILS" || action == "INFO")
            details();
        else if (action == "1")
            setShowAll(true);
        else if (action == "2")
            setShowAll(false);
        else if (action == "PREVVIEW" || action == "NEXTVIEW")
            setShowAll(!m_showAll);
        else if (action == "VIEWCARD")
            viewCards();
        else if (action == "VIEWINPUT")
            viewInputs();
        else
            handled = false;
    }

    if (m_needFill)
        LoadList();

    if (!handled && MythScreenType::keyPressEvent(event))
        handled = true;

    m_inEvent = false;

    return handled;
}
Beispiel #6
0
void show_weather()
{
	int i;
	for(i = 0; i < 8; i++)
	{
		put_line(1);
		put_line(6);
		footer();

		details(DAYS[i].day, DAYS[i].temp, DAYS[i].wind_f, DAYS[i].wind_d, DAYS[i].state, i);

		if(strcmp(DAYS[i].state, "SLONECZNIE"))
			put_image(slo1, slo2);
		else
		if(strcmp(DAYS[i].state, "PRZEWAZNIE SLONECZNIE"))
			put_image(prz_slo1, prz_slo2);
		else
		if(strcmp(DAYS[i].state, "ZMIENNE ZACHMURZENIE"))
			put_image(zach_zm1, zach_zm2);
		else
		if(strcmp(DAYS[i].state, "ZACHMURZENIE PELNE, SLABY DESZCZ"))
			put_image(sd1, sd2);

		ClearScreen();
	}
}
void CNcdProtocolDefaultObserver::ClientConfigurationL( 
    MNcdConfigurationProtocolClientConfiguration* aConfiguration ) 
    {
    DLTRACEIN((""));
    CleanupDeletePushL( aConfiguration );

    // Should interpret details to grab master server validity information, 
    // for example

    // pass cookies to cookie handler
    TInt cookieCount = aConfiguration->CookieCount();
    DLINFO(("cookie count=%d",cookieCount));
    
    // Get SSID
    const TDesC8& ssid( iConfigurationManager.SsidL( iContext ) );
    
    MNcdServerDetails& details( 
        iConfigurationManager.ServerDetailsL( iContext, 
        *iServerUri,
        NcdProviderDefines::KConfigNamespace ));

    
    for ( TInt i = 0; i < cookieCount; ++i ) 
        {
        const MNcdConfigurationProtocolCookie& cookie( 
            aConfiguration->CookieL( i ) );
        details.AddCookieL( cookie, ssid );
        }

    CleanupStack::PopAndDestroy( aConfiguration );
    DLTRACEOUT((""));
    }
Beispiel #8
0
ScriptValue PaymentResponse::toJSONForBinding(ScriptState* scriptState) const {
  V8ObjectBuilder result(scriptState);
  result.addString("methodName", methodName());
  result.add("details", details(scriptState, ASSERT_NO_EXCEPTION));

  if (shippingAddress())
    result.add("shippingAddress",
               shippingAddress()->toJSONForBinding(scriptState));
  else
    result.addNull("shippingAddress");

  if (shippingOption().isNull())
    result.addNull("shippingOption");
  else
    result.addString("shippingOption", shippingOption());

  if (payerEmail().isNull())
    result.addNull("payerEmail");
  else
    result.addString("payerEmail", payerEmail());

  if (payerPhone().isNull())
    result.addNull("payerPhone");
  else
    result.addString("payerPhone", payerPhone());

  return result.scriptValue();
}
void CNcdProtocolDefaultObserver::ConfigurationServerDetailsL( 
    MNcdConfigurationProtocolServerDetails* aServerDetails )
    {
    DLTRACEIN((""));
    DASSERT( aServerDetails );
    DASSERT( iServerUri );
    DLINFO(("Server supports %d capabilities", 
        aServerDetails->CapabilityCount() ));
    
    CleanupDeletePushL( aServerDetails );
    
    if ( aServerDetails->CapabilityCount() )
        {
        DLTRACE(("Adding capabilities to server details"));
        MNcdServerDetails& details( 
            iConfigurationManager.ServerDetailsL( iContext, 
                *iServerUri,
                NcdProviderDefines::KConfigNamespace ));
        
        // Clear old caps so that we don't just keep on adding them.
        // AddCapabilityL does NOT check for duplicates
        details.ClearCapabilitiesL();

        for ( TInt i = 0; i < aServerDetails->CapabilityCount(); ++i )
            {
            details.AddCapabilityL( aServerDetails->CapabilityL( i ) );
            }
        iConfigurationManager.SaveConfigurationToDbL( iContext );
        }
    CleanupStack::PopAndDestroy( aServerDetails );
    }
Beispiel #10
0
int main(void)
{
    printf("This program takes 2 floating-point numbers and prints "
           "the value of their difference divided by their product.\n");
    printf("Please enter first and second numbers (Enter q to quit):\n");
    float x; float y;
    while(scanf("%f %f", &x, &y) == 2)
    {
        if (x > y)
        {
            printf("The result is %f\n", (x-y) / (x*y));
        }
        else
        {
            printf("The result is %f\n", (y-x) / (x*y));
        }
        printf("Please enter first and second numbers if you wish to calculate some more (Enter q to quit):\n");
        scanf("%f %f", &x, &y);

    }


    details();
    return 0;
}
/**
 * Open a file
 * @param newtab :: If true, a new tab will be created
 * @param filename :: An optional file name
 */
void MultiTabScriptInterpreter::open(bool newtab, const QString & filename)
{
  QString fileToOpen = filename;
  if( fileToOpen.isEmpty() )
  {
    QString filter = scriptingEnv()->fileFilter();
    filter += tr("Text") + " (*.txt *.TXT);;";
    filter += tr("All Files")+" (*)";
    fileToOpen = QFileDialog::getOpenFileName(this, tr("MantidPlot - Open a script from a file"),
        m_last_dir, filter);
    if( fileToOpen.isEmpty() )
    {
      return;
    }
  }
  else
  {
    QFileInfo details(fileToOpen);
    fileToOpen = details.absoluteFilePath();
  }

  //Save last directory
  m_last_dir = QFileInfo(fileToOpen).absolutePath();

  int index(-1);
  if( !newtab ) index = closeCurrentTab();
  newTab(index, fileToOpen);

  //update the recent scripts menu 
  updateRecentScriptList(fileToOpen);

}
void Requestor::requestSetField( MemberOwner& owner, co::IField* field, const co::Any arg )
{
    if( !_connected )
        CORAL_THROW( RemotingException, "Trying to request with the node stopped");
    
    InvocationDetails details( owner.instanceID, owner.facetID, field->getIndex(), 
                              owner.inheritanceDepth, false );
    ParameterPusher& pusher = _marshaller.beginInvocation( _publicEndpoint, details );
    
    co::IType* fieldType = field->getType();
    if( fieldType->getKind() != co::TK_INTERFACE )
    {
        pusher.pushValue( arg, fieldType );
    }
    else
    {
        ReferenceType refType;
        getProviderInfo( arg.get<co::IService*>(), refType );
        pusher.pushReference( refType );
    }
    
    std::string msg;
    _marshaller.marshalInvocation( msg );
    _handler->handleAsynchRequest( msg );
}
Beispiel #13
0
void NewGameTab::editImageProperties()
{
	QListWidgetItem* item = m_images->currentItem();
	if (!item || item->isHidden()) {
		return;
	}

	QString filename = item->data(ImageRole).toString();
	ImagePropertiesDialog dialog(item->icon(), item->text(), m_image_tags, filename, window());
	if (dialog.exec() == QDialog::Accepted) {
		// Update name
		item->setText(dialog.name());
		if (item->text() != item->data(NameRole).toString()) {
			item->setData(NameRole, item->text());

			QSettings details(Path::image("details"), QSettings::IniFormat);
			details.setValue(filename + "/Name", item->text());
			emit imageRenamed(filename, item->text());

			m_images->sortItems();
			m_images->scrollToItem(item);
		}

		// Update tags
		item->setData(TagsRole, m_image_tags->tags(item->data(ImageRole).toString()));
		updateToolTip(item);

	}
}
Beispiel #14
0
/**
 * @brief Compiles the method.
 *
 * This is called by Verify() and VerifiyAndInvoke().
 * The default implementation gets a #ResolvedMethod from #MethodInfo,
 * adds the IlVerifier, then compiles the method.
 */
void TestCompiler::OptTestDriver::compileTestMethods()
   {
   TR::ResolvedMethod resolvedMethod = _methodInfo->ResolvedMethod();
   TR::IlGeneratorMethodDetails details(&resolvedMethod);
   details.setIlVerifier(_ilVer);

   int32_t rc = 0;
   _compiledMethod = compileMethod(details, warm, rc);
   }
Beispiel #15
0
void kspio_handshake() {
	sbi(KSPIO_LED_DATA_PORT, KSPIO_GLED);

	kspio_hPacket.id = 0;
	kspio_hPacket.M1 = 3;
	kspio_hPacket.M2 = 1;
	kspio_hPacket.M3 = 4;

	kspio_boardSendData(details(kspio_hPacket));
}
Beispiel #16
0
int32_t
TestDriver::compileMethodBuilder(TR::MethodBuilder *m, uint8_t ** entry)
   {
   TR::ResolvedMethod resolvedMethod(m);
   TR::IlGeneratorMethodDetails details(&resolvedMethod);

   int32_t rc=0;
   *entry = (uint8_t *) compileMethod(details, warm, rc);
   return rc;
   }
Beispiel #17
0
uint8_t *
compileMethod(
      OMR_VMThread *omrVMThread,
      TR_ResolvedMethod &compilee,
      TR_Hotness hotness,
      int32_t &rc)
   {
   TR::IlGeneratorMethodDetails details(&compilee);
   return compileMethodFromDetails(omrVMThread, details, hotness, rc);
   }
Beispiel #18
0
bool ProgFinder::keyPressEvent(QKeyEvent *event)
{
    if (!m_allowKeypress)
        return true;

    m_allowKeypress = false;

    if (GetFocusWidget() && GetFocusWidget()->keyPressEvent(event))
    {
        m_allowKeypress = true;
        return true;
    }

    bool handled = false;

    QStringList actions;
    handled = GetMythMainWindow()->TranslateKeyPress("TV Frontend", event, actions);

    for (int i = 0; i < actions.size() && !handled; ++i)
    {
        QString action = actions[i];
        handled = true;

        if (action == "EDIT")
            edit();
        else if (action == "CUSTOMEDIT")
            customEdit();
        else if (action == "UPCOMING")
            upcoming();
        else if (action == "DETAILS" || action == "INFO")
            details();
        else if (action == "TOGGLERECORD")
            quickRecord();
        else if (action == "GUIDE" || action == "4")
            showGuide();
        else if (action == "ESCAPE")
        {
            // don't fade the screen if we are returning to the player
            if (m_player && m_allowEPG)
                GetScreenStack()->PopScreen(this, false);
            else
                GetScreenStack()->PopScreen(this, true);
        }
        else
            handled = false;
    }

    if (!handled && MythScreenType::keyPressEvent(event))
        handled = true;

    m_allowKeypress = true;

    return handled;
}
    vector<RecordIterator*> SimpleRecordStoreV1::getManyIterators( OperationContext* txn ) const {
        OwnedPointerVector<RecordIterator> iterators;
        const Extent* ext;
        for (DiskLoc extLoc = details()->firstExtent(txn); !extLoc.isNull(); extLoc = ext->xnext) {
            ext = _getExtent(txn, extLoc);
            if (ext->firstRecord.isNull())
                continue;
            iterators.push_back(
                new RecordStoreV1Base::IntraExtentIterator(txn, ext->firstRecord, this));
        }

        return iterators.release();
    }
Beispiel #20
0
unsigned int Statistic::_Workers::monthlyWages() const
{
  Statistic::WorkersInfo wInfo = details();

  if( wInfo.current == 0 )
    return 0;

  //wages all worker in year
  //workers take salary in sestertius 1/100 part of dinarius
  int wages = wInfo.current * monthlyOneWorkerWages();

  return std::max<int>( wages, 1 );
}
void CNcdProtocolDefaultObserver::InformationL( 
    MNcdPreminetProtocolInformation* aData )
    {
    DLTRACEIN(( _L("Namespace: %S"), &aData->Namespace() ));
    CleanupDeletePushL( aData );
    

    TInt cookieCount = aData->CookieCount();
    DLINFO(("cookie count=%d",cookieCount));

    MNcdServerDetails& details( 
        iConfigurationManager.ServerDetailsL( iContext, *iServerUri,
            aData->Namespace() ));


    // Get SSID
    const TDesC8& ssid( iConfigurationManager.SsidL( iContext ) );
    
    for ( TInt i = 0; i < cookieCount; ++i ) 
        {
        const MNcdConfigurationProtocolCookie& cookie( aData->CookieL( i ) );
        details.AddCookieL( cookie, ssid );
        }
    
    
    // Handle server capabilities
    DLTRACE(("Handle server capabilities"));
    const MNcdConfigurationProtocolServerDetails* serverDetails = 
        aData->ServerDetails();
    
    DLTRACE(("ServerDetails-ptr: %x", serverDetails ));
        
    if ( serverDetails && serverDetails->CapabilityCount() )
        {
        // Clear old caps so that we don't just keep on adding them.
        // AddCapabilityL does NOT check for duplicates
        details.ClearCapabilitiesL();

        DLINFO(("Capabilities: %d", serverDetails->CapabilityCount() ));
        DLTRACE(("Adding capabilities to server details"));
        
        for ( TInt i = 0; i < serverDetails->CapabilityCount(); ++i )
            {
            details.AddCapabilityL( serverDetails->CapabilityL( i ) );
            }
        
        }
    iConfigurationManager.SaveConfigurationToDbL( iContext );
    CleanupStack::PopAndDestroy( aData );
    DLTRACEOUT(("Protocol information handled"));
    }
Beispiel #22
0
/**
 * Parses "sources" child of the xml configuration
 */
void parseSources(xmlDocPtr doc, xmlNodePtr cur, config *conf)
{
    xmlChar *txt, *subtext;
    xmlNodePtr sub;
    cur = cur->xmlChildrenNode;
    while (cur != NULL) {
        if((!xmlStrcmp(cur->name, (const xmlChar *)"source"))) {
            source src;
            txt = xmlGetProp ( cur, (const xmlChar *)"type" );
            if (txt) {
                log << "sources type = " << txt << ":\n";
                log.flush();
                string type((char *)txt);
                src.type = type;
                xmlFree( txt );
                sub = cur->xmlChildrenNode;
                while (sub != NULL) {
                    if (sub->type == XML_ELEMENT_NODE) {
                        log << "\t\t " << sub->name << ": ";
                        subtext = xmlNodeListGetString(doc, sub->xmlChildrenNode, 1); 
                        log << subtext << "\n";
                        log.flush();
                        if(!xmlStrcmp(sub->name, (const xmlChar *)"granularity")) {
                            string granularity((char *)subtext);
			    if (granularity == "PerOffset")
                                parseDatFiles();
                            src.granularity = granularity;
                        } else {
                            string details((char *)subtext);
                            src.details.push_back(details);
                        }
                        xmlFree(subtext);
                    }
                    sub = sub->next;
                }
            }
            else {
                fprintf(stderr, "Sources: Document not structured properly");
            }
            conf->sources.push_back(src);
        } else if ((!xmlStrcmp(cur->name, (const xmlChar *)"taint-marks"))) {
            txt = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
            log << "max taint marks = " << txt << "\n";
            log.flush();
            string num_markings((const char *)txt);
            conf->num_markings = num_markings;
            xmlFree(txt);
        }
        cur = cur->next;
    }
}
Beispiel #23
0
void CaseFinder::updateCaseDetails(QString case_name)
{
    QString client = clientSelect->currentText();
    if (!rootDir->exists(client + "/" + case_name))
    {
        // Clear display
        caseStart->setText("--");
        caseEnd->setText("--");
        caseSummary->clear();
        caseSummary->setText("Case Note Found");

        return;
    }

    // Open Client descriptor
    if (!rootDir->exists(client + "/" + case_name + "/.info")) qDebug() << "Attempting to open case file without .info file!";
    QFile fp_details(rootDir->absoluteFilePath(client + "/" + case_name + "/.info"));

    // Get details from
    qDebug() << rootDir->absoluteFilePath(client + "/" + case_name + "/.info");
    if (fp_details.open(QFile::ReadOnly | QFile::Text))
    {
        // Open up data input stream and parse file
        QTextStream details(&fp_details);

        QStringList detail_lines = details.readAll().split('\n', QString::SkipEmptyParts);

        //QString status = case_name;
        caseStart->setText(case_name);

        QString date = ("0" == detail_lines[1])? ("OPEN") : (detail_lines[1]);
        caseEnd->setText(date);

        QString accumulater;
        for (int i=2; i<detail_lines.size(); i++)
        {
            accumulater += detail_lines[i] + "\n";
        }
        caseSummary->setText(accumulater);

        fp_details.close();
    } else
    {
        // Clear display
        caseStart->setText("--");
        caseEnd->setText("--");
        caseSummary->setText("File Error!");
    }
}
Beispiel #24
0
int main(void)
{
    printf("Please enter your height in inches (q to quit):\n");
    float inches; float cm;

    while(scanf("%f", &inches) == 1)
        {
            printf("Your height of %0.2f in inches is %0.2f in centimeters\n"
               , inches, 2.54*inches);
            printf("Please enter your height in inches (q to quit):\n");
        }
    details();

    return 0;
}
Beispiel #25
0
shared_ptr<IBackgroundJob::Details> PortalsOptimizerJob::getDetails() const
{
	String jobName(Engine::instance()->getText("job.optimizer"));

	shared_ptr<Portal> portal = getPortal();
	if(portal != nullptr)
	{
		jobName.append(" - ");
		jobName.append(portal->getPovName());
	}

	shared_ptr<Details> details(OS_NEW Details(jobName.to_wide()));

	return details;
}
Beispiel #26
0
void setup()
{
  Wire.begin(I2C_SLAVE_ADDRESS);
  //start the library, pass in the data details and the name of the serial port.
  // Can be Serial, Serial1, Serial2, etc. 
  ET.begin(details(mydata), &Wire);
  //define handler function on receiving data
    Wire.onReceive(receive);

  pinMode(singleButton, INPUT);
  pourer.initialize();

  susanServo.attach(susanPin);
  susanServo.write(cupOne);
}
void Requestor::requestAsynchCall( MemberOwner& owner, co::IMethod* method,  
                                            co::Slice<co::Any> args )
{
    if( !_connected )
        CORAL_THROW( RemotingException, "Trying to request with the node stopped");
    
    InvocationDetails details( owner.instanceID, owner.facetID, method->getIndex(), 
                              owner.inheritanceDepth, false );
    ParameterPusher& pusher = _marshaller.beginInvocation( _publicEndpoint, details );
    
    pushParameters( method, args, pusher );
    
    std::string msg;
    _marshaller.marshalInvocation( msg );
    _handler->handleAsynchRequest( msg );    
}
Beispiel #28
0
int main(void)
{
    printf("This program converts a given temperature from "
           "Fahrenheit scale to Celsius and Absolute scale.\n");
    printf("Please enter temperature to convert in Fahrenheit:\n");
    double F;
    while(scanf("%lf", &F) == 1)
    {
        Temperatures(F);

        printf("Do you want to convert any more temperatures?"
               "(Please enter temperature or q to quit)\n:");
    }
    details();
    return 0;
}
void QDeclarativeContact::setContact(const QContact& contact)
{
    m_id = contact.id();
    foreach (QDeclarativeContactDetail *detail, m_details)
        delete detail;
    m_details.clear();
    m_preferredDetails.clear();

    QList<QContactDetail> details(contact.details());
    foreach (const QContactDetail &detail, details) {
        QDeclarativeContactDetail *contactDetail = QDeclarativeContactDetailFactory::createContactDetail(static_cast<QDeclarativeContactDetail::DetailType>(detail.type()));
        contactDetail->setParent(this);
        contactDetail->setDetail(detail);
        connect(contactDetail, SIGNAL(detailChanged()), this, SIGNAL(contactChanged()));
        m_details.append(contactDetail);
    }
Beispiel #30
0
/* Edits selected network interface: */
void UIGlobalSettingsNetwork::sltEditInterface()
{
    /* Check interface presence */
    UIHostInterfaceItem *pItem = static_cast<UIHostInterfaceItem*>(m_pInterfacesTree->currentItem());
    AssertMsg(pItem, ("Current item should be selected!\n"));
    /* Edit current item data */
    UIGlobalSettingsNetworkDetails details(this);
    details.getFromItem(pItem);
    if (details.exec() == QDialog::Accepted)
    {
        details.putBackToItem();
        pItem->updateInfo();
        sltUpdateCurrentItem();
        m_pValidator->revalidate();
        m_fChanged = true;
    }
}