QStringList IconThemeManager::defaultThemePaths() { QStringList result = getSubDirs(dataPath("kadu/themes/icons")); result += getSubDirs(profilePath("icons")); return result; }
bool MapiProfiles::init() { if (m_initialised) { return true; } QString profilePath(QDir::home().path()); profilePath.append(QLatin1String("/.openchange/")); QString profileFile(profilePath); profileFile.append(QString::fromLatin1("profiles.ldb")); // Check if the store exists. QDir path(profilePath); if (!path.exists()) { if (path.mkpath(profilePath)) { error() << "cannot make profile path:" << profilePath; return false; } } if (!QFile::exists(profileFile)) { if (MAPI_E_SUCCESS != CreateProfileStore(profileFile.toUtf8(), mapi_profile_get_ldif_path())) { error() << "cannot create profile store:" << profileFile << mapiError(); return false; } } if (MAPI_E_SUCCESS != MAPIInitialize(&m_context, profileFile.toLatin1())) { error() << "cannot init profile store:" << profileFile << mapiError(); return false; } m_initialised = true; return true; }
void AntistringConfiguration::configurationUpdated() { readConditions(); Enabled = config_file.readBoolEntry("PowerKadu", "enable_antistring"); MessageStop = config_file.readBoolEntry("PowerKadu", "message stop"); LogMessage = config_file.readBoolEntry("PowerKadu", "log message"); ReturnMessage = config_file.readEntry("PowerKadu", "admonish_tresc_config"); LogFile = config_file.readEntry("PowerKadu", "log file", profilePath("antistring.log")); }
HistoryMigrationActions::HistoryMigrationActions() : ImportHistoryActionDescription(0) { bool imported = config_file.readBoolEntry("History", "Imported_from_0.6.5", false); Account gaduAccount = AccountManager::instance()->byId("gadu", config_file.readEntry("General", "UIN")); if (!imported && gaduAccount && QFile::exists(profilePath("history"))) { ImportHistoryActionDescription = new ActionDescription(this, ActionDescription::TypeGlobal, "import_history", this, SLOT(importHistoryActionActivated(QAction*,bool)), QString(), tr("Import history...")); Core::instance()->kaduWindow()->insertMenuActionDescription(ImportHistoryActionDescription, KaduWindow::MenuTools); }
QString OptionsManager::lastActiveProfile() const { QDateTime lastModified; QString lastProfile; foreach(QString profile, profiles()) { QFileInfo info(profilePath(profile) + "/" FILE_OPTIONS); if (info.exists() && info.lastModified()>lastModified) { lastProfile = profile; lastModified = info.lastModified(); } }
void HistorySqlStorage::initDatabase() { kdebugf(); if (!QSqlDatabase::isDriverAvailable("QSQLITE")) { MessageDialog::show("dialog-warning", tr("Kadu"), tr("It seems your Qt library does not provide support for selected database.\n " "Please select another driver in configuration window or install Qt with %1 plugin.").arg("QSQLITE")); History::instance()->unregisterStorage(this); return; } if (QSqlDatabase::contains("kadu-history")) { if (Database.isOpen()) Database.close(); QSqlDatabase::removeDatabase("kadu-history"); } QDir historyDir(profilePath("history")); if (!historyDir.exists()) historyDir.mkpath(profilePath("history")); Database = QSqlDatabase::addDatabase("QSQLITE", "kadu-history"); Database.setDatabaseName(profilePath("history/history.db")); if (!Database.open()) { MessageDialog::show("dialog-warning", tr("Kadu"), Database.lastError().text()); return; } Database.transaction(); initTables(); initIndexes(); }
Infos::Infos(QObject *parent) : QObject(parent) { kdebugf(); triggerAllAccountsRegistered(); fileName = profilePath("last_seen.data"); if (QFile::exists(fileName)) { QFile file(fileName); if (file.open(QIODevice::ReadOnly)) { kdebugm(KDEBUG_INFO, "file opened '%s'\n", qPrintable(file.fileName())); QTextStream stream(&file); while (!stream.atEnd()) { QStringList fullId = stream.readLine().split(':', QString::SkipEmptyParts); if (fullId.count() != 2) continue; QString protocol = fullId[0]; QString uin = fullId[1]; QString dateTime = stream.readLine(); //kdebugm(KDEBUG_INFO, "Last seen %s %s %s\n", qPrintable(protocol), qPrintable(uin), qPrintable(dateTime)); Contact contact; // wstawiamy tylko konta, które są na liście kontaktów foreach(Account account, AccountManager::instance()->byProtocolName(protocol)) { contact = ContactManager::instance()->byId(account, uin, ActionReturnNull); if (contact.isNull()) continue; if (!contact.ownerBuddy().isAnonymous()) { lastSeen[qMakePair(protocol, uin)] = dateTime; // wystarczy, że kontakt jest na jednym koncie, omijamy resztę continue; } } QString tmp = stream.readLine(); // skip empty line } file.close(); }
NS_IMETHODIMP nsDogbertProfileMigrator::GetSourceProfiles(nsISupportsArray** aResult) { nsresult rv; const char* profileDir = PR_GetEnv(PROFILE_HOME_ENVIRONMENT_VARIABLE); if (!profileDir) { profileDir = PR_GetEnv(HOME_ENVIRONMENT_VARIABLE); } if (!profileDir) return NS_ERROR_FAILURE; nsCAutoString profilePath(profileDir); profilePath += "/.netscape"; nsCOMPtr<nsILocalFile> profileFile; rv = NS_NewNativeLocalFile(profilePath, PR_TRUE, getter_AddRefs(profileFile)); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr<nsIFile> prefFile; rv = profileFile->Clone(getter_AddRefs(prefFile)); NS_ENSURE_SUCCESS(rv, rv); prefFile->AppendNative(NS_LITERAL_CSTRING("preferences.js")); PRBool exists; rv = prefFile->Exists(&exists); if (NS_FAILED(rv) || !exists) { return NS_ERROR_FAILURE; } mSourceProfile = profileFile; mProfiles = do_CreateInstance(NS_SUPPORTSARRAY_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr<nsISupportsString> nameString (do_CreateInstance("@mozilla.org/supports-string;1")); if (!nameString) return NS_ERROR_FAILURE; nameString->SetData(NS_LITERAL_STRING("Netscape 4.x")); mProfiles->AppendElement(nameString); NS_ADDREF(*aResult = mProfiles); return NS_OK; }
void CToxProto::SaveToxProfile(CToxThread *toxThread) { mir_cslock locker(profileLock); if (!toxThread) return; size_t size = tox_get_savedata_size(toxThread->Tox()); uint8_t *data = (uint8_t*)mir_calloc(size + TOX_PASS_ENCRYPTION_EXTRA_LENGTH); tox_get_savedata(toxThread->Tox(), data); pass_ptrA password(mir_utf8encodeW(pass_ptrT(getTStringA("Password")))); if (password && mir_strlen(password)) { TOX_ERR_ENCRYPTION coreEncryptError; if (!tox_pass_encrypt(data, size, (uint8_t*)(char*)password, mir_strlen(password), data, &coreEncryptError)) { debugLogA(__FUNCTION__": failed to encrypt tox profile"); mir_free(data); return; } size += TOX_PASS_ENCRYPTION_EXTRA_LENGTH; } ptrT profilePath(GetToxProfilePath()); FILE *profile = _tfopen(profilePath, _T("wb")); if (profile == NULL) { debugLogA(__FUNCTION__": failed to open tox profile"); mir_free(data); return; } size_t written = fwrite(data, sizeof(char), size, profile); if (size != written) { debugLogA(__FUNCTION__": failed to write tox profile"); } fclose(profile); mir_free(data); }
void CToxOptionsMain::OnInitDialog() { CToxDlgBase::OnInitDialog(); ptrT profilePath(m_proto->GetToxProfilePath()); if (CToxProto::IsFileExists(profilePath)) { m_toxAddress.Enable(); ShowWindow(m_profileCreate.GetHwnd(), FALSE); ShowWindow(m_profileImport.GetHwnd(), FALSE); ShowWindow(m_toxAddressCopy.GetHwnd(), TRUE); ShowWindow(m_profileExport.GetHwnd(), TRUE); } SendMessage(m_toxAddress.GetHwnd(), EM_LIMITTEXT, TOX_ADDRESS_SIZE * 2, 0); SendMessage(m_nickname.GetHwnd(), EM_LIMITTEXT, TOX_MAX_NAME_LENGTH, 0); SendMessage(m_password.GetHwnd(), EM_LIMITTEXT, 32, 0); SendMessage(m_group.GetHwnd(), EM_LIMITTEXT, 64, 0); }
void CToxOptionsMain::ProfileCreate_OnClick(CCtrlButton*) { CToxThread toxThread; ptrT profilePath(m_proto->GetToxProfilePath()); if (!m_proto->IsFileExists(profilePath)) { HANDLE hProfile = CreateFile(profilePath, GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); if (hProfile == NULL) { m_proto->logger->Log(__FUNCTION__": failed to create tox profile"); return; } CloseHandle(hProfile); } if (m_proto->InitToxCore(&toxThread)) { ptrT group(m_group.GetText()); if (mir_tstrlen(group) > 0 && Clist_GroupExists(group)) Clist_CreateGroup(0, group); m_proto->UninitToxCore(&toxThread); m_toxAddress.Enable(); m_toxAddress.SetTextA(ptrA(m_proto->getStringA(TOX_SETTINGS_ID))); m_nickname.SetText(ptrT(m_proto->getTStringA("Nick"))); m_password.SetText(ptrT(m_proto->getTStringA("Password"))); m_group.SetText(ptrT(m_proto->getTStringA(TOX_SETTINGS_GROUP))); ShowWindow(m_profileCreate.GetHwnd(), FALSE); ShowWindow(m_profileImport.GetHwnd(), FALSE); ShowWindow(m_toxAddressCopy.GetHwnd(), TRUE); ShowWindow(m_profileExport.GetHwnd(), TRUE); } }
void AntistringConfiguration::createDefaultConfiguration() { config_file.addVariable("PowerKadu", "log file", profilePath("antistring.log")); config_file.addVariable("PowerKadu", "admonish_tresc_config", "http://www.olsztyn.mm.pl/~silentman/lancuszki.htm"); }
bool CToxProto::LoadToxProfile(Tox_Options *options) { debugLogA(__FUNCTION__": loading tox profile"); mir_cslock locker(profileLock); ptrT profilePath(GetToxProfilePath()); if (!IsFileExists(profilePath)) return false; FILE *profile = _tfopen(profilePath, _T("rb")); if (profile == NULL) { ShowNotification(TranslateT("Unable to open Tox profile"), MB_ICONERROR); debugLogA(__FUNCTION__": failed to open tox profile"); return false; } fseek(profile, 0, SEEK_END); long size = ftell(profile); rewind(profile); if (size < 0) { fclose(profile); return false; } if (size == 0) { fclose(profile); return true; } uint8_t *data = (uint8_t*)mir_calloc(size); if (fread((char*)data, sizeof(char), size, profile) != (size_t)size) { fclose(profile); ShowNotification(TranslateT("Unable to read Tox profile"), MB_ICONERROR); debugLogA(__FUNCTION__": failed to read tox profile"); mir_free(data); return false; } fclose(profile); if (tox_is_data_encrypted(data)) { pass_ptrA password(mir_utf8encodeW(pass_ptrT(getTStringA("Password")))); if (password == NULL || mir_strlen(password) == 0) { CToxPasswordEditor passwordEditor(this); if (!passwordEditor.DoModal()) { mir_free(data); return false; } } uint8_t *encryptedData = (uint8_t*)mir_calloc(size - TOX_PASS_ENCRYPTION_EXTRA_LENGTH); TOX_ERR_DECRYPTION coreDecryptError; if (!tox_pass_decrypt(data, size, (uint8_t*)(char*)password, mir_strlen(password), encryptedData, &coreDecryptError)) { ShowNotification(TranslateT("Unable to decrypt Tox profile"), MB_ICONERROR); debugLogA(__FUNCTION__": failed to decrypt tox profile (%d)", coreDecryptError); mir_free(data); return false; } mir_free(data); data = encryptedData; size -= TOX_PASS_ENCRYPTION_EXTRA_LENGTH; } if (data) { options->savedata_data = data; options->savedata_length = size; options->savedata_type = TOX_SAVEDATA_TYPE_TOX_SAVE; return true; } return false; }
static void kadu_signal_handler(int signal) { kdebugmf(KDEBUG_WARNING, "%d\n", signal); static int sigsegvCount = 0; if (sigsegvCount > 1) { kdebugmf(KDEBUG_WARNING, "sigsegv recursion: %d\n", sigsegvCount); abort(); } if (signal == SIGSEGV) { ++sigsegvCount; kdebugm(KDEBUG_PANIC, "Kadu crashed :(\n"); CrashAwareObject::notifyCrash(); QString backupFileName = QString("kadu.conf.xml.backup.%1").arg(QDateTime::currentDateTime().toString("yyyy.MM.dd.hh.mm.ss")); QString backtraceFileName = QString("kadu.backtrace.%1").arg(QDateTime::currentDateTime().toString("yyyy.MM.dd.hh.mm.ss")); #ifdef HAVE_EXECINFO void *backtraceArray[100]; char **backtraceStrings; int numEntries; if ((numEntries = backtrace(backtraceArray, 100)) < 0) { kdebugm(KDEBUG_PANIC, "could not generate backtrace\n"); abort(); } if (!(backtraceStrings = backtrace_symbols(backtraceArray, numEntries))) { kdebugm(KDEBUG_PANIC, "could not get symbol names for backtrace\n"); abort(); } fprintf(stderr, "\n======= BEGIN OF BACKTRACE =====\n"); for (int i = 0; i < numEntries; ++i) fprintf(stderr, "[%d] %s\n", i, backtraceStrings[i]); fprintf(stderr, "======= END OF BACKTRACE ======\n"); fflush(stderr); FILE *backtraceFile = fopen(qPrintable(profilePath(backtraceFileName)), "w"); if (backtraceFile) { fprintf(backtraceFile, "======= BEGIN OF BACKTRACE =====\n"); for (int i = 0; i < numEntries; ++i) fprintf(backtraceFile, "[%d] %s\n", i, backtraceStrings[i]); fprintf(backtraceFile, "======= END OF BACKTRACE ======\n"); fprintf(backtraceFile, "static modules:\n"); QStringList modules = ModulesManager::instance()->staticModules(); foreach (const QString &module, modules) fprintf(backtraceFile, "> %s\n", qPrintable(module)); fprintf(backtraceFile, "loaded modules:\n"); modules = ModulesManager::instance()->loadedModules(); foreach (const QString &module, modules) fprintf(backtraceFile, "> %s\n", qPrintable(module)); fprintf(backtraceFile, "Kadu version: %s\n", qPrintable(Core::version())); fprintf(backtraceFile, "Qt compile time version: %s\nQt runtime version: %s\n", QT_VERSION_STR, qVersion()); #ifdef __GNUC__ fprintf(backtraceFile, "GCC version: %d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); #endif // __GNUC__ fprintf(backtraceFile, "EOF\n"); fclose(backtraceFile); } free(backtraceStrings); #else // HAVE_EXECINFO kdebugm(KDEBUG_PANIC, "backtrace not available\n"); #endif // HAVE_EXECINFO xml_config_file->saveTo(profilePath(backupFileName.toLatin1())); abort(); }
void PDFExportDialog::updateDocOptions() { Opts.fileName = QDir::fromNativeSeparators(fileNameLineEdit->text()); Opts.doMultiFile = multiFile->isChecked(); Opts.Thumbnails = Options->CheckBox1->isChecked(); Opts.Compress = Options->Compression->isChecked(); Opts.CompressMethod = (PDFOptions::PDFCompression) Options->CMethod->currentIndex(); Opts.Quality = Options->CQuality->currentIndex(); Opts.Resolution = Options->Resolution->value(); Opts.EmbedList = Options->FontsToEmbed; Opts.SubsetList = Options->FontsToOutline; Opts.RecalcPic = Options->DSColor->isChecked(); Opts.PicRes = Options->ValC->value(); Opts.embedPDF = Options->EmbedPDF->isChecked(); Opts.Bookmarks = Options->CheckBM->isChecked(); Opts.Binding = Options->ComboBind->currentIndex(); Opts.MirrorH = Options->MirrorH->isChecked(); Opts.MirrorV = Options->MirrorV->isChecked(); Opts.doClip = Options->ClipMarg->isChecked(); Opts.RotateDeg = Options->RotateDeg->currentIndex() * 90; Opts.PresentMode = Options->CheckBox10->isChecked(); Opts.PresentVals = EffVal; Opts.Articles = Options->Article->isChecked(); Opts.Encrypt = Options->Encry->isChecked(); Opts.UseLPI = Options->UseLPI->isChecked(); Opts.useLayers = Options->useLayers->isChecked(); Opts.UseSpotColors = !Options->useSpot->isChecked(); Opts.displayBookmarks = Options->useBookmarks->isChecked(); Opts.displayFullscreen = Options->useFullScreen->isChecked(); Opts.displayLayers = Options->useLayers2->isChecked(); Opts.displayThumbs = Options->useThumbnails->isChecked(); Opts.hideMenuBar = Options->hideMenuBar->isChecked(); Opts.hideToolBar = Options->hideToolBar->isChecked(); Opts.fitWindow = Options->fitWindow->isChecked(); Opts.useDocBleeds = Options->docBleeds->isChecked(); if (!Options->docBleeds->isChecked()) { Opts.bleeds.Top = Options->BleedTop->value()/docUnitRatio; Opts.bleeds.Left = Options->BleedLeft->value()/docUnitRatio; Opts.bleeds.Right = Options->BleedRight->value()/docUnitRatio; Opts.bleeds.Bottom = Options->BleedBottom->value()/docUnitRatio; } Opts.markOffset = Options->markOffset->value()/docUnitRatio; Opts.cropMarks = Options->cropMarks->isChecked(); Opts.bleedMarks = Options->bleedMarks->isChecked(); Opts.registrationMarks = Options->registrationMarks->isChecked(); Opts.colorMarks = Options->colorMarks->isChecked(); Opts.docInfoMarks = Options->docInfoMarks->isChecked(); int pgl = PDFOptions::SinglePage; if (Options->singlePage->isChecked()) pgl = PDFOptions::SinglePage; else if (Options->continuousPages->isChecked()) pgl = PDFOptions::OneColumn; else if (Options->doublePageLeft->isChecked()) pgl = PDFOptions::TwoColumnLeft; else if (Options->doublePageRight->isChecked()) pgl = PDFOptions::TwoColumnRight; Opts.PageLayout = pgl; if (Options->actionCombo->currentIndex() != 0) Opts.openAction = Options->actionCombo->currentText(); else Opts.openAction = ""; if (Options->Encry->isChecked()) { int Perm = -64; if (Options->PDFVersionCombo->currentIndex() == 1) Perm &= ~0x00240000; if (Options->PrintSec->isChecked()) Perm += 4; if (Options->ModifySec->isChecked()) Perm += 8; if (Options->CopySec->isChecked()) Perm += 16; if (Options->AddSec->isChecked()) Perm += 32; Opts.Permissions = Perm; Opts.PassOwner = Options->PassOwner->text(); Opts.PassUser = Options->PassUser->text(); } if (Options->PDFVersionCombo->currentIndex() == 0) Opts.Version = PDFOptions::PDFVersion_13; if (Options->PDFVersionCombo->currentIndex() == 1) Opts.Version = PDFOptions::PDFVersion_14; if (Options->PDFVersionCombo->currentIndex() == 2) Opts.Version = PDFOptions::PDFVersion_15; if (Options->PDFVersionCombo->currentIndex() == 3) Opts.Version = PDFOptions::PDFVersion_X3; if (Options->OutCombo->currentIndex() == 0) { Opts.UseRGB = true; Opts.isGrayscale = false; Opts.UseProfiles = false; Opts.UseProfiles2 = false; } else { if (Options->OutCombo->currentIndex() == 2) { Opts.isGrayscale = true; Opts.UseRGB = false; Opts.UseProfiles = false; Opts.UseProfiles2 = false; } else { Opts.isGrayscale = false; Opts.UseRGB = false; if (doc->HasCMS) { Opts.UseProfiles = Options->EmbedProfs->isChecked(); Opts.UseProfiles2 = Options->EmbedProfs2->isChecked(); Opts.Intent = Options->IntendS->currentIndex(); Opts.Intent2 = Options->IntendI->currentIndex(); Opts.EmbeddedI = Options->NoEmbedded->isChecked(); Opts.SolidProf = Options->SolidPr->currentText(); Opts.ImageProf = Options->ImageP->currentText(); Opts.PrintProf = Options->PrintProfC->currentText(); if (Opts.Version == PDFOptions::PDFVersion_X3) { cmsHPROFILE hIn; QByteArray profilePath( appPrinterProfiles[Opts.PrintProf].toLocal8Bit() ); hIn = cmsOpenProfileFromFile(profilePath.data(), "r"); const char *Descriptor = cmsTakeProductDesc(hIn); cmsDescriptorName = QString(Descriptor); if (static_cast<int>(cmsGetColorSpace(hIn)) == icSigRgbData) components = 3; if (static_cast<int>(cmsGetColorSpace(hIn)) == icSigCmykData) components = 4; if (static_cast<int>(cmsGetColorSpace(hIn)) == icSigCmyData) components = 3; cmsCloseProfile(hIn); Opts.Info = Options->InfoString->text(); Opts.Encrypt = false; Opts.MirrorH = false; Opts.MirrorV = false; Opts.RotateDeg = 0; Opts.PresentMode = false; Opts.Encrypt = false; } } else { Opts.UseProfiles = false; Opts.UseProfiles2 = false; } } } }
void MainSettingsDialog::fillAllAutoProfilesTable() { for (int i = ui->autoProfileTableWidget->rowCount()-1; i >= 0; i--) { ui->autoProfileTableWidget->removeRow(i); } //QStringList tableHeader; //tableHeader << tr("Active") << tr("GUID") << tr("Profile") << tr("Application") << tr("Default?") // << tr("Instance"); //ui->autoProfileTableWidget->setHorizontalHeaderLabels(tableHeader); ui->autoProfileTableWidget->horizontalHeader()->setVisible(true); #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) ui->autoProfileTableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); #else ui->autoProfileTableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); #endif ui->autoProfileTableWidget->hideColumn(5); int i = 0; AutoProfileInfo *info = allDefaultProfile; ui->autoProfileTableWidget->insertRow(i); QTableWidgetItem *item = new QTableWidgetItem(); item->setCheckState(info->isActive() ? Qt::Checked : Qt::Unchecked); ui->autoProfileTableWidget->setItem(i, 0, item); QString deviceName = info->getDeviceName(); QString guidDisplay = info->getGUID(); if (!deviceName.isEmpty()) { guidDisplay = QString("%1 ").arg(info->getDeviceName()); guidDisplay.append(QString("(%1)").arg(info->getGUID())); } item = new QTableWidgetItem(guidDisplay); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getGUID()); item->setToolTip(info->getGUID()); ui->autoProfileTableWidget->setItem(i, 1, item); QFileInfo profilePath(info->getProfileLocation()); item = new QTableWidgetItem(profilePath.fileName()); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getProfileLocation()); item->setToolTip(info->getProfileLocation()); ui->autoProfileTableWidget->setItem(i, 2, item); QFileInfo exeInfo(info->getExe()); item = new QTableWidgetItem(exeInfo.fileName()); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getExe()); item->setToolTip(info->getExe()); ui->autoProfileTableWidget->setItem(i, 3, item); item = new QTableWidgetItem("Default"); item->setData(Qt::UserRole, "default"); ui->autoProfileTableWidget->setItem(i, 4, item); item = new QTableWidgetItem("Instance"); item->setData(Qt::UserRole, QVariant::fromValue<AutoProfileInfo*>(info)); ui->autoProfileTableWidget->setItem(i, 5, item); i++; QListIterator<AutoProfileInfo*> iterDefaults(defaultList); while (iterDefaults.hasNext()) { AutoProfileInfo *info = iterDefaults.next(); ui->autoProfileTableWidget->insertRow(i); QTableWidgetItem *item = new QTableWidgetItem(); item->setCheckState(info->isActive() ? Qt::Checked : Qt::Unchecked); ui->autoProfileTableWidget->setItem(i, 0, item); QString deviceName = info->getDeviceName(); QString guidDisplay = info->getGUID(); if (!deviceName.isEmpty()) { guidDisplay = QString("%1 ").arg(info->getDeviceName()); guidDisplay.append(QString("(%1)").arg(info->getGUID())); } item = new QTableWidgetItem(guidDisplay); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getGUID()); item->setToolTip(info->getGUID()); ui->autoProfileTableWidget->setItem(i, 1, item); QFileInfo profilePath(info->getProfileLocation()); item = new QTableWidgetItem(profilePath.fileName()); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getProfileLocation()); item->setToolTip(info->getProfileLocation()); ui->autoProfileTableWidget->setItem(i, 2, item); QFileInfo exeInfo(info->getExe()); item = new QTableWidgetItem(exeInfo.fileName()); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getExe()); item->setToolTip(info->getExe()); ui->autoProfileTableWidget->setItem(i, 3, item); item = new QTableWidgetItem("Default"); item->setData(Qt::UserRole, "default"); ui->autoProfileTableWidget->setItem(i, 4, item); item = new QTableWidgetItem("Instance"); item->setData(Qt::UserRole, QVariant::fromValue<AutoProfileInfo*>(info)); ui->autoProfileTableWidget->setItem(i, 5, item); i++; } QListIterator<AutoProfileInfo*> iter(profileList); while (iter.hasNext()) { AutoProfileInfo *info = iter.next(); ui->autoProfileTableWidget->insertRow(i); QTableWidgetItem *item = new QTableWidgetItem(); item->setCheckState(info->isActive() ? Qt::Checked : Qt::Unchecked); ui->autoProfileTableWidget->setItem(i, 0, item); QString deviceName = info->getDeviceName(); QString guidDisplay = info->getGUID(); if (!deviceName.isEmpty()) { guidDisplay = QString("%1 ").arg(info->getDeviceName()); guidDisplay.append(QString("(%1)").arg(info->getGUID())); } item = new QTableWidgetItem(guidDisplay); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getGUID()); item->setToolTip(info->getGUID()); ui->autoProfileTableWidget->setItem(i, 1, item); QFileInfo profilePath(info->getProfileLocation()); item = new QTableWidgetItem(profilePath.fileName()); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getProfileLocation()); item->setToolTip(info->getProfileLocation()); ui->autoProfileTableWidget->setItem(i, 2, item); QFileInfo exeInfo(info->getExe()); item = new QTableWidgetItem(exeInfo.fileName()); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(Qt::UserRole, info->getExe()); item->setToolTip(info->getExe()); ui->autoProfileTableWidget->setItem(i, 3, item); item = new QTableWidgetItem(); item->setData(Qt::UserRole, ""); ui->autoProfileTableWidget->setItem(i, 4, item); item = new QTableWidgetItem("Instance"); item->setData(Qt::UserRole, QVariant::fromValue<AutoProfileInfo*>(info)); ui->autoProfileTableWidget->setItem(i, 5, item); i++; } }