本文整理汇总了C++中QStringList::size方法的典型用法代码示例。如果您正苦于以下问题:C++ QStringList::size方法的具体用法?C++ QStringList::size怎么用?C++ QStringList::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QStringList
的用法示例。
在下文中一共展示了QStringList::size方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addTransitionOnMap
void TransitionTerrain::addTransitionOnMap(Tiled::Map &tiledMap)
{
const unsigned int w=tiledMap.width();
const unsigned int h=tiledMap.height();
//list the layer name to parse
QHash<QString,LoadMap::Terrain> transition;
QStringList transitionList;
for(int height=0;height<5;height++)
for(int moisure=0;moisure<6;moisure++)
{
LoadMap::Terrain &terrain=LoadMap::terrainList[height][moisure];
if(!terrain.tmp_layerString.isEmpty())
{
if(!transitionList.contains(terrain.terrainName))
{
transition[terrain.terrainName]=terrain;
transitionList << terrain.terrainName;
}
}
}
{
Tiled::TileLayer * transitionLayerMask=LoadMap::searchTileLayerByName(tiledMap,"OnGrass");
Tiled::TileLayer * const colisionLayerMask=LoadMap::searchTileLayerByName(tiledMap,"Collisions");
unsigned int index=0;
while(index<(unsigned int)transitionList.size())
{
const LoadMap::Terrain &terrain=transition.value(transitionList.at(index));
Tiled::TileLayer * terrainLayer=terrain.tileLayer;
Tiled::TileLayer * transitionLayer=NULL;
uint16_t XORop;
if(terrain.outsideBorder)
{
transitionLayer=terrainLayer;
XORop=0x01ff;
}
else
{
const unsigned int index=LoadMap::searchTileIndexByName(tiledMap,terrain.tmp_layerString);
Tiled::Layer * rawLayer=tiledMap.layerAt(index+1);
if(!rawLayer->isTileLayer())
{
std::cerr << "Next layer after " << terrain.tmp_layerString.toStdString() << "is not tile layer (abort)" << std::endl;
abort();
}
transitionLayer=static_cast<Tiled::TileLayer *>(rawLayer);
transitionLayerMask=transitionLayer;
XORop=0x0000;
}
unsigned int y=0;
while(y<h)
{
unsigned int x=0;
while(x<w)
{
const bool innerBool=!XORop && (terrainLayer->cellAt(x,y).tile==terrain.tile);
const unsigned int &bitMask=x+y*w;
const bool outerBool=XORop && terrainLayer->cellAt(x,y).tile!=terrain.tile && !(MapBrush::mapMask[bitMask/8] & (1<<(7-bitMask%8)));
if(
//inner
innerBool ||
//outer
outerBool
)
{
//check the near tile and determine what transition use
const uint16_t to_type_match=layerMask(terrainLayer,x,y,terrain.tile,XORop);
if(to_type_match>512)
abort();
if(to_type_match!=0 && to_type_match!=16)
{
unsigned int indexTile=0;
if(XORop)
{
const uint16_t to_type_match_collision=layerMask(colisionLayerMask,x,y,NULL,false);
const bool onGrass=transitionLayerMask->cellAt(x,y).tile!=NULL;
bool forceDisplay=false;
//outer border
if(to_type_match&2)
{
if(to_type_match&8)
{
indexTile=8;
}
else if(to_type_match&32)
{
indexTile=9;
}
else
{
indexTile=5;
if(to_type_match_collision&8 && to_type_match_collision&32)
forceDisplay=true;
}
}
else if(to_type_match&128)
{
if(to_type_match&8)
//.........这里部分代码省略.........
示例2: uploadPersonalNotes
// Upload notes that belong to me
qint32 SyncRunner::uploadPersonalNotes() {
QLOG_TRACE_IN();
qint32 usn;
qint32 maxUsn = 0;
NotebookTable notebookTable(db);
LinkedNotebookTable linkedNotebookTable(db);
NoteTable noteTable(db);
QList<qint32> lids, validLids, deletedLids, movedLids;
QStringList deleteQueueGuids;
noteTable.getAllDirty(lids);
// Get all of the notes that were deleted, and then removed from the trash
noteTable.getAllDeleteQueue(deleteQueueGuids);
// Get a list of all notes that are both dirty and in an account we own and isn't deleted
for (int i = 0; i < lids.size(); i++) {
qint32 notebookLid = noteTable.getNotebookLid(lids[i]);
if (!linkedNotebookTable.exists(notebookLid)) {
if (!notebookTable.isLocal(notebookLid)) {
if (noteTable.isDeleted(lids[i]))
deletedLids.append(lids[i]);
else
validLids.append(lids[i]);
} else {
// We have a note that is local. Check if it was once
// synchronized. If so, it was moved to a local notebook
// and now needs to be deleted on the remote end
Note n;
noteTable.get(n, lids[i], false, false);
if (n.updateSequenceNum.isSet() && n.updateSequenceNum > 0) {
movedLids.append(lids[i]);
}
}
}
}
// Start deleting notes
for (int i = 0; i < deletedLids.size(); i++) {
QString guid = noteTable.getGuid(deletedLids[i]);
noteTable.setDirty(lids[i], false);
usn = comm->deleteNote(guid);
if (usn > maxUsn) {
maxUsn = usn;
noteTable.setUpdateSequenceNumber(deletedLids[i], usn);
noteTable.setDirty(deletedLids[i], false);
if (!finalSync)
emit(noteSynchronized(deletedLids[i], false));
}
}
// Start handling notes moved to a local notebook. What
// we do is to delete the note on Evernote, then give the
// note in the local notebook a new GUID & set the
// update sequence number to 0.
for (int i = 0; i < movedLids.size(); i++) {
QUuid uuid;
Guid newGuid = uuid.createUuid().toString().replace("{", "").replace("}", "");
QString guid = noteTable.getGuid(movedLids[i]);
noteTable.setDirty(movedLids[i], false);
noteTable.updateGuid(movedLids[i], newGuid);
noteTable.setUpdateSequenceNumber(movedLids[0], 0);
usn = comm->deleteNote(guid);
if (usn > maxUsn) {
maxUsn = usn;
}
if (!finalSync)
emit(noteSynchronized(movedLids[i], false));
}
// Delete any notes that were deleted, but emptied from the trash
for (int i = 0; i < deleteQueueGuids.size(); i++) {
QString guid = deleteQueueGuids[i];
usn = comm->deleteNote(guid);
if (usn > maxUsn) {
maxUsn = usn;
}
noteTable.expungeFromDeleteQueue(guid);
}
// Start uploading notes
for (int i = 0; i < validLids.size(); i++) {
Note note;
noteTable.get(note, validLids[i], true, true);
qint32 oldUsn = 0;
if (note.updateSequenceNum.isSet())
oldUsn = note.updateSequenceNum;
usn = comm->uploadNote(note);
if (usn == 0) {
this->communicationErrorHandler();
if (note.title.isSet())
QLOG_ERROR() << tr("Error uploading note:") + note.title;
else QLOG_ERROR() << tr("Error uploading note with a missing title!");
error = true;
//return maxUsn;
}
//.........这里部分代码省略.........
示例3: reactionAddRequest
void Manager::reactionAddRequest(QString name, int type, QStringList speciesin, QString speciesout, QStringList speciesoptional){
switch(type){
case CST_COMPLEXATION:{
Species *tab = NULL;
Species out;
int tab_size = 0;
for(int i=0;i<speciesin.size();i++){
for(int j=0;j<species_list_size;j++){
if(species_list[j].Get_name() == speciesin.at(i).toStdString()){
Species *new_tab = new Species[tab_size+1];
for(int n=0;n<tab_size;n++){
new_tab[n].Set_name(tab[n].Get_name());
new_tab[n].Set_initial_state(tab[n].Get_initial_state());
}
new_tab[tab_size] = species_list[i];
tab = new_tab;
tab_size++;
}
}
}
for(int j=0;j<species_list_size;j++){
if(species_list[j].Get_name() == speciesout.toStdString()){
out = species_list[j];
break;
}
}
Complex *tmp = new Complex("E_" + name.toStdString(),name.toStdString(),name.toStdString(),tab, speciesin.size(),out);
bool res = addReactionToList(tmp);
emit reactionAddingSuccess(res, name, CST_COMPLEXATION, speciesin, speciesout);
break;
}
case CST_SYNTHESIS:{
Species *tab_act = NULL;
int tab_act_size = 0;
for(int i=0;i<speciesin.size();i++){
for(int j=0;j<species_list_size;j++){
if(species_list[j].Get_name() == speciesin.at(i).toStdString()){
Species *new_tab = new Species[tab_act_size+1];
for(int n=0;n<tab_act_size;n++){
new_tab[n].Set_name(tab_act[n].Get_name());
new_tab[n].Set_initial_state(tab_act[n].Get_initial_state());
}
new_tab[tab_act_size] = species_list[i];
tab_act = new_tab;
tab_act_size++;
}
}
}
Species *tab_rep = NULL;
int tab_rep_size = 0;
for(int i=0;i<speciesoptional.size();i++){
for(int j=0;j<species_list_size;j++){
if(species_list[j].Get_name() == speciesoptional.at(i).toStdString()){
Species *new_tab_2 = new Species[tab_rep_size+1];
for(int n=0;n<tab_rep_size;n++){
new_tab_2[n].Set_name(tab_rep[n].Get_name());
new_tab_2[n].Set_initial_state(tab_rep[n].Get_initial_state());
}
new_tab_2[tab_rep_size] = species_list[j];
tab_rep = new_tab_2;
tab_rep_size++;
}
}
}
Species out;
for(int j=0;j<species_list_size;j++){
if(species_list[j].Get_name() == speciesout.toStdString()){
out = species_list[j];
break;
}
}
Synth *tmp = new Synth("E_" + name.toStdString(),name.toStdString(),name.toStdString(), tab_act, tab_rep, tab_act_size, tab_rep_size, out);
bool res = addReactionToList(tmp);
emit reactionAddingSuccess(res, name, CST_SYNTHESIS, speciesin, speciesout, speciesoptional);
break;
}
}
}
示例4: loadResearch
/** Load the research stats */
bool loadResearch(QString filename)
{
WzConfig ini(filename, WzConfig::ReadOnlyAndRequired);
QStringList list = ini.childGroups();
PLAYER_RESEARCH dummy;
memset(&dummy, 0, sizeof(dummy));
QVector<QStringList> preResearch;
preResearch.resize(list.size());
for (int inc = 0; inc < list.size(); ++inc)
{
// HACK FIXME: the code assumes we have empty PLAYER_RESEARCH entries to throw around
for (int j = 0; j < MAX_PLAYERS; j++)
{
asPlayerResList[j].push_back(dummy);
}
ini.beginGroup(list[inc]);
RESEARCH research;
research.index = inc;
research.name = ini.value("name").toString();
research.id = list[inc];
//check the name hasn't been used already
ASSERT_OR_RETURN(false, checkResearchName(&research, inc), "Research name '%s' used already", getName(&research));
research.ref = REF_RESEARCH_START + inc;
research.results = ini.json("results", QJsonArray());
//set subGroup icon
QString subGroup = ini.value("subgroupIconID", "").toString();
if (subGroup.compare("") != 0)
{
research.subGroup = setIconID(subGroup.toUtf8().data(), getName(&research));
}
else
{
research.subGroup = NO_RESEARCH_ICON;
}
//set key topic
unsigned int keyTopic = ini.value("keyTopic", 0).toUInt();
ASSERT(keyTopic <= 1, "Invalid keyTopic for research topic - '%s' ", getName(&research));
if (keyTopic <= 1)
{
research.keyTopic = ini.value("keyTopic", 0).toUInt();
}
else
{
research.keyTopic = 0;
}
//set tech code
UBYTE techCode = ini.value("techCode", 0).toUInt();
ASSERT(techCode <= 1, "Invalid tech code for research topic - '%s' ", getName(&research));
if (techCode == 0)
{
research.techCode = TC_MAJOR;
}
else
{
research.techCode = TC_MINOR;
}
//set the iconID
QString iconID = ini.value("iconID", "").toString();
if (iconID.compare("") != 0)
{
research.iconID = setIconID(iconID.toUtf8().data(), getName(&research));
}
else
{
research.iconID = NO_RESEARCH_ICON;
}
//get the IMDs used in the interface
QString statID = ini.value("statID", "").toString();
research.psStat = NULL;
if (statID.compare("") != 0)
{
//try find the structure stat with given name
research.psStat = getCompStatsFromName(statID);
ASSERT_OR_RETURN(false, research.psStat, "Could not find stats for %s research %s", statID.toUtf8().constData(), getName(&research));
}
QString imdName = ini.value("imdName", "").toString();
if (imdName.compare("") != 0)
{
research.pIMD = modelGet(imdName);
ASSERT(research.pIMD != NULL, "Cannot find the research PIE '%s' for record '%s'", imdName.toUtf8().data(), getName(&research));
}
QString imdName2 = ini.value("imdName2", "").toString();
if (imdName2.compare("") != 0)
{
research.pIMD2 = modelGet(imdName2);
ASSERT(research.pIMD2 != NULL, "Cannot find the 2nd research '%s' PIE for record '%s'", imdName2.toUtf8().data(), getName(&research));
}
//.........这里部分代码省略.........
示例5: GetData
/**
* Retrieves the data stored in this object and store the result in
* pMedium.
*
* @return IPRT status code.
* @return HRESULT
* @param pFormatEtc
* @param pMedium
*/
STDMETHODIMP UIDnDDataObject::GetData(FORMATETC *pFormatEtc, STGMEDIUM *pMedium)
{
AssertPtrReturn(pFormatEtc, DV_E_FORMATETC);
AssertPtrReturn(pMedium, DV_E_FORMATETC);
#ifdef VBOX_DND_DEBUG_FORMATS
LogFlowFunc(("pFormatEtc=%p, pMedium=%p\n", pFormatEtc, pMedium));
#endif
ULONG lIndex;
if (!LookupFormatEtc(pFormatEtc, &lIndex)) /* Format supported? */
return DV_E_FORMATETC;
if (lIndex >= mcFormats) /* Paranoia. */
return DV_E_FORMATETC;
FORMATETC *pThisFormat = &mpFormatEtc[lIndex];
AssertPtr(pThisFormat);
STGMEDIUM *pThisMedium = &mpStgMedium[lIndex];
AssertPtr(pThisMedium);
HRESULT hr = DV_E_FORMATETC;
LogFlowFunc(("mStatus=%ld\n", mStatus));
if (mStatus == Dropping)
{
LogFlowFunc(("Waiting for event ...\n"));
int rc2 = RTSemEventWait(mSemEvent, RT_INDEFINITE_WAIT);
LogFlowFunc(("rc=%Rrc, mStatus=%ld\n", rc2, mStatus));
}
if (mStatus == Dropped)
{
LogFlowFunc(("cfFormat=%RI16, sFormat=%s, tyMed=%RU32, dwAspect=%RU32\n",
pThisFormat->cfFormat, UIDnDDataObject::ClipboardFormatToString(pFormatEtc->cfFormat),
pThisFormat->tymed, pThisFormat->dwAspect));
LogFlowFunc(("Got strFormat=%s, pvData=%p, cbData=%RU32\n",
mstrFormat.toAscii().constData(), mpvData, mcbData));
QVariant::Type vaType;
QString strMIMEType;
if ( (pFormatEtc->tymed & TYMED_HGLOBAL)
&& (pFormatEtc->dwAspect == DVASPECT_CONTENT)
&& ( pFormatEtc->cfFormat == CF_TEXT
|| pFormatEtc->cfFormat == CF_UNICODETEXT)
)
{
strMIMEType = "text/plain"; /** @todo Indicate UTF8 encoding? */
vaType = QVariant::String;
}
else if ( (pFormatEtc->tymed & TYMED_HGLOBAL)
&& (pFormatEtc->dwAspect == DVASPECT_CONTENT)
&& (pFormatEtc->cfFormat == CF_HDROP))
{
strMIMEType = "text/uri-list";
vaType = QVariant::StringList;
}
#if 0 /* More formats; not needed right now. */
else if ( (pFormatEtc->tymed & TYMED_ISTREAM)
&& (pFormatEtc->dwAspect == DVASPECT_CONTENT)
&& (pFormatEtc->cfFormat == CF_FILECONTENTS))
{
}
else if ( (pFormatEtc->tymed & TYMED_HGLOBAL)
&& (pFormatEtc->dwAspect == DVASPECT_CONTENT)
&& (pFormatEtc->cfFormat == CF_FILEDESCRIPTOR))
{
}
else if ( (pFormatEtc->tymed & TYMED_HGLOBAL)
&& (pFormatEtc->cfFormat == CF_PREFERREDDROPEFFECT))
{
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE | GMEM_ZEROINIT, sizeof(DWORD));
DWORD *pdwEffect = (DWORD *)GlobalLock(hData);
AssertPtr(pdwEffect);
*pdwEffect = DROPEFFECT_COPY;
GlobalUnlock(hData);
pMedium->hGlobal = hData;
pMedium->tymed = TYMED_HGLOBAL;
}
#endif
LogFlowFunc(("strMIMEType=%s, vaType=%ld\n",
strMIMEType.toAscii().constData(), vaType));
int rc;
if (!mVaData.isValid())
{
rc = UIDnDDrag::RetrieveData(mSession,
mDnDSource,
//.........这里部分代码省略.........
示例6: showWebVideo
void NetTree::showWebVideo()
{
ResultItem *item;
if (m_type == DLG_TREE)
item = qVariantValue<ResultItem *>(m_siteMap->GetCurrentNode()->GetData());
else
{
MythGenericTree *node = GetNodePtrFromButton(m_siteButtonList->GetItemCurrent());
if (!node)
return;
item = qVariantValue<ResultItem *>(node->GetData());
}
if (!item)
return;
if (!item->GetPlayer().isEmpty())
{
QString cmd = item->GetPlayer();
QStringList args = item->GetPlayerArguments();
if (!args.size())
{
args += item->GetMediaURL();
if (!args.size())
args += item->GetURL();
}
else
{
args.replaceInStrings("%DIR%", QString(GetConfDir() + "/MythNetvision"));
args.replaceInStrings("%MEDIAURL%", item->GetMediaURL());
args.replaceInStrings("%URL%", item->GetURL());
args.replaceInStrings("%TITLE%", item->GetTitle());
}
QString playerCommand = cmd + " " + args.join(" ");
myth_system(playerCommand);
}
else
{
QString url = item->GetURL();
LOG(VB_GENERAL, LOG_DEBUG, QString("Web URL = %1").arg(url));
if (url.isEmpty())
return;
QString browser = gCoreContext->GetSetting("WebBrowserCommand", "");
QString zoom = gCoreContext->GetSetting("WebBrowserZoomLevel", "1.0");
if (browser.isEmpty())
{
ShowOkPopup(tr("No browser command set! MythNetTree needs MythBrowser "
"installed to display the video."));
return;
}
if (browser.toLower() == "internal")
{
GetMythMainWindow()->HandleMedia("WebBrowser", url);
return;
}
else
{
QString cmd = browser;
cmd.replace("%ZOOM%", zoom);
cmd.replace("%URL%", url);
cmd.replace('\'', "%27");
cmd.replace("&","\\&");
cmd.replace(";","\\;");
GetMythMainWindow()->AllowInput(false);
myth_system(cmd, kMSDontDisableDrawing);
GetMythMainWindow()->AllowInput(true);
return;
}
}
}
示例7: QWidget
/*
* Because Maemo 5 is using a special dialog design this window is declared
* as a tool window.
*/
SettingsPagePointDataLoading::SettingsPagePointDataLoading( QWidget *parent ) :
QWidget( parent )
{
setObjectName("SettingsPagePointDataLoading");
setAttribute( Qt::WA_DeleteOnClose );
setWindowFlags( Qt::Tool );
setWindowTitle(tr("Point data loading settings"));
setWindowModality( Qt::WindowModal );
if( _globalMainWindow )
{
// Resize the window to the same size as the main window has. That will
// completely hide the parent window.
resize( _globalMainWindow->size() );
}
QStringList mapDirs = GeneralConfig::instance()->getMapDirectories();
QVBoxLayout *topLayout = new QVBoxLayout( this );
topLayout->setSpacing(10);
m_fileTable = new QTableWidget( 0, 1, this );
m_fileTable->setToolTip( tr("Uncheck All to enable loading of single files.") );
m_fileTable->setSelectionBehavior( QAbstractItemView::SelectRows );
m_fileTable->setAlternatingRowColors( true );
m_fileTable->setShowGrid( true );
// set new row height from configuration
int afMargin = GeneralConfig::instance()->getListDisplayAFMargin();
m_fileTable->setItemDelegate( new RowDelegate( m_fileTable, afMargin ) );
m_fileTable->setVerticalScrollMode( QAbstractItemView::ScrollPerPixel );
m_fileTable->setHorizontalScrollMode( QAbstractItemView::ScrollPerPixel );
#ifdef ANDROID
QScrollBar* lvsb = m_fileTable->verticalScrollBar();
lvsb->setStyleSheet( Layout::getCbSbStyle() );
#endif
#ifdef QSCROLLER
QScroller::grabGesture( m_fileTable->viewport(), QScroller::LeftMouseButtonGesture );
#endif
#ifdef QTSCROLLER
QtScroller::grabGesture( m_fileTable->viewport(), QtScroller::LeftMouseButtonGesture );
#endif
QString style = "QTableView QTableCornerButton::section { background: gray }";
m_fileTable->setStyleSheet( style );
QHeaderView *vHeader = m_fileTable->verticalHeader();
style = "QHeaderView::section { width: 2em }";
vHeader->setStyleSheet( style );
connect( m_fileTable, SIGNAL(cellClicked ( int, int )),
SLOT(slot_toggleCheckBox( int, int )) );
connect( m_fileTable, SIGNAL(itemSelectionChanged()),
this, SLOT(slot_itemSelectionChanged()) );
QHeaderView* hHeader = m_fileTable->horizontalHeader();
hHeader->setStretchLastSection( true );
QString loadDirs;
for( int i = 0; i < mapDirs.size(); i++ )
{
if( i > 0 )
{
loadDirs.append("\n");
}
loadDirs += mapDirs.at(i) + "/points";
}
QTableWidgetItem *item = new QTableWidgetItem( loadDirs );
item->setTextAlignment( Qt::AlignLeft );
m_fileTable->setHorizontalHeaderItem( 0, item );
topLayout->addWidget( m_fileTable, 10 );
int buttonSize = Layout::getButtonSize();
int iconSize = buttonSize - 5;
m_delButton = new QPushButton;
m_delButton->setIcon( QIcon( GeneralConfig::instance()->loadPixmap( "delete.png" ) ) );
m_delButton->setIconSize(QSize(iconSize, iconSize));
m_delButton->setMinimumSize(buttonSize, buttonSize);
m_delButton->setMaximumSize(buttonSize, buttonSize);
m_delButton->setEnabled( false );
QPushButton *okButton = new QPushButton;
okButton->setIcon(QIcon(GeneralConfig::instance()->loadPixmap("ok.png")));
okButton->setIconSize(QSize(iconSize, iconSize));
okButton->setMinimumSize(buttonSize, buttonSize);
okButton->setMaximumSize(buttonSize, buttonSize);
//.........这里部分代码省略.........
示例8: init
//.........这里部分代码省略.........
printf( "Reading contributors file %s.............................................\n",
file2.fileName().toLocal8Bit().constData() );
if ( file2.open( QIODevice::ReadOnly ) )
{
QTextStream stream( &file2 );
// Always use UTF-8
stream.setCodec( "UTF-8" );
QString line;
while ( !stream.atEnd() )
{
line = stream.readLine(); // line of text excluding '\n'
//ignore the line if it starts with a hash....
if ( line.left( 1 ) == "#" )
continue;
lines += line;
}
file2.close();
lstContributors->clear();
lstContributors->insertItems( 0, lines );
if ( lstContributors->count() > 0 )
{
lstContributors->setCurrentRow( 0 );
}
}
// read the DONORS file and populate the text widget
QFile donorsFile( QgsApplication::donorsFilePath() );
#ifdef QGISDEBUG
printf( "Reading donors file %s.............................................\n",
donorsFile.fileName().toLocal8Bit().constData() );
#endif
if ( donorsFile.open( QIODevice::ReadOnly ) )
{
QString donorsHTML = ""
+ tr( "<p>For a list of individuals and institutions who have contributed "
"money to fund QGIS development and other project costs see "
"<a href=\"http://qgis.org/en/sponsorship/donors.html\">"
"http://qgis.org/en/sponsorship/donors.html</a></p>" );
#if 0
QString website;
QTextStream donorsStream( &donorsFile );
// Always use UTF-8
donorsStream.setCodec( "UTF-8" );
QString sline;
while ( !donorsStream.atEnd() )
{
sline = donorsStream.readLine(); // line of text excluding '\n'
//ignore the line if it starts with a hash....
if ( sline.left( 1 ) == "#" )
continue;
QStringList myTokens = sline.split( "|", QString::SkipEmptyParts );
if ( myTokens.size() > 1 )
{
website = "<a href=\"" + myTokens[1].remove( ' ' ) + "\">" + myTokens[1] + "</a>";
}
else
{
website = " ";
}
donorsHTML += "<tr>";
donorsHTML += "<td>" + myTokens[0] + "</td><td>" + website + "</td>";
// close the row
donorsHTML += "</tr>";
}
donorsHTML += "</table>";
#endif
QString myStyle = QgsApplication::reportStyleSheet();
txtDonors->clear();
txtDonors->document()->setDefaultStyleSheet( myStyle );
txtDonors->setHtml( donorsHTML );
QgsDebugMsg( QString( "donorsHTML:%1" ).arg( donorsHTML.toAscii().constData() ) );
}
// read the TRANSLATORS file and populate the text widget
QFile translatorFile( QgsApplication::translatorsFilePath() );
#ifdef QGISDEBUG
printf( "Reading translators file %s.............................................\n",
translatorFile.fileName().toLocal8Bit().constData() );
#endif
if ( translatorFile.open( QIODevice::ReadOnly ) )
{
QString translatorHTML = "";
QTextStream translatorStream( &translatorFile );
// Always use UTF-8
translatorStream.setCodec( "UTF-8" );
QString myStyle = QgsApplication::reportStyleSheet();
translatorHTML += "<style>" + myStyle + "</style>";
while ( !translatorStream.atEnd() )
{
translatorHTML += translatorStream.readLine();
}
txtTranslators->setHtml( translatorHTML );
QgsDebugMsg( QString( "translatorHTML:%1" ).arg( translatorHTML.toAscii().constData() ) );
}
setWhatsNew();
setLicence();
}
示例9: onScLangReponse
void ScServer::onScLangReponse( const QString & selector, const QString & data )
{
static QString defaultServerRunningChangedSelector("defaultServerRunningChanged");
static QString mutedSelector("serverMuted");
static QString unmutedSelector("serverUnmuted");
static QString ampSelector("serverAmp");
static QString ampRangeSelector("serverAmpRange");
static QString startDumpOSCSelector("dumpOSCStarted");
static QString stopDumpOSCSelector("dumpOSCStopped");
static QString startRecordingSelector("recordingStarted");
static QString pauseRecordingSelector("recordingPaused");
static QString stopRecordingSelector("recordingStopped");
static QString recordingDurationSelector("recordingDuration");
if (selector == defaultServerRunningChangedSelector)
handleRuningStateChangedMsg(data);
else if(selector == mutedSelector) {
mActions[Mute]->setChecked(true);
} else if (selector == unmutedSelector) {
mActions[Mute]->setChecked(false);
}
else if (selector == startDumpOSCSelector) {
mActions[DumpOSC]->setChecked(true);
}
else if (selector == stopDumpOSCSelector) {
mActions[DumpOSC]->setChecked(false);
}
else if (selector == recordingDurationSelector) {
bool ok;
float duration = data.mid(1, data.size() - 2).toFloat(&ok);
if (ok) {
mRecordingSeconds = (int) duration;
updateRecordingAction();
}
}
else if (selector == startRecordingSelector) {
setRecording(true);
}
else if (selector == startRecordingSelector) {
setRecording(true);
}
else if (selector == pauseRecordingSelector) {
pauseRecording(true);
}
else if (selector == stopRecordingSelector) {
setRecording(false);
}
else if (selector == ampSelector) {
bool ok;
float volume = data.mid(1, data.size() - 2).toFloat(&ok);
if (ok) {
mVolume = volume;
emit volumeChanged( volume );
}
}
else if (selector == ampRangeSelector) {
bool ok;
QStringList dataList = data.mid(1, data.size() - 2).split(',');
if (dataList.size() < 2)
return;
float min = dataList[0].toFloat(&ok);
if (!ok) return;
float max = dataList[1].toFloat(&ok);
if (!ok) return;
mVolumeMin = min;
mVolumeMax = max;
setVolumeRange( min, max );
}
}
示例10: ProcessData
void SSDP::ProcessData( MSocketDevice *pSocket )
{
QByteArray buffer;
long nBytes = 0;
while ((nBytes = pSocket->bytesAvailable()) > 0)
{
buffer.resize(nBytes);
long nRead = 0;
do
{
long ret = pSocket->readBlock( buffer.data() + nRead, nBytes );
if (ret < 0)
{
LOG(VB_GENERAL, LOG_ERR, QString("Socket readBlock error %1")
.arg(pSocket->error()));
buffer.clear();
break;
}
nRead += ret;
if (0 == ret)
{
LOG(VB_SOCKET, LOG_WARNING,
QString("%1 bytes reported available, "
"but only %2 bytes read.")
.arg(nBytes).arg(nRead));
nBytes = nRead;
buffer.resize(nBytes);
break;
}
}
while (nRead < nBytes);
if (buffer.isEmpty())
continue;
QHostAddress peerAddress = pSocket->peerAddress();
quint16 peerPort = pSocket->peerPort ();
// ------------------------------------------------------------------
QString str = QString(buffer.constData());
QStringList lines = str.split("\r\n", QString::SkipEmptyParts);
QString sRequestLine = lines.size() ? lines[0] : "";
lines.pop_front();
// ------------------------------------------------------------------
// Parse request Type
// ------------------------------------------------------------------
LOG(VB_UPNP, LOG_DEBUG, QString("SSDP::ProcessData - requestLine: %1")
.arg(sRequestLine));
SSDPRequestType eType = ProcessRequestLine( sRequestLine );
// ------------------------------------------------------------------
// Read Headers into map
// ------------------------------------------------------------------
QStringMap headers;
for ( QStringList::Iterator it = lines.begin();
it != lines.end(); ++it )
{
QString sLine = *it;
QString sName = sLine.section( ':', 0, 0 ).trimmed();
QString sValue = sLine.section( ':', 1 );
sValue.truncate( sValue.length() ); //-2
if ((sName.length() != 0) && (sValue.length() !=0))
headers.insert( sName.toLower(), sValue.trimmed() );
}
#if 0
pSocket->SetDestAddress( peerAddress, peerPort );
#endif
// --------------------------------------------------------------
// See if this is a valid request
// --------------------------------------------------------------
switch( eType )
{
case SSDP_MSearch:
{
// ----------------------------------------------------------
// If we haven't enabled notifications yet, then we don't
// want to answer search requests.
// ----------------------------------------------------------
if (m_pNotifyTask != NULL)
ProcessSearchRequest( headers, peerAddress, peerPort );
break;
}
//.........这里部分代码省略.........
示例11: on_mLoadFromFileButton_clicked
void QgsSingleBandPseudoColorRendererWidget::on_mLoadFromFileButton_clicked()
{
int lineCounter = 0;
bool importError = false;
QString badLines;
QSettings settings;
QString lastDir = settings.value( "lastRasterFileFilterDir", "" ).toString();
QString fileName = QFileDialog::getOpenFileName( this, tr( "Open file" ), lastDir, tr( "Textfile (*.txt)" ) );
QFile inputFile( fileName );
if ( inputFile.open( QFile::ReadOnly ) )
{
//clear the current tree
mColormapTreeWidget->clear();
QTextStream inputStream( &inputFile );
QString inputLine;
QStringList inputStringComponents;
QList<QgsColorRampShader::ColorRampItem> colorRampItems;
//read through the input looking for valid data
while ( !inputStream.atEnd() )
{
lineCounter++;
inputLine = inputStream.readLine();
if ( !inputLine.isEmpty() )
{
if ( !inputLine.simplified().startsWith( "#" ) )
{
if ( inputLine.contains( "INTERPOLATION", Qt::CaseInsensitive ) )
{
inputStringComponents = inputLine.split( ":" );
if ( inputStringComponents.size() == 2 )
{
if ( inputStringComponents[1].trimmed().toUpper().compare( "INTERPOLATED", Qt::CaseInsensitive ) == 0 )
{
mColorInterpolationComboBox->setCurrentIndex( mColorInterpolationComboBox->findText( tr( "Linear" ) ) );
}
else if ( inputStringComponents[1].trimmed().toUpper().compare( "DISCRETE", Qt::CaseInsensitive ) == 0 )
{
mColorInterpolationComboBox->setCurrentIndex( mColorInterpolationComboBox->findText( tr( "Discrete" ) ) );
}
else
{
mColorInterpolationComboBox->setCurrentIndex( mColorInterpolationComboBox->findText( tr( "Exact" ) ) );
}
}
else
{
importError = true;
badLines = badLines + QString::number( lineCounter ) + ":\t[" + inputLine + "]\n";
}
}
else
{
inputStringComponents = inputLine.split( "," );
if ( inputStringComponents.size() == 6 )
{
QgsColorRampShader::ColorRampItem currentItem( inputStringComponents[0].toDouble(),
QColor::fromRgb( inputStringComponents[1].toInt(), inputStringComponents[2].toInt(),
inputStringComponents[3].toInt(), inputStringComponents[4].toInt() ),
inputStringComponents[5] );
colorRampItems.push_back( currentItem );
}
else
{
importError = true;
badLines = badLines + QString::number( lineCounter ) + ":\t[" + inputLine + "]\n";
}
}
}
}
lineCounter++;
}
populateColormapTreeWidget( colorRampItems );
if ( importError )
{
QMessageBox::warning( this, tr( "Import Error" ), tr( "The following lines contained errors\n\n" ) + badLines );
}
}
else if ( !fileName.isEmpty() )
{
QMessageBox::warning( this, tr( "Read access denied" ), tr( "Read access denied. Adjust the file permissions and try again.\n\n" ) );
}
}
示例12: readFromOmc
/**
* This function fills parent with its children. To achieve this, it calls MOOmc functions.
* @arg depthMax : maximum depth filling should go (each time functions goes in children, grand children...
* Depth is increased by one.
* @arg curDepth : current depth.
* @arg direction : allows to drive looking function along a path. This is especially used
* to look for deep modelas without covering all items.
*/
void ModItemsTree::readFromOmc(ModItem* parent,int depthMax,QString direction,int curDepth)
{
if(parent->_readMutex.tryLock() && _project->useOmc())
{
if((curDepth<=depthMax)&&!parent->childrenReaden())
{
ModItem* newElement;
QString childrenDirection = direction.section(".",curDepth+1,curDepth+1);
bool readPackages = (parent->getClassRestr()==Modelica::PACKAGE) || (parent->getClassRestr()==Modelica::GENERIC);
bool readModels = (parent->getClassRestr()==Modelica::PACKAGE) || (parent->getClassRestr()==Modelica::GENERIC);
bool readComponents = (parent->getClassRestr()==Modelica::MODEL) || (parent->getClassRestr()==Modelica::GENERIC) || (parent->getClassRestr()==Modelica::COMPONENT);
bool readRecords = (parent->getClassRestr()==Modelica::PACKAGE) || (parent->getClassRestr()==Modelica::MODEL) ||(parent->getClassRestr()==Modelica::GENERIC)|| (parent->getClassRestr()==Modelica::COMPONENT);
bool readClasses = readModels;
QString fullParentName = parent->name(ModItem::FULL);
QString parentClassName = parent->getModClassName();
QString prefix;
if(!fullParentName.isEmpty())
prefix = fullParentName+".";
// read packages
if(readPackages)
{
QStringList packageNames = _moomc->getPackages(fullParentName);
for(int i=0;i<packageNames.size();i++)
{
newElement = new ModPackage(_moomc,parent,prefix+packageNames.at(i));
if(addChild(parent,newElement))
if((childrenDirection=="") || (childrenDirection==packageNames.at(i)))
readFromOMCWThread(newElement,depthMax,direction,curDepth+1);
}
}
// read models
if(readModels)
{
QStringList modelNames = _moomc->getModels(fullParentName);
for(int i=0;i<modelNames.size();i++)
{
newElement = new ModModel(_moomc,parent,prefix+modelNames.at(i));
if(addChild(parent,newElement))
if((childrenDirection=="") || (childrenDirection==modelNames.at(i)))
readFromOMCWThread(newElement,depthMax,direction,curDepth+1);
}
}
// read records
if(readRecords)
{
QStringList recordNames = _moomc->getRecords(fullParentName);
for(int i=0;i<recordNames.size();i++)
{
newElement = new ModRecord(_moomc,parent,prefix+recordNames.at(i));
if(addChild(parent,newElement))
if((childrenDirection=="") || (childrenDirection==recordNames.at(i)))
readFromOMCWThread(newElement,depthMax,direction,curDepth+1);
}
}
// read classes
if(readClasses)
{
QStringList classNames = _moomc->getClasses(fullParentName);
for(int i=0;i<classNames.size();i++)
{
newElement = new ModItem(_moomc,parent,prefix+classNames.at(i));
if(addChild(parent,newElement))
if((childrenDirection=="") || (childrenDirection==classNames.at(i)))
readFromOMCWThread(newElement,depthMax,direction,curDepth+1);
}
}
//read components
if(readComponents)
{
QStringList compNames;
QStringList compClasses;
_moomc->getContainedComponents(parentClassName,compNames,compClasses,true);
for(int i=0;i<compNames.size();i++)
{
newElement = new ModComponent(_moomc,parent,prefix+compNames.at(i),compClasses.at(i));
if(addChild(parent,newElement))
if((childrenDirection=="") || (childrenDirection==compClasses.at(i)))
readFromOMCWThread(newElement,depthMax,direction,curDepth+1);
}
}
parent->setChildrenReaden(true);
parent->emitModified();
//.........这里部分代码省略.........
示例13: updateFilter
void NewGroupInner::updateFilter(QString filter) {
QStringList f;
if (!filter.isEmpty()) {
QStringList filterList = filter.split(cWordSplit(), QString::SkipEmptyParts);
int l = filterList.size();
f.reserve(l);
for (int i = 0; i < l; ++i) {
QString filterName = filterList[i].trimmed();
if (filterName.isEmpty()) continue;
f.push_back(filterName);
}
filter = f.join(' ');
}
if (_filter != filter) {
int32 rh = (st::profileListPhotoSize + st::profileListPadding.height() * 2);
_filter = filter;
if (_filter.isEmpty()) {
resize(width(), _contacts->list.count * rh);
if (_contacts->list.count) {
_sel = _contacts->list.begin;
}
} else {
QStringList::const_iterator fb = f.cbegin(), fe = f.cend(), fi;
_filtered.clear();
if (!f.isEmpty()) {
DialogsList *dialogsToFilter = 0;
if (_contacts->list.count) {
for (fi = fb; fi != fe; ++fi) {
DialogsIndexed::DialogsIndex::iterator i = _contacts->index.find(fi->at(0));
if (i == _contacts->index.cend()) {
dialogsToFilter = 0;
break;
}
if (!dialogsToFilter || dialogsToFilter->count > i.value()->count) {
dialogsToFilter = i.value();
}
}
}
if (dialogsToFilter && dialogsToFilter->count) {
_filtered.reserve(dialogsToFilter->count);
for (DialogRow *i = dialogsToFilter->begin, *e = dialogsToFilter->end; i != e; i = i->next) {
const PeerData::Names &names(i->history->peer->names);
PeerData::Names::const_iterator nb = names.cbegin(), ne = names.cend(), ni;
for (fi = fb; fi != fe; ++fi) {
QString filterName(*fi);
for (ni = nb; ni != ne; ++ni) {
if (ni->startsWith(*fi)) {
break;
}
}
if (ni == ne) {
break;
}
}
if (fi == fe) {
i->attached = 0;
_filtered.push_back(i);
}
}
}
}
_filteredSel = _filtered.isEmpty() ? -1 : 0;
resize(width(), _filtered.size() * rh);
}
if (parentWidget()) parentWidget()->update();
loadProfilePhotos(0);
}
}
示例14: propertyDefinitionFromField
QgsPropertyDefinition QgsAuxiliaryLayer::propertyDefinitionFromField( const QgsField &f )
{
QgsPropertyDefinition def;
const QStringList parts = f.name().split( '_' );
if ( parts.size() <= 1 )
return def;
const QString origin = parts[0];
const QString propertyName = parts[1];
if ( origin.compare( "labeling", Qt::CaseInsensitive ) == 0 )
{
const QgsPropertiesDefinition props = QgsPalLayerSettings::propertyDefinitions();
for ( const QgsPropertyDefinition &p : props.values() )
{
if ( p.name().compare( propertyName, Qt::CaseInsensitive ) == 0 )
{
def = p;
if ( parts.size() == 3 )
def.setComment( parts[2] );
break;
}
}
}
else if ( origin.compare( "symbol", Qt::CaseInsensitive ) == 0 )
{
const QgsPropertiesDefinition props = QgsSymbolLayer::propertyDefinitions();
for ( const QgsPropertyDefinition &p : props.values() )
{
if ( p.name().compare( propertyName, Qt::CaseInsensitive ) == 0 )
{
def = p;
if ( parts.size() == 3 )
def.setComment( parts[2] );
break;
}
}
}
else if ( origin.compare( "diagram", Qt::CaseInsensitive ) == 0 )
{
const QgsPropertiesDefinition props = QgsDiagramLayerSettings::propertyDefinitions();
for ( const QgsPropertyDefinition &p : props.values() )
{
if ( p.name().compare( propertyName, Qt::CaseInsensitive ) == 0 )
{
def = p;
if ( parts.size() == 3 )
def.setComment( parts[2] );
break;
}
}
}
else
{
def.setOrigin( origin );
def.setName( propertyName );
if ( parts.size() == 3 )
def.setComment( parts[2] );
}
return def;
}
示例15: track
Playlist::Playlist(QWidget *parent) :
QTableWidget(parent), track(-1)
{
// Initialize values for the Header (label and horizontal resize mode)
QStringList labels = (QStringList() << "#" << tr("Title") << tr("Album") << tr("Length") << tr("Artist") << tr("Rating") << tr("Year"));
const QStringList untranslatedLabels = (QStringList() << "#" << "Title" << "Album" << "Length" << "Artist" << "Rating" << "Year");
// Test: 0 = Fixed, n>0 = real ratio for each column
const QList<int> ratios(QList<int>() << 0 << 5 << 4 << 1 << 3 << 0 << 0);
this->setColumnCount(labels.size());
this->setColumnHidden(5, true);
this->setColumnHidden(6, true);
this->setShowGrid(false);
Settings *settings = Settings::getInstance();
this->setStyleSheet(settings->styleSheet(this));
this->verticalScrollBar()->setStyleSheet(settings->styleSheet(this->verticalScrollBar()));
this->setAlternatingRowColors(settings->colorsAlternateBG());
// Select only one row, not cell by cell
this->setSelectionMode(QAbstractItemView::ExtendedSelection);
this->setSelectionBehavior(QAbstractItemView::SelectRows);
this->setItemDelegate(new NoFocusItemDelegate(this));
/// test
this->setAcceptDrops(true);
verticalHeader()->setVisible(false);
this->setHorizontalHeader(new QHeaderView(Qt::Horizontal, this));
horizontalHeader()->setStyleSheet(settings->styleSheet(horizontalHeader()));
horizontalHeader()->setContextMenuPolicy(Qt::CustomContextMenu);
horizontalHeader()->setHighlightSections(false);
horizontalHeader()->setMovable(true);
this->installEventFilter(horizontalHeader());
// Context menu on header of columns
QList<QAction*> actionColumns;
columns = new QMenu(this);
for (int i = 0; i < labels.size(); i++) {
QString label = labels.at(i);
QTableWidgetItem *item = new QTableWidgetItem(label);
// Stores original text to switch between translations on the fly
// Might evolve latter, start to be "unreadable"
item->setData(Qt::UserRole+1, untranslatedLabels.at(i));
item->setData(Qt::UserRole+2, ratios.at(i));
this->setHorizontalHeaderItem(i, item);
// Match actions with columns using index of labels
QAction *actionColumn = new QAction(label, this);
actionColumn->setData(i);
actionColumn->setEnabled(actionColumn->text() != tr("Title"));
actionColumn->setCheckable(true);
actionColumn->setChecked(!isColumnHidden(i));
actionColumns.append(actionColumn);
// Then populate the context menu
columns->addAction(actionColumn);
}
// Load columns state
QByteArray state = settings->value("playlistColumnsState").toByteArray();
if (!state.isEmpty()) {
horizontalHeader()->restoreState(state);
for (int i = 0; i < horizontalHeader()->count(); i++) {
bool hidden = horizontalHeader()->isSectionHidden(i);
setColumnHidden(i, hidden);
columns->actions().at(i)->setChecked(!hidden);
}
}
// Link this playlist with the Settings instance to change fonts at runtime
connect(settings, SIGNAL(currentFontChanged()), this, SLOT(highlightCurrentTrack()));
// Change track
// no need to cast parent as a TabPlaylist instance
connect(this, SIGNAL(itemDoubleClicked(QTableWidgetItem*)), parent, SLOT(changeTrack(QTableWidgetItem*)));
// Hide the selected column in context menu
connect(horizontalHeader(), SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showColumnsMenu(QPoint)));
connect(columns, SIGNAL(triggered(QAction*)), this, SLOT(toggleSelectedColumn(QAction*)));
connect(horizontalHeader(), SIGNAL(sectionMoved(int,int,int)), this, SLOT(saveColumnsState(int,int,int)));
}