void KXmlCommandAdvancedDlg::recreateGroup(TQListViewItem *item, DrGroup *grp) { if (!item) return; TQListViewItem *child = item->firstChild(); while (child) { DrBase *opt = (m_opts.contains(child->text(1)) ? m_opts[child->text(1)] : 0); if (opt) { if (opt->type() == DrBase::Group) { DrGroup *childGroup = static_cast<DrGroup*>(opt); recreateGroup(child, childGroup); grp->addGroup(childGroup); } else { opt->setName("_kde-"+m_xmlcmd->name()+"-"+opt->name()); grp->addOption(opt); } m_opts.remove(child->text(1)); } child = child->nextSibling(); } }
void ConfFilters::slotChange() { TQListViewItem *item = m_filters->currentItem(); if (item) { TQString mime(item->text(0)), cmd(item->text(1)); if (FilterDlg::doIt(this, &mime, &cmd)) { item->setText(0, mime); item->setText(1, cmd); } } }
void ConfFilters::save() { TQListViewItem *item = m_filters->firstChild(); TQFile f(locateLocal("data","tdeprintfax/faxfilters")); if (f.open(IO_WriteOnly)) { TQTextStream t(&f); while (item) { t << item->text(0) << ' ' << item->text(1) << endl; item = item->nextSibling(); } } }
void IconThemesConfig::updateRemoveButton() { TQListViewItem *selected = m_iconThemes->selectedItem(); bool enabled = false; if (selected) { TDEIconTheme icontheme(m_themeNames[selected->text(0)]); TQFileInfo fi(icontheme.dir()); enabled = fi.isWritable(); // Don't let users remove the current theme. if(m_themeNames[selected->text(0)] == TDEIconTheme::current() || m_themeNames[selected->text(0)] == TDEIconTheme::defaultThemeName()) enabled = false; } m_removeButton->setEnabled(enabled); }
void IconThemesConfig::save() { if (!m_bChanged) return; TQListViewItem *selected = m_iconThemes->selectedItem(); if (!selected) return; KSimpleConfig *config = new KSimpleConfig("kdeglobals", false); config->setGroup("Icons"); config->writeEntry("Theme", m_themeNames[selected->text(0)]); delete config; TDEIconTheme::reconfigure(); emit changed(false); for (int i=0; i<TDEIcon::LastGroup; i++) { KIPC::sendMessageAll(KIPC::IconChanged, i); } KService::rebuildKSycoca(this); m_bChanged = false; m_removeButton->setEnabled(false); }
void CustomSmileyManager::slotFaceValueChanged( int row, int col ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; TQString text = tblFaceList->text(row, col); switch(col){ case 1: // tip m_Config->updateFaceTip(gId, row, tblFaceList->text(row, col)); m_Config->saveXML(); m_IsChanged = true; break; case 2: // shortcut m_Config->updateFaceShortcut(gId, row, tblFaceList->text(row, col)); m_Config->saveXML(); m_IsChanged = true; break; default: // anything else, ignore break; } } }
void KDFConfigWidget::applySettings( void ) { TDEConfig &config = *kapp->config(); config.setGroup("KDFConfig"); if( GUI ) { //config.writeEntry( "Width", width() ); //config.writeEntry( "Height", height() ); mStd.setFileManager( mFileManagerEdit->text() ); mStd.setUpdateFrequency( mScroll->value() ); mStd.setPopupIfFull( mPopupFullCheck->isChecked() ); mStd.setOpenFileManager( mOpenMountCheck->isChecked() ); mStd.writeConfiguration(); TQListViewItem *item = mList->firstChild(); if( item != 0 ) { for( int i=mList->header()->count(); i>0; i-- ) { bool state = item->text(i-1) == i18n("visible") ? true : false; config.writeEntry( mTabName[i-1]->mRes, state ); } } } else { mStd.writeDefaultFileManager(); } config.sync(); }
bool GetInfo_Sound (TQListView *lbox) { lbox->setSorting(false); if (!GetDmesgInfo(lbox, "audio", NULL)) new TQListViewItem(lbox, i18n("No audio devices found.")); // append information for each audio devices found TQListViewItem *lvitem = lbox->firstChild(); for(; lvitem; lvitem = lvitem->nextSibling()) { TQString s; int pos, len; const char *start; char *dev; s = lvitem->text(0); // The autoconf message is in form 'audio0 at auvia0: ...' if (s.find("audio") == 0 && (pos = s.find(" at ")) > 0) { pos += 4; // skip " at " start = s.ascii() + pos; len = (int) strcspn(start, ":\n\t "); dev = (char *) malloc(1 + len + 1); sprintf(dev, "^%.*s", len, start); /* safe */ GetDmesgInfo(lbox, dev, NULL); free(dev); } } return true; }
void KMWLocal::updatePrinter(KMPrinter *printer) { TQListViewItem *item = m_ports->selectedItem(); if ( item && item->depth() == 3 ) printer->setOption( "kde-autodetect", item->text( 0 ) ); printer->setDevice(m_localuri->text()); }
TQListViewItem *IconThemesConfig::iconThemeItem(const TQString &name) { TQListViewItem *item; for ( item=m_iconThemes->firstChild(); item ; item=item->nextSibling() ) if (m_themeNames[item->text(0)]==name) return item; return 0L; }
void KMConfigFonts::slotDown() { TQListViewItem *citem = m_fontpath->selectedItem(), *nitem = 0; if (!citem || !citem->itemBelow()) return; nitem = new TQListViewItem(m_fontpath, citem->itemBelow(), citem->text(0)); delete citem; m_fontpath->setSelected(nitem, true); }
void IconThemesConfig::removeSelectedTheme() { TQListViewItem *selected = m_iconThemes->selectedItem(); if (!selected) return; TQString question=i18n("<qt>Are you sure you want to remove the " "<strong>%1</strong> icon theme?<br>" "<br>" "This will delete the files installed by this theme.</qt>"). arg(selected->text(0)); bool deletingCurrentTheme=(selected==iconThemeItem(TDEIconTheme::current())); int r=KMessageBox::warningContinueCancel(this,question,i18n("Confirmation"),KStdGuiItem::del()); if (r!=KMessageBox::Continue) return; TDEIconTheme icontheme(m_themeNames[selected->text(0)]); // delete the index file before the async TDEIO::del so loadThemes() will // ignore that dir. unlink(TQFile::encodeName(icontheme.dir()+"/index.theme").data()); unlink(TQFile::encodeName(icontheme.dir()+"/index.desktop").data()); TDEIO::del(KURL( icontheme.dir() )); TDEGlobal::instance()->newIconLoader(); loadThemes(); TQListViewItem *item=0L; //Fallback to the default if we've deleted the current theme if (!deletingCurrentTheme) item=iconThemeItem(TDEIconTheme::current()); if (!item) item=iconThemeItem(TDEIconTheme::defaultThemeName()); m_iconThemes->setSelected(item, true); updateRemoveButton(); if (deletingCurrentTheme) // Change the configuration save(); }
void CustomSmileyManager::slotMoveSmileyTo( int Id ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ TQString srcGName = item->text(0); // selected group name int gId = m_Config->groupIndex( srcGName ); // selected group index TQString destGName = m_Config->groupName( Id); // dest group name if( (gId < 0) || (Id < 0) || (gId == Id) ) return; TQString dir = EvaMain::user->getSetting()->getCustomSmileyDir() + "/"; TQString src = dir, dest = dir; if(gId != 0) src += (srcGName + "/"); if(Id != 0 ) dest += (destGName + "/"); int row = 0; bool moved = false; // as removing row also clear the selection( or change to the last row), // so we have to record the selection first bool *flags = new bool[tblFaceList->numRows()]; for(row = 0; row < tblFaceList->numRows(); row++){ if (tblFaceList->isRowSelected(row)) flags[row] = true; else flags[row] = false; } for( row = tblFaceList->numRows() -1; row >= 0; row--){ if (flags[row]){ CustomFace face = m_Config->getFace( gId, row); if(m_Config->moveFaceTo( gId, row, Id)){ // if update config true EvaHelper::copyFile( src + face.fixed(), dest + face.fixed()); EvaHelper::copyFile( src + face.org(), dest + face.org()); TQDir smileyDir(src); smileyDir.remove( src + face.fixed()); smileyDir.remove( src + + face.org()); // update display tblFaceList->removeRow(row); m_IsChanged = true; moved = true; } } } delete []flags; if(moved) m_Config->saveXML(); // save config in case of some unexpected situations } }
void KMConfigFonts::saveConfig(TDEConfig *) { TQSettings settings; settings.writeEntry("/qt/embedFonts", m_embedfonts->isChecked()); TQStringList l; TQListViewItem *item = m_fontpath->firstChild(); while (item) { l << item->text(0); item = item->nextSibling(); } settings.writeEntry("/qt/fontPath", l, ':'); }
void CustomSmileyManager::slotFaceSelectionChanged( ) { // TQTable::numSelections() doesn't return the correct value // if use select some rows by pressing shift key int numSelections = 0; int first = -1; for(int r = 0; r < tblFaceList->numRows(); r++){ numSelections += ((tblFaceList->isRowSelected(r))?1:0); if( (numSelections == 1) && (first == -1) ){ first = r; } } bool isSingle = (numSelections == 1); btnEdit->setEnabled(isSingle); btnUp->setEnabled(isSingle); btnDown->setEnabled(isSingle); if(numSelections){ TQListViewItem *item = lvGroups->selectedItem(); if(item){ int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; CustomFace face = m_Config->getFace( gId, first); TQString path = EvaMain::user->getSetting()->getCustomSmileyDir() + "/"; if(gId > 0 ) path += (item->text(0) + "/"); TQString ext = face.org().right(3); lblPreview->clear(); if(ext.lower() == "gif"){ lblPreview->setMovie( TQMovie(path + face.org())); } else { TQImage img(path + face.org() ); lblPreview->setPixmap( TQPixmap(img.smoothScale( lblPreview->size(), TQImage::ScaleMin))); } } } }
// rename the group void CustomSmileyManager::slotEditGroupClicked( ) { TQListViewItem *item = lvGroups->selectedItem(); if(item){ if(item == lvGroups->firstChild()) return; d->m_Action = GroupActionPrivate::GEdit; d->m_Item = item; d->m_OldName = item->text( 0 ); item->setRenameEnabled( 0, true ); item->startRename( 0 ); } }
void CustomSmileyManager::slotAddSmiley( ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(! item) return; int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; CreateSmileyWindow *win = new CreateSmileyWindow(TQString::null, gId); connect(win, SIGNAL(addCustomSmileyReady( bool )), this, SLOT(slotAddCustomSmileyReady( bool ))); win->show(); }
TQListViewItem* KMWLocal::lookForItem( const TQString& uri ) { for ( int i=0; i<4; i++ ) { TQListViewItem *item = m_parents[ i ]->firstChild(); while ( item ) if ( item->text( 1 ) == uri ) if ( item->firstChild() ) return item->firstChild(); else return item; else item = item->nextSibling(); } return 0; }
void CustomSmileyManager::slotAddCustomSmileyReady( bool ok) { if(!ok) return; if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(! item) return; int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; m_Config->loadXML(); loadSmileys(gId); // notify smiley popup window to update emit customSmileyChanged(); }
bool GetInfo_SCSI (TQListView *lbox) { if (!GetDmesgInfo(lbox, "scsibus", NULL)) new TQListViewItem(lbox, i18n("No SCSI devices found.")); // remove the 'waiting %d seconds for devices to settle' message TQListViewItem *lvitem = lbox->firstChild(); for(; lvitem; lvitem = lvitem->nextSibling()) { TQString s = lvitem->text(0); if (s.contains("seconds for devices to settle")) { lbox->removeItem(lvitem); break; } } return true; }
void KXmlCommandDlg::slotOk() { if (m_cmd) { m_cmd->setMimeType((m_mimetype->currentText() == "all/all" ? TQString::null : m_mimetype->currentText())); m_cmd->setDescription(m_description->text()); TQStringList l; TQListViewItem *item = m_requirements->firstChild(); while (item) { l << item->text(0); item = item->nextSibling(); } m_cmd->setRequirements(l); l.clear(); for (uint i=0; i<m_selectedmime->count(); i++) l << m_selectedmime->text(i); m_cmd->setInputMimeTypes(l); } KDialogBase::slotOk(); }
void CustomSmileyManager::slotUpSmiley( ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; int row = 1; // the first row cannot be moved up for(row = 1; row < tblFaceList->numRows(); row++){ if (tblFaceList->isRowSelected(row)){ m_Config->moveFaceUp(gId, row); tblFaceList->swapRows(row, row -1); //tblFaceList->updateContents(); tblFaceList->clearSelection(); tblFaceList->selectRow(row - 1); m_IsChanged = true; break; } } } }
void CustomSmileyManager::slotDownSmiley( ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; int row = 0; for(row = 0; row < tblFaceList->numRows() - 1; row++){ // ignore the last row if (tblFaceList->isRowSelected(row)) { m_Config->moveFaceDown( gId, row); tblFaceList->swapRows(row, row + 1); //tblFaceList->updateContents(); tblFaceList->clearSelection(); tblFaceList->selectRow(row + 1); m_IsChanged = true; break; } } } }
void CustomSmileyManager::slotRemoveSmiley( ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ int gId = m_Config->groupIndex( item->text( 0 ) ); if(gId < 0) return; // as removing row also clear the selection( or change to the last row), // so we have to record the selection first bool *flags = new bool[tblFaceList->numRows()]; int row = 0; for(row = 0; row < tblFaceList->numRows(); row++){ if (tblFaceList->isRowSelected(row)) flags[row] = true; else flags[row] = false; } for( row = tblFaceList->numRows() -1; row >= 0; row--){ if (flags[row]){ CustomFace face = m_Config->getFace( gId, row); if(removeSmileyFile(face)){ // update config first m_Config->removeFace( gId, row); m_Config->saveXML(); // update config file in case // update display tblFaceList->removeRow(row); m_IsChanged = true; } } } delete []flags; } }
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 KXmlCommandAdvancedDlg::slotApplyChanges() { TQListViewItem *item = m_view->currentItem(); if (item) { if (m_name->text().isEmpty() || m_name->text() == "__root__") { KMessageBox::error(this, i18n("Invalid identification name. Empty strings and \"__root__\" are not allowed.")); return; } m_apply->setEnabled(false); DrBase *opt = (m_opts.contains(item->text(1)) ? m_opts[item->text(1)] : 0); m_opts.remove(item->text(1)); delete opt; // update tree item item->setText(0, m_desc->text()); item->setText(1, m_name->text()); // recreate option if (m_type->isEnabled()) { int type = m_type->currentItem() + DrBase::String; switch (type) { case DrBase::Integer: case DrBase::Float: if (type == DrBase::Integer) opt = new DrIntegerOption; else opt = new DrFloatOption; opt->set("minval", m_edit1->text()); opt->set("maxval", m_edit2->text()); break; case DrBase::List: case DrBase::Boolean: { if (type == DrBase::List) opt = new DrListOption; else opt = new DrBooleanOption; DrListOption *lopt = static_cast<DrListOption*>(opt); TQListViewItem *item = m_values->firstChild(); while (item) { DrBase *choice = new DrBase; choice->setName(item->text(0)); choice->set("text", item->text(1)); lopt->addChoice(choice); item = item->nextSibling(); } break; } case DrBase::String: opt = new DrStringOption; break; } opt->set("format", m_format->text()); opt->set("default", m_default->text()); opt->setValueText(opt->get("default")); } else opt = new DrGroup; opt->setName((m_name->text().isEmpty() ? generateId(m_opts) : m_name->text())); opt->set("text", m_desc->text()); opt->set( "persistent", m_persistent->isChecked() ? "1" : "0" ); m_opts[opt->name()] = opt; } }
void KXmlCommandAdvancedDlg::viewItem(TQListViewItem *item) { m_dummy->setEnabled((item != 0)); m_name->setText(""); m_desc->setText(""); m_format->setText(""); m_default->setText(""); m_values->clear(); m_edit1->setText(""); m_edit2->setText(""); m_persistent->setChecked( false ); int typeId(-1); if (item) { m_name->setText(item->text(1)); m_desc->setText(item->text(0)); DrBase *opt = (m_opts.contains(item->text(1)) ? m_opts[item->text(1)] : 0); if (opt) { bool isgroup = (opt->type() < DrBase::String); if (!isgroup) { m_type->setCurrentItem(opt->type() - DrBase::String); typeId = m_type->currentItem(); m_format->setText(opt->get("format")); m_default->setText(opt->get("default")); } m_type->setEnabled(!isgroup); m_default->setEnabled(!isgroup); m_format->setEnabled(!isgroup); m_stack->setEnabled(!isgroup); switch (opt->type()) { case DrBase::Float: case DrBase::Integer: m_edit1->setText(opt->get("minval")); m_edit2->setText(opt->get("maxval")); break; case DrBase::Boolean: case DrBase::List: { TQPtrListIterator<DrBase> it(*(static_cast<DrListOption*>(opt)->choices())); TQListViewItem *item(0); for (; it.current(); ++it) { item = new TQListViewItem(m_values, item, it.current()->name(), it.current()->get("text")); item->setRenameEnabled(0, true); item->setRenameEnabled(1, true); } break; } default: break; } m_addgrp->setEnabled(isgroup); m_addopt->setEnabled(isgroup); TQListViewItem *prevItem = findPrev(item), *nextItem = findNext(item); DrBase *prevOpt = (prevItem && m_opts.contains(prevItem->text(1)) ? m_opts[prevItem->text(1)] : 0); DrBase *nextOpt = (nextItem && m_opts.contains(nextItem->text(1)) ? m_opts[nextItem->text(1)] : 0); m_up->setEnabled(prevOpt && !(prevOpt->type() < DrBase::String && opt->type() >= DrBase::String)); m_down->setEnabled(nextOpt && !(isgroup && nextOpt->type() >= DrBase::String)); m_persistent->setChecked( opt->get( "persistent" ) == "1" ); } m_delopt->setEnabled(true); m_dummy->setEnabled(opt); } else { m_delopt->setEnabled(false); m_addopt->setEnabled(m_view->currentItem() && m_view->isEnabled()); m_addgrp->setEnabled(m_view->currentItem() && m_view->isEnabled()); m_up->setEnabled(false); m_down->setEnabled(false); } slotTypeChanged(typeId); m_apply->setEnabled(false); }
/** remove one group, 2 options: 1: remove all smileys in this group, then remove the group itself 2: move all sub items into another group, then remove the empty group NOTE: this operation is un-recoverable. */ void CustomSmileyManager::slotRemoveGroupClicked( ) { if(!m_Config) return; TQListViewItem *item = lvGroups->selectedItem(); if(item){ if(item == lvGroups->firstChild()) return; // never remove default group int index = m_Config->groupIndex( item->text( 0 ) ); if(index <= -1) return; TQString path = EvaMain::user->getSetting()->getCustomSmileyDir() + "/"; TQDir dir( path + item->text(0) ); FaceList list = m_Config->groupMembers( index); int result = -2; if(list.size() > 0 ){ result = RmSmileyGroupDialog::QueryDialog( index, m_Config, this); switch(result){ case -2: // abort return; break; case -1: // remove all break; default: // otherwise, move to result { if(dir.exists()){ dir.setFilter( TQDir::Files | TQDir::Hidden | TQDir::NoSymLinks ); const TQFileInfoList *list = dir.entryInfoList(); TQFileInfoListIterator it( *list); TQFileInfo *fi; TQString destDir = path; if(result>0) destDir += ( m_Config->groupName( result ) + "/") ; while( (fi = it.current() ) != 0 ){ EvaHelper::copyFile(fi->absFilePath(), (destDir + fi->fileName()) ); ++it; } } m_Config->moveChildrenTo(index, result); m_IsChanged = true; } } } if(dir.exists()){ // update the in-memory config if(m_Config->removeGroup( index )){ lvGroups->takeItem( item); delete item; m_IsChanged = true; } else return; dir.setFilter( TQDir::Files | TQDir::Hidden | TQDir::NoSymLinks ); const TQFileInfoList *list = dir.entryInfoList(); TQFileInfoListIterator it( *list); TQFileInfo *fi; while( (fi = it.current() ) != 0 ){ dir.remove( fi->absFilePath() ); ++it; } // as all files have been deleted, we need keep the config file up to date. m_Config->saveXML(); if( ! dir.rmdir( dir.path(), true)){ KMessageBox::error( this, i18n( "Remove directory \"%1\" failed. " ).arg( dir.path() ), i18n( "Remove Directory!" ) ); } } } }