ProgressManager *ProgressManager::instance() { if(!mInstance) { progressManagerDeleter.setObject(mInstance, new ProgressManager()); } return mInstance; }
KstSettings *KstSettings::globalSettings() { if (!_self) { kstsettingssd.setObject(_self, new KstSettings); _self->reload(); } return _self; }
SyncProcessManager *SyncProcessManager::self() { if(!mSelf) { selfDeleter.setObject(mSelf, new SyncProcessManager()); } return mSelf; }
int KstColorSequence::count() { if (!_self) { sdColorSequence.setObject(_self, new KstColorSequence); } _self->createPalette(); return _self->_count * 2; }
ServerTypeManager *ServerTypeManager::self() { if(!mSelf) serverManagerDeleter.setObject(mSelf, new ServerTypeManager(0, "ServerTypeManager")); return mSelf; }
TagActionManager* TagActionManager::self() { if (!s_mSelf) { staticDeleter.setObject(s_mSelf, new TagActionManager()); } return s_mSelf; }
FormatFactory *FormatFactory::self() { kdDebug(5700) << "FormatFactory::self()" << endl; if(!mSelf) factoryDeleter.setObject(mSelf, new FormatFactory); return mSelf; }
XineCfg *XineCfg::self() { if ( !mSelf ) { staticXineCfgDeleter.setObject( mSelf, new XineCfg() ); mSelf->readConfig(); } return mSelf; }
GlobalSettings *GlobalSettings::self() { if ( !mSelf ) { staticGlobalSettingsDeleter.setObject( mSelf, new GlobalSettings() ); mSelf->readConfig(); } return mSelf; }
KIMProxy * KIMProxy::instance( DCOPClient * client ) { if ( client ) { if ( !s_instance ) _staticDeleter.setObject( s_instance, new KIMProxy( client ) ); return s_instance; } else return 0L; }
QStringList *ArgExtractor::regExpList() { if(!_argList) { sdAL.setObject( _argList, new QStringList ); //Build the default arg list _argList->append("%[ndioxXucsfeEgGp]"); _argList->append("%([0-9]+(\\$))?[-+'#0]?[0-9]*(.[0-9]+)?[hlL]?[dioxXucsfeEgGp]"); _argList->append("%[0-9]+"); } return _argList; }
QColor KstColorSequence::entry(int ptr) { if (!_self) { sdColorSequence.setObject(_self, new KstColorSequence); } _self->createPalette(); if (ptr >= _self->_count * 2) { ptr = 0; } int dark_factor = 100 + ( 50 * ( ptr / _self->_count ) ); return _self->_pal->color( ptr % _self->_count).dark(dark_factor); }
static char * safeSmsGenerateClientID( SmsConn /*c*/ ) { // Causes delays with misconfigured network :-/. // char *ret = SmsGenerateClientID(c); char* ret = NULL; if (!ret) { static QString *my_addr = 0; if (!my_addr) { // qWarning("Can't get own host name. Your system is severely misconfigured\n"); smy_addr.setObject(my_addr,new QString); /* Faking our IP address, the 0 below is "unknown" address format (1 would be IP, 2 would be DEC-NET format) */ char hostname[ 256 ]; if( gethostname( hostname, 255 ) != 0 ) my_addr->sprintf("0%.8x", KApplication::random()); else { // create some kind of hash for the hostname int addr[ 4 ] = { 0, 0, 0, 0 }; int pos = 0; for( unsigned int i = 0; i < strlen( hostname ); ++i, ++pos ) addr[ pos % 4 ] += hostname[ i ]; *my_addr = "0"; for( int i = 0; i < 4; ++i ) *my_addr += QString::number( addr[ i ], 16 ); } } /* Needs to be malloc(), to look the same as libSM */ ret = (char *)malloc(1+my_addr->length()+13+10+4+1 + /*safeness*/ 10); static int sequence = 0; if (ret == NULL) return NULL; sprintf(ret, "1%s%.13ld%.10d%.4d", my_addr->latin1(), (long)time(NULL), getpid(), sequence); sequence = (sequence + 1) % 10000; } return ret; }
void KFileShare::readShareList() { KFileSharePrivate::self(); if(!s_shareList) sdShareList.setObject(s_shareList, new QStringList); else s_shareList->clear(); // /usr/sbin on Mandrake, $PATH allows flexibility for other distributions QString exe = findExe("filesharelist"); if(exe.isEmpty()) { s_authorization = ErrorNotFound; return; } KProcIO proc; proc << exe; if(!proc.start(KProcess::Block)) { kdError() << "Can't run " << exe << endl; s_authorization = ErrorNotFound; return; } // Reading code shamelessly stolen from khostname.cpp ;) QString line; int length; do { length = proc.readln(line, true); if(length > 0) { if(line[length - 1] != '/') line += '/'; s_shareList->append(line); kdDebug(7000) << "Shared dir:" << line << endl; } } while(length > -1); }
QString Address::countryToISO(const QString &cname) { // we search a map file for translations from country names to // iso codes, storing caching things in a QMap for faster future // access. if(!mISOMap) isoMapDeleter.setObject(mISOMap, new QMap< QString, QString >()); QMap< QString, QString >::ConstIterator it; it = mISOMap->find(cname); if(it != mISOMap->end()) return it.data(); QString mapfile = KGlobal::dirs()->findResource("data", QString::fromLatin1("kabc/countrytransl.map")); QFile file(mapfile); if(file.open(IO_ReadOnly)) { QTextStream s(&file); QString strbuf = s.readLine(); while(!strbuf.isEmpty()) { QStringList countryInfo = QStringList::split('\t', strbuf, true); if(countryInfo[0] == cname) { file.close(); mISOMap->insert(cname, countryInfo[1]); return countryInfo[1]; } strbuf = s.readLine(); } file.close(); } // fall back to system country mISOMap->insert(cname, KGlobal::locale()->country()); return KGlobal::locale()->country(); }
KStandardDirsSingleton* KStandardDirsSingleton::self() { if ( !s_self ) kstds_sd.setObject( s_self, new KStandardDirsSingleton ); return s_self; }
RecentAddresses * RecentAddresses::self( KConfig *config) { if ( !s_self ) sd.setObject( s_self, new RecentAddresses(config) ); return s_self; }
void KstData::replaceSelf(KstData *newInstance) { delete _self; _self = 0L; _self = sdData.setObject(_self, newInstance); }
KstPsdDialogI *KstPsdDialogI::globalInstance() { if (!_inst) { _inst = _psInst.setObject(new KstPsdDialogI); } return _inst; }
KstVectorDialogI *KstVectorDialogI::globalInstance() { if (!_inst) { _inst = _vInst.setObject(new KstVectorDialogI); } return _inst; }
HostPreferences::~HostPreferences() { if ( m_instance == this ) sd.setObject( m_instance, 0, false ); }
KSaveIOConfigPrivate::KSaveIOConfigPrivate (): config(0), http_config(0) { ksiocp.setObject (ksiocpref, this); }
KURIFilter *KURIFilter::self() { if (!s_self) s_self = kurifiltersd.setObject(s_self, new KURIFilter); return s_self; }
KABC::Addressee Contact::fromXml(const QString &xml) { QDomDocument document; QString errorMsg; int errorLine, errorColumn; if(!document.setContent(xml, true, &errorMsg, &errorLine, &errorColumn)) { qDebug("Error parsing XML in Scalix::Contact::fromXml: %s (%d,%d)", errorMsg.latin1(), errorLine, errorColumn); return KABC::Addressee(); } QDomElement contactElement = document.documentElement(); if(contactElement.tagName() != "contact") { if(contactElement.tagName() == "distlist") { const QDomNodeList names = contactElement.elementsByTagName("display_name"); const QString listName = (names.count() == 1 ? names.item(0).toElement().text() : "Scalix Dummy List"); /** * As we can't provide distribution list functionality we store the entry * here and return it on save. */ KPIM::DistributionList list; list.setName(listName); if(!s_distListMap) sd.setObject(s_distListMap, new QMap<QString, QString>()); s_distListMap->insert(list.uid(), xml); return list; } else { qDebug("Error interpreting XML in Scalix::Contact::fromXml: no 'contact' or 'distlist' tag found"); return KABC::Addressee(); } } QString emails[ 3 ]; KABC::Address homeAddress(KABC::Address::Home); KABC::Address workAddress(KABC::Address::Work); KABC::Address otherAddress(KABC::Address::Dom); KABC::Addressee addr; setCustom("comes_from_scalix", "true", addr); QDomNode node = contactElement.firstChild(); while(!node.isNull()) { QDomElement element = node.toElement(); if(!element.isNull()) { if(element.tagName() == "direct_ref") addr.setUid(element.text()); else if(element.tagName() == "sensitivity") setCustom("sensitivity", element.text(), addr); else if(element.tagName() == "is_recurring") setCustom("is_recurring", element.text(), addr); else if(element.tagName() == "reminder_set") setCustom("reminder_set", element.text(), addr); else if(element.tagName() == "send_rich_info") setCustom("send_rich_info", element.text(), addr); else if(element.tagName() == "last_modification_time") addr.setRevision(QDateTime::fromString(element.text(), Qt::ISODate)); // name else if(element.tagName() == "display_name_prefix") addr.setPrefix(element.text()); else if(element.tagName() == "first_name") addr.setGivenName(element.text()); else if(element.tagName() == "middle_name") addr.setAdditionalName(element.text()); else if(element.tagName() == "last_name") addr.setFamilyName(element.text()); else if(element.tagName() == "suffix") addr.setSuffix(element.text()); else if(element.tagName() == "file_as") addr.setFormattedName(element.text()); else if(element.tagName() == "nickname") addr.setNickName(element.text()); // job else if(element.tagName() == "web_page_address") addr.setUrl(element.text()); else if(element.tagName() == "company_name") addr.setOrganization(element.text()); else if(element.tagName() == "job_title") addr.setTitle(element.text()); // emails else if(element.tagName().startsWith("email")) { if(element.tagName() == "email1_address") emails[ 0 ] = element.text(); else if(element.tagName() == "email2_address") emails[ 1 ] = element.text(); else if(element.tagName() == "email3_address") emails[ 2 ] = element.text(); else setCustom(element.tagName(), element.text(), addr); } // phone numbers else if(element.tagName() == "home_phone_number") addr.insertPhoneNumber(KABC::PhoneNumber(element.text(), KABC::PhoneNumber::Home)); else if(element.tagName() == "work_phone_number") addr.insertPhoneNumber(KABC::PhoneNumber(element.text(), KABC::PhoneNumber::Work)); else if(element.tagName() == "work_fax_number") addr.insertPhoneNumber(KABC::PhoneNumber(element.text(), KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax)); else if(element.tagName() == "mobile_phone_number") addr.insertPhoneNumber(KABC::PhoneNumber(element.text(), KABC::PhoneNumber::Cell)); // address (work) else if(element.tagName() == "work_address_street") workAddress.setStreet(element.text()); else if(element.tagName() == "work_address_zip") workAddress.setPostalCode(element.text()); else if(element.tagName() == "work_address_city") workAddress.setLocality(element.text()); else if(element.tagName() == "work_address_state") workAddress.setRegion(element.text()); else if(element.tagName() == "work_address_country") workAddress.setCountry(element.text()); // address (home) else if(element.tagName() == "home_address_street") homeAddress.setStreet(element.text()); else if(element.tagName() == "home_address_zip") homeAddress.setPostalCode(element.text()); else if(element.tagName() == "home_address_city") homeAddress.setLocality(element.text()); else if(element.tagName() == "home_address_state") homeAddress.setRegion(element.text()); else if(element.tagName() == "home_address_country") homeAddress.setCountry(element.text()); // address (other) else if(element.tagName() == "other_address_street") otherAddress.setStreet(element.text()); else if(element.tagName() == "other_address_zip") otherAddress.setPostalCode(element.text()); else if(element.tagName() == "other_address_city") otherAddress.setLocality(element.text()); else if(element.tagName() == "other_address_state") otherAddress.setRegion(element.text()); else if(element.tagName() == "other_address_country") otherAddress.setCountry(element.text()); else if(element.tagName() == "selected_mailing_address") switch(element.text().toInt()) { case 1: homeAddress.setType(homeAddress.type() | KABC::Address::Pref); break; case 2: workAddress.setType(workAddress.type() | KABC::Address::Pref); break; case 3: otherAddress.setType(otherAddress.type() | KABC::Address::Pref); break; default: Q_ASSERT(!"Unknown selected_mailing_address enum"); break; } // misc else if(element.tagName() == "im_address") addr.insertCustom("KADDRESSBOOK", "X-IMAddress", element.text()); else if(element.tagName() == "manager") addr.insertCustom("KADDRESSBOOK", "X-ManagersName", element.text()); else if(element.tagName() == "department") addr.insertCustom("KADDRESSBOOK", "X-Department", element.text()); else if(element.tagName() == "assistant") addr.insertCustom("KADDRESSBOOK", "X-AssistantsName", element.text()); else if(element.tagName() == "profession") addr.insertCustom("KADDRESSBOOK", "X-Profession", element.text()); else if(element.tagName() == "office_location") addr.insertCustom("KADDRESSBOOK", "X-Office", element.text()); else if(element.tagName() == "spouse") addr.insertCustom("KADDRESSBOOK", "X-SpousesName", element.text()); else if(element.tagName() == "bday") addr.setBirthday(QDateTime::fromString(element.text(), Qt::ISODate)); else if(element.tagName() == "anniversary") addr.insertCustom("KADDRESSBOOK", "X-Anniversary", element.text()); else setCustom(element.tagName(), element.text(), addr); } node = node.nextSibling(); } for(int i = 0; i < 3; ++i) if(!emails[ i ].isEmpty()) addr.insertEmail(emails[ i ]); if(!homeAddress.isEmpty()) addr.insertAddress(homeAddress); if(!workAddress.isEmpty()) addr.insertAddress(workAddress); if(!otherAddress.isEmpty()) addr.insertAddress(otherAddress); return addr; }
KstData *KstData::self() { if (!_self) { _self = sdData.setObject(_self, new KstData); } return _self; }
PicAsm14bit *PicAsm14bit::self() { if ( !m_self ) picAsm14BitStaticDeleter.setObject( m_self, new PicAsm14bit() ); return m_self; }
KonqSidebarHistoryModule::KonqSidebarHistoryModule( KonqSidebarTree * parentTree, const char *name ) : QObject( 0L, name ), KonqSidebarTreeModule( parentTree ), m_dict( 349 ), m_topLevelItem( 0L ), m_dlg( 0L ), m_initialized( false ) { if ( !s_settings ) { sd.setObject( s_settings, new KonqSidebarHistorySettings( 0, "history settings" )); s_settings->readSettings( true ); } connect( s_settings, SIGNAL( settingsChanged() ), SLOT( slotSettingsChanged() )); m_dict.setAutoDelete( true ); m_currentTime = QDateTime::currentDateTime(); KConfig *kc = KGlobal::config(); KConfigGroupSaver cs( kc, "HistorySettings" ); m_sortsByName = kc->readEntry( "SortHistory", "byDate" ) == "byName"; KonqHistoryManager *manager = KonqHistoryManager::kself(); connect( manager, SIGNAL( loadingFinished() ), SLOT( slotCreateItems() )); connect( manager, SIGNAL( cleared() ), SLOT( clear() )); connect( manager, SIGNAL( entryAdded( const KonqHistoryEntry * ) ), SLOT( slotEntryAdded( const KonqHistoryEntry * ) )); connect( manager, SIGNAL( entryRemoved( const KonqHistoryEntry *) ), SLOT( slotEntryRemoved( const KonqHistoryEntry *) )); connect( parentTree, SIGNAL( expanded( QListViewItem * )), SLOT( slotItemExpanded( QListViewItem * ))); m_collection = new KActionCollection( this, "history actions" ); (void) new KAction( i18n("New &Window"), "window_new", 0, this, SLOT( slotNewWindow() ), m_collection, "open_new"); (void) new KAction( i18n("&Remove Entry"), "editdelete", 0, this, SLOT( slotRemoveEntry() ), m_collection, "remove"); (void) new KAction( i18n("C&lear History"), "history_clear", 0, this, SLOT( slotClearHistory() ), m_collection, "clear"); (void) new KAction( i18n("&Preferences..."), "configure", 0, this, SLOT( slotPreferences()), m_collection, "preferences"); KRadioAction *sort; sort = new KRadioAction( i18n("By &Name"), 0, this, SLOT( slotSortByName() ), m_collection, "byName"); sort->setExclusiveGroup("SortGroup"); sort->setChecked( m_sortsByName ); sort = new KRadioAction( i18n("By &Date"), 0, this, SLOT( slotSortByDate() ), m_collection, "byDate"); sort->setExclusiveGroup("SortGroup"); sort->setChecked( !m_sortsByName ); m_folderClosed = SmallIcon( "folder" ); m_folderOpen = SmallIcon( "folder_open" ); slotSettingsChanged(); // read the settings }
KProtocolManagerPrivate::KProtocolManagerPrivate() : config(0), http_config(0), init_busy(false) { kpmpksd.setObject(d, this); }
SlaveConfig *SlaveConfig::self() { if (!_self) _self = slaveconfigsd.setObject(_self, new SlaveConfig); return _self; }
static void setup() { KSSLCSessions *ses = new KSSLCSessions; ses->setAutoDelete(true); med.setObject(sessions, ses); }