TQString TDECompletion::nextMatch() { TQString completion; myLastMatch = myCurrentMatch; if ( d->matches.isEmpty() ) { findAllCompletions( myLastString, &d->matches, myHasMultipleMatches ); completion = d->matches.first(); myCurrentMatch = completion; myRotationIndex = 0; postProcessMatch( &completion ); emit match( completion ); return completion; } TQStringList matches = d->matches.list(); myLastMatch = matches[ myRotationIndex++ ]; if ( myRotationIndex == matches.count() -1 ) doBeep( Rotation ); // indicate last matching item -> rotating else if ( myRotationIndex == matches.count() ) myRotationIndex = 0; completion = matches[ myRotationIndex ]; myCurrentMatch = completion; postProcessMatch( &completion ); emit match( completion ); return completion; }
void KateSearch::addToList( TQStringList& list, const TQString& s ) { if( list.count() > 0 ) { TQStringList::Iterator it = list.find( s ); if( *it != 0L ) list.remove( it ); if( list.count() >= 16 ) list.remove( list.fromLast() ); } list.prepend( s ); }
TQString KStringHandler::word( const TQString &text , const char *range ) { // Format in: START:END // Note index starts a 0 (zero) // // 0: first word to end // 1:3 second to fourth words TQStringList list = TQStringList::split( " ", text , true ); TQString tmp = ""; TQString r = range; if ( text.isEmpty() ) return tmp; uint pos = 0, cnt = list.count(); parsePythonRange( range, pos, cnt ); // // Extract words // int wordsToExtract = cnt-pos+1; TQStringList::Iterator it = list.at( pos); while ( (it != list.end()) && (wordsToExtract-- > 0)) { tmp += *it; tmp += " "; it++; } return tmp.stripWhiteSpace(); }
TQString KStringHandler::remrange( const TQString &text , const char *range ) { // Format in: START:END // Note index starts a 0 (zero) // // 0: first word to end // 1:3 second to fourth words TQStringList list = TQStringList::split( " ", text , true ); TQString tmp = ""; TQString r = range; if ( text.isEmpty() ) return tmp; uint pos = 0, cnt = list.count(); parsePythonRange( range, pos, cnt ); // // Remove that range of words // int wordsToDelete = cnt-pos+1; TQStringList::Iterator it = list.at( pos); while ( (it != list.end()) && (wordsToDelete-- > 0)) it = list.remove( it ); return list.join( " " ); }
TQStringList KStringHandler::perlSplit(const TQRegExp & sep, const TQString & s, uint max) { bool ignoreMax = 0 == max; TQStringList l; int searchStart = 0; int tokenStart = sep.search(s, searchStart); int len = sep.matchedLength(); while (-1 != tokenStart && (ignoreMax || l.count() < max - 1)) { if (!s.mid(searchStart, tokenStart - searchStart).isEmpty()) l << s.mid(searchStart, tokenStart - searchStart); searchStart = tokenStart + len; tokenStart = sep.search(s, searchStart); len = sep.matchedLength(); } if (!s.mid(searchStart, s.length() - searchStart).isEmpty()) l << s.mid(searchStart, s.length() - searchStart); return l; }
uint CpuConfig::addCpus() { #ifdef Q_OS_LINUX TQStringList output; TQString parser; TQFile file("/proc/stat"); if (!file.open(IO_ReadOnly)) return 0; // Parse the proc file TQTextStream procStream(&file); while (!procStream.atEnd()) { parser = procStream.readLine(); if (TQRegExp("cpu").search(parser, 0) != -1 && TQRegExp("cpu0").search(parser, 0) == -1) { output.append(parser); } } return output.count(); #endif #ifdef Q_OS_BSD4 int mib[] = { CTL_HW, HW_NCPU }; // hw.ncpu uint cpu; size_t cpuLen = sizeof(cpu); if (sysctl(mib, 2, &cpu, &cpuLen, NULL, 0) < 0) return 0; return cpu; #endif }
void CreateSmileyWindow::slotSelectImagesClicked( ) { TQString startDir = TQDir::homeDirPath(); TQStringList fileNames = KFileDialog::getOpenFileNames(startDir, "*.png *.bmp *.jpg *.jpeg *.gif |" + i18n(" all images (*.png *.bmp *.jpg *.jpeg *.gif)"), this, i18n("select image file(s)")); if(fileNames.count() == 1){ m_FileName = fileNames[0]; TQString file = m_FileName.right( m_FileName.length() - m_FileName.findRev("/") - 1); lblSelect->setText(file); leShortcut->setEnabled( true); leShortcut->setText(file.left(6)); leTip->setEnabled( true ); leTip->setText(file.left( file.findRev(".") ) ); }else{ m_MultiFiles = true; lblSelect->setText(i18n("Multi-Files Selected.")); m_FileNames = fileNames; leShortcut->setText(""); leTip->setText(""); leShortcut->setEnabled( false); leTip->setEnabled( false); } }
TQStringList KStringHandler::perlSplit(const TQChar & sep, const TQString & s, uint max) { bool ignoreMax = 0 == max; TQStringList l; int searchStart = 0; int tokenStart = s.find(sep, searchStart); while (-1 != tokenStart && (ignoreMax || l.count() < max - 1)) { if (!s.mid(searchStart, tokenStart - searchStart).isEmpty()) l << s.mid(searchStart, tokenStart - searchStart); searchStart = tokenStart + 1; tokenStart = s.find(sep, searchStart); } if (!s.mid(searchStart, s.length() - searchStart).isEmpty()) l << s.mid(searchStart, s.length() - searchStart); return l; }
void KFindDialog::setFindHistory(const TQStringList &strings) { if (strings.count() > 0) { m_find->setHistoryItems(strings, true); m_find->lineEdit()->setText( strings.first() ); m_find->lineEdit()->selectAll(); } else m_find->clearHistory(); }
TQStringList KStringHandler::reverse( const TQStringList &list ) { TQStringList tmp; if ( list.count() == 0 ) return tmp; for ( TQStringList::ConstIterator it= list.begin(); it != list.end(); it++) tmp.prepend( *it ); return tmp; }
bool IconThemesConfig::installThemes(const TQStringList &themes, const TQString &archiveName) { bool everythingOk = true; TQString localThemesDir(locateLocal("icon", "./")); KProgressDialog progressDiag(this, "themeinstallprogress", i18n("Installing icon themes"), TQString::null, true); progressDiag.setAutoClose(true); progressDiag.progressBar()->setTotalSteps(themes.count()); progressDiag.show(); KTar archive(archiveName); archive.open(IO_ReadOnly); kapp->processEvents(); const KArchiveDirectory* rootDir = archive.directory(); KArchiveDirectory* currentTheme; for (TQStringList::ConstIterator it = themes.begin(); it != themes.end(); ++it) { progressDiag.setLabel( i18n("<qt>Installing <strong>%1</strong> theme</qt>") .arg(*it)); kapp->processEvents(); if (progressDiag.wasCancelled()) break; currentTheme = dynamic_cast<KArchiveDirectory*>( const_cast<KArchiveEntry*>( rootDir->entry(*it))); if (currentTheme == NULL) { // we tell back that something went wrong, but try to install as much // as possible everythingOk = false; continue; } currentTheme->copyTo(localThemesDir + *it); progressDiag.progressBar()->advance(1); } archive.close(); return everythingOk; }
TQString KStringHandler::remword( const TQString &text , uint pos ) { TQString tmp = ""; if ( text.isEmpty() ) return tmp; // Split words and add into list TQStringList list = TQStringList::split( " ", text, true ); if ( pos < list.count() ) list.remove( list.at( pos ) ); // Rejoin return list.join( " " ); }
void KMWLocal::initialize() { TQStringList list = KMFactory::self()->manager()->detectLocalPrinters(); if (list.isEmpty() || (list.count() % 4) != 0) { KMessageBox::error(this, i18n("Unable to detect local ports.")); return; } TQListViewItem *last[4] = {0, 0, 0, 0}; for (TQStringList::Iterator it=list.begin(); it!=list.end(); ++it) { TQString cl = *it; ++it; TQString uri = *it; int p = uri.find( ':' ); TQString desc = *(++it), prot = ( p != -1 ? uri.left( p ) : TQString::null ); TQString printer = *(++it); int index(-1); if (desc.isEmpty()) desc = uri; if (prot == "parallel" || prot == "file") index = 0; else if (prot == "serial") index = 1; else if (prot == "usb") index = 2; else if (cl == "direct") index = 3; else continue; last[index] = new TQListViewItem(m_parents[index], last[index], desc, uri); last[index]->setPixmap(0, SmallIcon("blockdevice")); m_parents[index]->setOpen(true); m_uris << uri; if (!printer.isEmpty()) { TQListViewItem *pItem = new TQListViewItem(last[index], printer); last[index]->setOpen(true); pItem->setPixmap(0, SmallIcon("tdeprint_printer")); } } m_initialized = true; }
static bool startCondition(const TQString &condition) { if (condition.isEmpty()) return true; TQStringList list = TQStringList::split(':', condition, true); if (list.count() < 4) return true; if (list[0].isEmpty() || list[2].isEmpty()) return true; TDEConfig config(list[0], true, false); if (!list[1].isEmpty()) config.setGroup(list[1]); bool defaultValue = (list[3].lower() == "true"); return config.readBoolEntry(list[2], defaultValue); }
// // Insertion and removal routines // TQString KStringHandler::insword( const TQString &text , const TQString &word , uint pos ) { if ( text.isEmpty() ) return word; if ( word.isEmpty() ) return text; // Split words and add into list TQStringList list = TQStringList::split( " ", text, true ); if ( pos >= list.count() ) list.append( word ); else list.insert( list.at(pos) , word ); // Rejoin return list.join( " " ); }
TQStringList KSMServer::windowWmCommand(WId w) { TQStringList ret = getQStringListProperty(w, XA_WM_COMMAND); // hacks here if( ret.count() == 1 ) { TQString command = ret.first(); // Mozilla is launched using wrapper scripts, so it's launched using "mozilla", // but the actual binary is "mozilla-bin" or "<path>/mozilla-bin", and that's what // will be also in WM_COMMAND - using this "mozilla-bin" doesn't work at all though if( command.endsWith( "mozilla-bin" )) return TQStringList() << "mozilla"; if( command.endsWith( "firefox-bin" )) return TQStringList() << "firefox"; if( command.endsWith( "thunderbird-bin" )) return TQStringList() << "thunderbird"; if( command.endsWith( "sunbird-bin" )) return TQStringList() << "sunbird"; } return ret; }
bool KPrinterImpl::printFiles(KPrinter *p, const TQStringList& f, bool flag) { TQString cmd; if (p->option("kde-isspecial") == "1") { if (p->option("kde-special-command").isEmpty() && p->outputToFile()) { KURL url( p->outputFileName() ); if ( !url.isLocalFile() ) { cmd = ( flag ? "mv" : "cp" ) + ( " %in $out{" + p->outputFileName() + "}" ); } else { if (f.count() > 1) { p->setErrorMessage(i18n("Cannot copy multiple files into one file.")); return false; } else { TDEProcess proc; proc << (flag?"mv":"cp") << f[0] << p->outputFileName(); if (!proc.start(TDEProcess::Block) || !proc.normalExit() || proc.exitStatus() != 0) { p->setErrorMessage(i18n("Cannot save print file to %1. Check that you have write access to it.").arg(p->outputFileName())); return false; } } return true; } } else if (!setupSpecialCommand(cmd,p,f)) return false; } else if (!setupCommand(cmd,p)) return false; return startPrinting(cmd,p,f,flag); }
void CustomSmileyManager::slotMoveToSmiley( ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ if(m_MoveToMenu){ disconnect(m_MoveToMenu, 0, 0, 0); delete m_MoveToMenu; } m_MoveToMenu = new TQPopupMenu(0,"moveto"); int currIndex = m_Config->groupIndex( item->text( 0 ) ); TQStringList groups = m_Config->groupNames(); for( int i=0; i < (int)(groups.count()); i++){ if(i != currIndex ) // ignore the group we are operating on m_MoveToMenu->insertItem(groups[i], i); } connect(m_MoveToMenu, SIGNAL(activated(int)), this, SLOT(slotMoveSmileyTo(int))); TQPoint p = btnMoveTo->mapToGlobal(TQPoint(btnMoveTo->width()+1,0)); m_MoveToMenu->popup( p ); } }
void CustomSmileyManager::loadGroups( ) { if(!m_Config) return; lvGroups->addColumn(i18n("Smiley Groups")); lvGroups->setColumnWidth(0, lvGroups->width()); lvGroups->setItemMargin( 2 ); TQStringList groups = m_Config->groupNames(); // as TQLIstView alway insert the current item on the top, // so, just add items reversely for( int i = (int)(groups.count() -1); i >= 0; i--){ (void) new TQListViewItem(lvGroups, groups[i]); } connect(tbtnAddGroup, SIGNAL(clicked()), this, SLOT(slotAddGroupClicked())); connect(tbtnEditGroup, SIGNAL(clicked()), this, SLOT(slotEditGroupClicked())); connect(tbtnRemoveGroup, SIGNAL(clicked()), this, SLOT(slotRemoveGroupClicked())); connect(lvGroups, SIGNAL(itemRenamed(TQListViewItem*, int, const TQString &)), this, SLOT(slotGroupRenamed(TQListViewItem*, int, const TQString &))); connect(lvGroups, SIGNAL(selectionChanged( TQListViewItem *) ), this, SLOT(slotGroupSelectionChanged( TQListViewItem *) ) ); }
bool KMThreadJob::loadJobs() { TQFile f(jobFile()); if (f.exists() && f.open(IO_ReadOnly)) { TQTextStream t(&f); TQString line; m_jobs.clear(); while (!t.eof()) { line = t.readLine().stripWhiteSpace(); if (line.isEmpty()) continue; TQStringList ll = TQStringList::split(CHARSEP,line,true); if (ll.count() == 5) { KMJob *job = new KMJob(); job->setId(ll[0].toInt()); job->setName(ll[1]); job->setPrinter(ll[2]); job->setOwner(ll[3]); job->setSize(ll[4].toInt()); job->setState(KMJob::Printing); job->setType(KMJob::Threaded); job->setUri("proc:/"+ll[0]); if (job->id() > 0 && checkJob(job->id())) m_jobs.insert(job->id(),job); else delete job; } } return true; } return false; }
void KJavaAppletContext::received( const TQString& cmd, const TQStringList& arg ) { kdDebug(6100) << "KJavaAppletContext::received, cmd = >>" << cmd << "<<" << endl; kdDebug(6100) << "arg count = " << arg.count() << endl; if ( cmd == TQString::fromLatin1("showstatus") && !arg.empty() ) { TQString tmp = arg.first(); tmp.replace(TQRegExp("[\n\r]"), ""); kdDebug(6100) << "status message = " << tmp << endl; emit showStatus( tmp ); } else if ( cmd == TQString::fromLatin1( "showurlinframe" ) && arg.count() > 1 ) { kdDebug(6100) << "url = " << arg[0] << ", frame = " << arg[1] << endl; emit showDocument( arg[0], arg[1] ); } else if ( cmd == TQString::fromLatin1( "showdocument" ) && !arg.empty() ) { kdDebug(6100) << "url = " << arg.first() << endl; emit showDocument( arg.first(), "_top" ); } else if ( cmd == TQString::fromLatin1( "resizeapplet" ) && arg.count() > 2 ) { //arg[1] should be appletID //arg[2] should be new width //arg[3] should be new height bool ok; const int appletID = arg[0].toInt( &ok ); const int width = arg[1].toInt( &ok ); const int height = arg[2].toInt( &ok ); if( !ok ) { kdError(DEBUGAREA) << "could not parse out parameters for resize" << endl; } else { KJavaApplet* const tmp = d->applets[appletID]; if (tmp) tmp->resizeAppletWidget( width, height ); } } else if (cmd.startsWith(TQString::fromLatin1("audioclip_"))) { kdDebug(DEBUGAREA) << "process Audio command (not yet implemented): " << cmd << " " << arg[0] << endl; } else if ( cmd == TQString::fromLatin1( "JS_Event" ) && arg.count() > 2 ) { bool ok; const int appletID = arg.first().toInt(&ok); KJavaApplet * applet; if (ok && (applet = d->applets[appletID])) { TQStringList js_args(arg); js_args.pop_front(); applet->jsData(js_args); } else kdError(DEBUGAREA) << "parse JS event " << arg[0] << " " << arg[1] << endl; } else if ( cmd == TQString::fromLatin1( "AppletStateNotification" ) ) { bool ok; const int appletID = arg.first().toInt(&ok); if (ok) { KJavaApplet* const applet = d->applets[appletID]; if ( applet ) { const int newState = arg[1].toInt(&ok); if (ok) { applet->stateChange(newState); if (newState == KJavaApplet::INITIALIZED) { kdDebug(DEBUGAREA) << "emit appletLoaded" << endl; emit appletLoaded(); } } else kdError(DEBUGAREA) << "AppletStateNotification: status is not numerical" << endl; } else kdWarning(DEBUGAREA) << "AppletStateNotification: No such Applet with ID=" << arg[0] << endl; } else kdError(DEBUGAREA) << "AppletStateNotification: Applet ID is not numerical" << endl; } else if ( cmd == TQString::fromLatin1( "AppletFailed" ) ) { bool ok; const int appletID = arg.first().toInt(&ok); if (ok) { KJavaApplet* const applet = d->applets[appletID]; /* TQString errorDetail(arg[1]); errorDetail.replace(TQRegExp(":\\s*"), ":\n"); KMessageBox::detailedError(0L, i18n("Java error while loading applet."), errorDetail); */ if (applet) applet->setFailed(); emit appletLoaded(); } } }
void KSpellConfig::getAvailDictsIspell () { langfnames.clear(); dictcombo->clear(); langfnames.append(""); // Default dictcombo->insertItem( i18n("ISpell Default") ); // dictionary path TQFileInfo dir ("/usr/lib" KDELIBSUFF "/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/lib" KDELIBSUFF "/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/share/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/share/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/pkg/lib"); /* TODO get them all instead of just one of them. * If /usr/local/lib exists, it skips the rest if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/lib"); */ if (!dir.exists() || !dir.isDir()) return; kdDebug(750) << "KSpellConfig::getAvailDictsIspell " << dir.filePath() << " " << dir.dirPath() << endl; const TQDir thedir (dir.filePath(),"*.hash"); const TQStringList entryList = thedir.entryList(); kdDebug(750) << "KSpellConfig" << thedir.path() << "\n" << endl; kdDebug(750) << "entryList().count()=" << entryList.count() << endl; TQStringList::const_iterator entryListItr = entryList.constBegin(); const TQStringList::const_iterator entryListEnd = entryList.constEnd(); for ( ; entryListItr != entryListEnd; ++entryListItr) { TQString fname, lname, hname; fname = *entryListItr; // remove .hash if (fname.endsWith(".hash")) fname.remove (fname.length()-5,5); if (interpret (fname, lname, hname) && langfnames.first().isEmpty()) { // This one is the KDE default language // so place it first in the lists (overwrite "Default") langfnames.remove ( langfnames.begin() ); langfnames.prepend ( fname ); hname=i18n("default spelling dictionary" ,"Default - %1 [%2]").arg(hname).arg(fname); dictcombo->changeItem (hname,0); } else { langfnames.append (fname); hname=hname+" ["+fname+"]"; dictcombo->insertItem (hname); } } }
DrMain* LprHandler::loadToolDriver(const TQString& filename) { TQFile f(filename); if (f.open(IO_ReadOnly)) { DrMain *driver = new DrMain; TQValueStack<DrGroup*> groups; TQTextStream t(&f); TQStringList l; DrListOption *lopt(0); DrBase *opt(0); groups.push(driver); driver->set("text", "Tool Driver"); while (!t.atEnd()) { l = TQStringList::split('|', t.readLine().stripWhiteSpace(), false); if (l.count() == 0) continue; if (l[0] == "GROUP") { DrGroup *grp = new DrGroup; grp->setName(l[1]); grp->set("text", l[2]); groups.top()->addGroup(grp); groups.push(grp); } else if (l[0] == "ENDGROUP") { groups.pop(); } else if (l[0] == "OPTION") { opt = 0; lopt = 0; if (l.count() > 3) { if (l[3] == "STRING") opt = new DrStringOption; else if (l[3] == "BOOLEAN") { lopt = new DrBooleanOption; opt = lopt; } } else { lopt = new DrListOption; opt = lopt; } if (opt) { opt->setName(l[1]); opt->set("text", l[2]); groups.top()->addOption(opt); } } else if (l[0] == "CHOICE" && lopt) { DrBase *ch = new DrBase; ch->setName(l[1]); ch->set("text", l[2]); lopt->addChoice(ch); } else if (l[0] == "DEFAULT" && opt) { opt->setValueText(l[1]); opt->set("default", l[1]); } } return driver; } return NULL; }
void Security::slotSignFile() { if (!m_keysRead || m_gpgRunning) { TQTimer::singleShot(5, this, TQT_SLOT(slotSignFile())); return; } TQStringList secretKeys; for (TQMap<TQString, KeyStruct>::Iterator it = m_keys.begin(); it != m_keys.end(); ++it) { if (it.data().secret) secretKeys.append(it.key()); } if (secretKeys.count() == 0) { emit fileSigned(-1); return; } m_result = 0; TQFileInfo f(m_fileName); //create the MD5 sum TQString md5sum; const char* c = ""; KMD5 context(c); TQFile file(m_fileName); if (file.open(IO_ReadOnly)) { context.reset(); context.update(TQT_TQIODEVICE_OBJECT(file)); md5sum = context.hexDigest(); file.close(); } file.setName(f.dirPath() + "/md5sum"); if (file.open(IO_WriteOnly)) { TQTextStream stream(&file); stream << md5sum; m_result |= MD5_OK; file.close(); } if (secretKeys.count() > 1) { bool ok; secretKeys = KInputDialog::getItemList(i18n("Select Signing Key"), i18n("Key used for signing:"), secretKeys, secretKeys[0], false, &ok); if (ok) m_secretKey = secretKeys[0]; else { emit fileSigned(0); return; } } else m_secretKey = secretKeys[0]; //verify the signature KProcIO *signProcess=new KProcIO(); *signProcess<<"gpg"<<"--no-secmem-warning"<<"--status-fd=2"<<"--command-fd=0"<<"--no-tty"<<"--detach-sign" << "-u" << m_secretKey << "-o" << f.dirPath() + "/signature" << m_fileName; connect(signProcess, TQT_SIGNAL(processExited(TDEProcess *)),this, TQT_SLOT(slotProcessExited(TDEProcess *))); connect(signProcess, TQT_SIGNAL(readReady(KProcIO *)),this, TQT_SLOT(slotDataArrived(KProcIO *))); m_runMode = Sign; if (signProcess->start(TDEProcess::NotifyOnExit,true)) m_gpgRunning = true; else { KMessageBox::error(0L, i18n("<qt>Cannot start <i>gpg</i> and sign the file. Make sure that <i>gpg</i> is installed, otherwise signing of the resources will not be possible.</qt>")); emit fileSigned(0); delete signProcess; } }
void TDERecentDocument::add(const KURL& url, const TQString& desktopEntryName) { if ( url.isLocalFile() && !TDEGlobal::dirs()->relativeLocation("tmp", url.path()).startsWith("/")) return; TQString openStr = url.url(); openStr.replace( TQRegExp("\\$"), "$$" ); // Desktop files with type "Link" are $-variable expanded kdDebug(250) << "TDERecentDocument::add for " << openStr << endl; TDEConfig *config = TDEGlobal::config(); TQString oldGrp = config->group(); config->setGroup(TQString::fromLatin1("RecentDocuments")); bool useRecent = config->readBoolEntry(TQString::fromLatin1("UseRecent"), true); int maxEntries = config->readNumEntry(TQString::fromLatin1("MaxEntries"), 10); config->setGroup(oldGrp); if(!useRecent) return; TQString path = recentDocumentDirectory(); TQString dStr = path + url.fileName(); TQString ddesktop = dStr + TQString::fromLatin1(".desktop"); int i=1; // check for duplicates while(TQFile::exists(ddesktop)){ // see if it points to the same file and application KSimpleConfig tmp(ddesktop); tmp.setDesktopGroup(); if(tmp.readEntry(TQString::fromLatin1("X-TDE-LastOpenedWith")) == desktopEntryName) { utime(TQFile::encodeName(ddesktop), NULL); return; } // if not append a (num) to it ++i; if ( i > maxEntries ) break; ddesktop = dStr + TQString::fromLatin1("[%1].desktop").arg(i); } TQDir dir(path); // check for max entries, delete oldest files if exceeded TQStringList list = dir.entryList(TQDir::Files | TQDir::Hidden, TQDir::Time | TQDir::Reversed); i = list.count(); if(i > maxEntries-1){ TQStringList::Iterator it; it = list.begin(); while(i > maxEntries-1){ TQFile::remove(dir.absPath() + TQString::fromLatin1("/") + (*it)); --i, ++it; } } // create the applnk KSimpleConfig conf(ddesktop); conf.setDesktopGroup(); conf.writeEntry( TQString::fromLatin1("Type"), TQString::fromLatin1("Link") ); conf.writePathEntry( TQString::fromLatin1("URL"), openStr ); // If you change the line below, change the test in the above loop conf.writeEntry( TQString::fromLatin1("X-TDE-LastOpenedWith"), desktopEntryName ); TQString name = url.fileName(); if (name.isEmpty()) name = openStr; conf.writeEntry( TQString::fromLatin1("Name"), name ); conf.writeEntry( TQString::fromLatin1("Icon"), KMimeType::iconForURL( url ) ); }
void TDMAppearanceWidget::load() { config->setGroup("X-*-Greeter"); // Read the greeting string greetstr_lined->setText(config->readEntry("GreetString", i18n("Welcome to %n"))); // Regular logo or clock TQString logoArea = config->readEntry("LogoArea", "Logo" ); if (logoArea == "Clock") { clockRadio->setChecked(true); slotAreaRadioClicked(KdmClock); } else if (logoArea == "Logo") { logoRadio->setChecked(true); slotAreaRadioClicked(KdmLogo); } else { noneRadio->setChecked(true); slotAreaRadioClicked(KdmNone); } // See if we use alternate logo setLogo(config->readEntry("LogoPixmap")); // Check the current compositor type compositorcombo->setCurrentId(config->readEntry("Compositor")); // Check the GUI type guicombo->setCurrentId(config->readEntry("GUIStyle")); // Check the Color Scheme colcombo->setCurrentId(config->readEntry("ColorScheme")); // Check the echo mode echocombo->setCurrentId(config->readEntry("EchoMode", "OneStar")); TQStringList sl = config->readListEntry( "GreeterPos" ); if (sl.count() != 2) { xLineEdit->setText( "50" ); yLineEdit->setText( "50" ); } else { xLineEdit->setText( sl.first() ); yLineEdit->setText( sl.last() ); } // get the language langcombo->setCurrentItem(config->readEntry("Language", "C")); // See if the SAK is enabled if (!sakwarning) { if (config->hasGroup("X-:*-Greeter")) { config->setGroup("X-:*-Greeter"); } else { config->setGroup("X-*-Greeter"); } sakbox->setChecked(config->readBoolEntry("UseSAK", false)); } else { sakbox->setChecked(false); } }
void tdeio_isoProtocol::listDir( const KURL & url ) { kdDebug() << "tdeio_isoProtocol::listDir " << url.url() << endl; TQString path; if ( !checkNewFile( url.path(), path, url.hasRef() ? url.htmlRef().toInt() : -1 ) ) { TQCString _path( TQFile::encodeName(url.path())); kdDebug() << "Checking (stat) on " << _path << endl; struct stat buff; if ( ::stat( _path.data(), &buff ) == -1 || !S_ISDIR( buff.st_mode ) ) { error( TDEIO::ERR_DOES_NOT_EXIST, url.path() ); return; } // It's a real dir -> redirect KURL redir; redir.setPath( url.path() ); if (url.hasRef()) redir.setRef(url.htmlRef()); kdDebug() << "Ok, redirection to " << redir.url() << endl; redirection( redir ); finished(); // And let go of the iso file - for people who want to unmount a cdrom after that delete m_isoFile; m_isoFile = 0L; return; } if ( path.isEmpty() ) { KURL redir( TQString::fromLatin1( "iso:/") ); kdDebug() << "url.path()==" << url.path() << endl; if (url.hasRef()) redir.setRef(url.htmlRef()); redir.setPath( url.path() + TQString::fromLatin1("/") ); kdDebug() << "tdeio_isoProtocol::listDir: redirection " << redir.url() << endl; redirection( redir ); finished(); return; } kdDebug() << "checkNewFile done" << endl; const KArchiveDirectory* root = m_isoFile->directory(); const KArchiveDirectory* dir; if (!path.isEmpty() && path != "/") { kdDebug() << TQString(TQString("Looking for entry %1").arg(path)) << endl; const KArchiveEntry* e = root->entry( path ); if ( !e ) { error( TDEIO::ERR_DOES_NOT_EXIST, path ); return; } if ( ! e->isDirectory() ) { error( TDEIO::ERR_IS_FILE, path ); return; } dir = (KArchiveDirectory*)e; } else { dir = root; } TQStringList l = dir->entries(); totalSize( l.count() ); UDSEntry entry; TQStringList::Iterator it = l.begin(); for( ; it != l.end(); ++it ) { kdDebug() << (*it) << endl; const KArchiveEntry* isoEntry = dir->entry( (*it) ); createUDSEntry( isoEntry, entry ); listEntry( entry, false ); } listEntry( entry, true ); // ready finished(); kdDebug() << "tdeio_isoProtocol::listDir done" << endl; }
void KSpellConfig::getAvailDictsAspell () { langfnames.clear(); dictcombo->clear(); langfnames.append(""); // Default dictcombo->insertItem (i18n("ASpell Default")); // Aspell now have /usr/lib/aspell as // ASPELL_DATADIR default. TQFileInfo dir ( ASPELL_DATADIR ); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/lib" KDELIBSUFF "/aspell-0.60"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/lib" KDELIBSUFF "/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/share/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/share/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/pkg/lib/aspell"); if (!dir.exists() || !dir.isDir()) return; kdDebug(750) << "KSpellConfig::getAvailDictsAspell " << dir.filePath() << " " << dir.dirPath() << endl; const TQDir thedir (dir.filePath(),"*"); const TQStringList entryList = thedir.entryList(); kdDebug(750) << "KSpellConfig" << thedir.path() << "\n" << endl; kdDebug(750) << "entryList().count()=" << entryList.count() << endl; TQStringList::const_iterator entryListItr = entryList.constBegin(); const TQStringList::const_iterator entryListEnd = entryList.constEnd(); for ( ; entryListItr != entryListEnd; ++entryListItr) { TQString fname, lname, hname; fname = *entryListItr; // consider only simple dicts without '-' in the name // FIXME: may be this is wrong an the list should contain // all *.multi files too, to allow using special dictionaries // Well, KSpell2 has a better way to do this, but this code has to be // cleaned up somehow: since aspell 0.6 we have quite a lot of files in the // aspell dictionary that are not dictionaries. These must not be presented as "languages" // We only keep // *.rws: dictionary // *.multi: definition file to load several subdictionaries if ( !( fname.endsWith(".rws") || fname.endsWith(".multi") ) ) { // remove noise from the language list continue; } if (fname[0] != '.') { // remove .multi if (fname.endsWith(".multi")) fname.remove (fname.length()-6,6); // remove .rws if (fname.endsWith(".rws")) fname.remove (fname.length()-4,4); if (interpret (fname, lname, hname) && langfnames.first().isEmpty()) { // This one is the KDE default language // so place it first in the lists (overwrite "Default") langfnames.remove ( langfnames.begin() ); langfnames.prepend ( fname ); hname=i18n("default spelling dictionary" ,"Default - %1").arg(hname); dictcombo->changeItem (hname,0); } else { langfnames.append (fname); dictcombo->insertItem (hname); } } } }
void KJanusWidget::InsertTreeListItem(const TQStringList &items, const TQPixmap &pixmap, TQFrame *page) { bool isTop = true; TQListViewItem *curTop = 0, *child, *last, *newChild; unsigned int index = 1; TQStringList curPath; for ( TQStringList::ConstIterator it = items.begin(); it != items.end(); ++it, index++ ) { TQString name = (*it); bool isPath = ( index != items.count() ); // Find the first child. if (isTop) { child = mTreeList->firstChild(); } else { child = curTop->firstChild(); } // Now search for a child with the current Name, and if it we doesn't // find it, then remember the location of the last child. for (last = 0; child && child->text(0) != name ; last = child, child = child->nextSibling()); if (!last && !child) { // This node didn't have any children at all, lets just insert the // new child. if (isTop) newChild = new TQListViewItem(mTreeList, name); else newChild = new TQListViewItem(curTop, name); } else if (child) { // we found the given name in this child. if (!isPath) { kdDebug() << "The element inserted was already in the TreeList box!" << endl; return; } else { // Ok we found the folder newChild = child; } } else { // the node had some children, but we didn't find the given name if (isTop) newChild = new TQListViewItem(mTreeList, last, name); else newChild = new TQListViewItem(curTop, last, name); } // Now make the element expandable if it is a path component, and make // ready for next loop if (isPath) { newChild->setExpandable(true); curTop = newChild; isTop = false; curPath << name; TQString key = curPath.join("_/_"); if (mFolderIconMap.contains(key)) { TQPixmap p = mFolderIconMap[key]; newChild->setPixmap(0,p); } } else { if (mShowIconsInTreeList) { newChild->setPixmap(0, pixmap); } mTreeListToPageStack.insert(newChild, page); } } }
void KSpellConfig::fillDicts( TQComboBox* box, TQStringList* dictionaries ) { langfnames.clear(); if ( box ) { if ( iclient == KS_CLIENT_ISPELL ) { box->clear(); langfnames.append(""); // Default box->insertItem( i18n("ISpell Default") ); // dictionary path TQFileInfo dir ("/usr/lib/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/lib/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/share/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/share/ispell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/pkg/lib"); /* TODO get them all instead of just one of them. * If /usr/local/lib exists, it skips the rest if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/lib"); */ if (!dir.exists() || !dir.isDir()) return; kdDebug(750) << "KSpellConfig::getAvailDictsIspell " << dir.filePath() << " " << dir.dirPath() << endl; const TQDir thedir (dir.filePath(),"*.hash"); const TQStringList entryList = thedir.entryList(); kdDebug(750) << "KSpellConfig" << thedir.path() << "\n" << endl; kdDebug(750) << "entryList().count()=" << entryList.count() << endl; TQStringList::const_iterator entryListItr = entryList.constBegin(); const TQStringList::const_iterator entryListEnd = entryList.constEnd(); for ( ; entryListItr != entryListEnd; ++entryListItr) { TQString fname, lname, hname; fname = *entryListItr; // remove .hash if (fname.endsWith(".hash")) fname.remove (fname.length()-5,5); if (interpret (fname, lname, hname) && langfnames.first().isEmpty()) { // This one is the KDE default language // so place it first in the lists (overwrite "Default") langfnames.remove ( langfnames.begin() ); langfnames.prepend ( fname ); hname=i18n("default spelling dictionary" ,"Default - %1 [%2]").arg(hname).arg(fname); box->changeItem (hname,0); } else { langfnames.append (fname); hname=hname+" ["+fname+"]"; box->insertItem (hname); } } } else if ( iclient == KS_CLIENT_HSPELL ) { box->clear(); box->insertItem( i18n("Hebrew") ); langfnames.append(""); // Default sChangeEncoding( KS_E_CP1255 ); } else if ( iclient == KS_CLIENT_ZEMBEREK ) { box->clear(); box->insertItem( i18n("Turkish") ); langfnames.append(""); sChangeEncoding( KS_E_UTF8 ); } else { box->clear(); langfnames.append(""); // Default box->insertItem (i18n("ASpell Default")); // dictionary path // FIXME: use "aspell dump config" to find out the dict-dir TQFileInfo dir ("/usr/lib" KDELIBSUFF "/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/lib" KDELIBSUFF "/aspell-0.60"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/lib" KDELIBSUFF "/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/share/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/local/share/aspell"); if (!dir.exists() || !dir.isDir()) dir.setFile ("/usr/pkg/lib/aspell"); if (!dir.exists() || !dir.isDir()) return; kdDebug(750) << "KSpellConfig::getAvailDictsAspell " << dir.filePath() << " " << dir.dirPath() << endl; const TQDir thedir (dir.filePath(),"*"); const TQStringList entryList = thedir.entryList(); kdDebug(750) << "KSpellConfig" << thedir.path() << "\n" << endl; kdDebug(750) << "entryList().count()=" << entryList.count() << endl; TQStringList::const_iterator entryListItr = entryList.constBegin(); const TQStringList::const_iterator entryListEnd = entryList.constEnd(); for ( ; entryListItr != entryListEnd; ++entryListItr) { TQString fname, lname, hname; fname = *entryListItr; // consider only simple dicts without '-' in the name // FIXME: may be this is wrong an the list should contain // all *.multi files too, to allow using special dictionaries // Well, KSpell2 has a better way to do this, but this code has to be // cleaned up somehow: since aspell 0.6 we have quite a lot of files in the // aspell dictionary that are not dictionaries. These must not be presented as "languages" // We only keep // *.rws: dictionary // *.multi: definition file to load several subdictionaries if ( !( fname.endsWith(".rws") || fname.endsWith(".multi") ) ) { // remove noise from the language list continue; } if (fname[0] != '.') { // remove .multi if (fname.endsWith(".multi")) fname.remove (fname.length()-6,6); // remove .rws if (fname.endsWith(".rws")) fname.remove (fname.length()-4,4); if (interpret (fname, lname, hname) && langfnames.first().isEmpty()) { // This one is the KDE default language // so place it first in the lists (overwrite "Default") langfnames.remove ( langfnames.begin() ); langfnames.prepend ( fname ); hname=i18n("default spelling dictionary" ,"Default - %1").arg(hname); box->changeItem (hname,0); } else { langfnames.append (fname); box->insertItem (hname); } } } } int whichelement = langfnames.findIndex(qsdict); if ( whichelement >= 0 ) { box->setCurrentItem( whichelement ); } if ( dictionaries ) *dictionaries = langfnames; } }