void Emoticons::load() { QString sm_codes; bool internalEmoticons = true; #if defined(Q_OS_WIN) // first try external emoticons QFile sm_file(QApplication::applicationDirPath() + "/emoticons/emotes.acs"); if(sm_file.open(QIODevice::ReadOnly)) { internalEmoticons = false; } else { // then embedded emotions sm_file.setFileName(":/emojione/emotes.acs"); if(!sm_file.open(QIODevice::ReadOnly)) { std::cout << "error opening ressource file" << std::endl ; return ; } } #else QFile sm_file(QString(":/emojione/emotes.acs")); if(!sm_file.open(QIODevice::ReadOnly)) { std::cout << "error opening ressource file" << std::endl ; return ; } #endif sm_codes = sm_file.readAll(); sm_file.close(); sm_codes.remove("\n"); sm_codes.remove("\r"); int i = 0; QString smcode; QString smfile; while(i < sm_codes.length() && sm_codes[i] != '{') { ++i; } while (i < sm_codes.length()-2) { smcode = ""; smfile = ""; while(sm_codes[i] != '\"') { ++i; } ++i; while (sm_codes[i] != '\"') { smcode += sm_codes[i]; ++i; } ++i; while(sm_codes[i] != '\"') { ++i; } ++i; while(sm_codes[i] != '\"' && sm_codes[i+1] != ';') { smfile += sm_codes[i]; ++i; } ++i; if(!smcode.isEmpty() && !smfile.isEmpty()) { while (smcode.right(1) == "|") { smcode.remove(smcode.length() - 1, 1); } if (internalEmoticons) { Smileys.insert(smcode, ":/"+smfile); } else { Smileys.insert(smcode, smfile); } } } // init <img> embedder RsHtml::initEmoticons(Smileys); }
void PeersDialog::loadEmoticonsgroupchat() { QString sm_codes; #if defined(Q_OS_WIN32) QFile sm_file(QApplication::applicationDirPath() + "/emoticons/emotes.acs"); #else QFile sm_file(QString(":/smileys/emotes.acs")); #endif if(!sm_file.open(QIODevice::ReadOnly)) { std::cerr << "Could not open resouce file :/emoticons/emotes.acs" << endl ; return ; } sm_codes = sm_file.readAll(); sm_file.close(); sm_codes.remove("\n"); sm_codes.remove("\r"); int i = 0; QString smcode; QString smfile; while(sm_codes[i] != '{') { i++; } while (i < sm_codes.length()-2) { smcode = ""; smfile = ""; while(sm_codes[i] != '\"') { i++; } i++; while (sm_codes[i] != '\"') { smcode += sm_codes[i]; i++; } i++; while(sm_codes[i] != '\"') { i++; } i++; while(sm_codes[i] != '\"' && sm_codes[i+1] != ';') { smfile += sm_codes[i]; i++; } i++; if(!smcode.isEmpty() && !smfile.isEmpty()) #if defined(Q_OS_WIN32) smileys.insert(smcode, smfile); #else smileys.insert(smcode, ":/"+smfile); #endif } }