📄 evausersetting.cpp
字号:
if(lineList[0] == "FACE_SIZE"){ QStringList size = QStringList::split(",",lineList[1]); int width, height; bool ok; width = size[0].toInt(&ok); if(!ok) width = 16; height = size[1].toInt(&ok); if(!ok) height = 16; faceSize = QSize(width, height); continue; } if(lineList[0] == "DISPLAY_QQ_BROADCAST"){ if(lineList[1] == "false") showQQBroadcast = false; else showQQBroadcast = true; continue; } if(lineList[0] == "DISPLAY_TIP_MESSAGE_TIP_WINDOW"){ if(lineList[1] == "false") showMessageTipWindow = false; else showMessageTipWindow = true; continue; } if(lineList[0] == "DISPLAY_BUDDY_ONLINE_NOTIFY"){ if(lineList[1] == "false") showBudyOnlineNotifyWindow = false; else showBudyOnlineNotifyWindow = true; continue; } if(lineList[0] == "DISPLAY_ONLINE_BUDDIES"){ if(lineList[1] == "false") showOnlineUsers = false; else showOnlineUsers = true; continue; } if(lineList[0] == "SEND_KEY"){ if(lineList[1] == "false") isSendKeyEnter = false; else isSendKeyEnter = true; continue; } if(lineList[0] == "MESSAGE_SHORTCUT"){ if(!shortcut.init(lineList[1])) shortcut.init(Qt::CTRL + Qt::ALT + Qt::Key_Z); continue; } if(lineList[0] == "PLAY_SOUND"){ if(lineList[1] == "false") playSound = false; else playSound = true; continue; } if(lineList[0] == "AUTO_REPLY_SELECTED_INDEX"){ bool ok = false; autoSelectedIndex = lineList[1].toInt(&ok); if(!ok) autoSelectedIndex = 0; } if(lineList[0] == "AUTO_REPLY"){ autoList.push_back(lineList[1]); } if(lineList[0] == "QUICK_REPLY"){ quickList.push_back(lineList[1]); } } file.close(); return true;}void EvaUserSetting::loadDefaultSettings(){ faceSize = QSize(16,16); showQQBroadcast = true; m_ShowQQNews = true; showMessageTipWindow = true; showBudyOnlineNotifyWindow = true; showOnlineUsers = false; isSendKeyEnter = false; shortcut = KShortcut(Qt::CTRL + Qt::ALT + Qt::Key_Z); playSound = true; pageSize = 25; autoReply = true; themeDir = ""; soundDir = ""; autoSelectedIndex = 0; idleMaxTime = 5; m_BuddyNameColor = Qt::black; m_BuddyNameFontB = m_BuddyNameFontU = m_BuddyNameFontI = false; m_BuddySigColor = Qt::gray; m_BuddySigFontB = m_BuddySigFontU = m_BuddySigFontI = false; m_BuddyFlashColor = Qt::red; m_BuddyFlashFontB = m_BuddyFlashFontU = m_BuddyFlashFontI = false; m_QunNameColor = Qt::black; m_QunNameFontB = m_QunNameFontU = m_QunNameFontI = false; m_QunFlashColor = Qt::red; m_QunFlashFontB = m_QunFlashFontU = m_QunFlashFontI = false; m_GroupNameColor = Qt::black; m_GroupNameFontB = m_GroupNameFontU = m_GroupNameFontI = false; m_GroupCountColor = Qt::blue; m_GroupOnlineCountFontB = m_GroupOnlineCountFontU = m_GroupOnlineCountFontI = false; m_GroupFlashColor = Qt::red; m_GroupFlashFontB = m_GroupFlashFontU = m_GroupFlashFontI = false; m_ShowSmileyInNickName = false; m_ShowSignatureInSeperateLine = false; if(!autoList.size()){ autoList.push_back(QString(i18n("sorry, I am working."))); autoList.push_back(QString(i18n("having dinner now./fa"))); autoList.push_back(QString(i18n("I am not available now, sorry"))); } if(!quickList.size()){ quickList.push_back(QString(i18n("oh."))); quickList.push_back(QString(i18n("ok, ok, I got u."))); quickList.push_back(QString(i18n("/jy ,really?"))); }}const QString &EvaUserSetting::getSelectedAutoReply(){ int index = 0; std::list<QString>::iterator iter; for(iter=autoList.begin(); iter!=autoList.end(); ++iter){ if(index == autoSelectedIndex) break; index++; } return *iter;}const QString &EvaUserSetting::getQuickReplyMessageAt(const int index){ int i = 0; std::list<QString>::iterator iter; for(iter=quickList.begin(); iter!=quickList.end(); ++iter){ if(i == index) break; i++; } return *iter;}void EvaUserSetting::addAutoReplyMessage(const QString &message){ autoList.push_back(message);}void EvaUserSetting::addQuickReplyMessage(const QString &message){ quickList.push_back(message);}const std::list<QString> &EvaUserSetting::getAutoReplyList(){ return autoList;}const std::list<QString> &EvaUserSetting::getQuickReplyList(){ return quickList;}const QString EvaUserSetting::getUserHomeDir(){ return QDir::homeDirPath();}const QString EvaUserSetting::getEvaSettingDir(){ return getUserHomeDir()+"/.eva";}const QString EvaUserSetting::getEvaUserDir(){ return getEvaSettingDir() + "/" + QString::number(qqNum);} const bool EvaUserSetting::isDirExisted(const QString &dir){ QDir d; if (d.exists(dir)) return true; else return false;}const bool EvaUserSetting::saveQunList( QObject * receiver, QunList & list ){ if(!isDirExisted(getEvaUserDir())){ QDir d; if(!d.mkdir(getEvaUserDir())) return false; } QString fullName = getEvaUserDir() + "/" + qunListFileName; QFile file(fullName); if(file.exists()) file.remove(); if(!file.open(IO_WriteOnly)){ return false; } EvaMain::helper->setCategory(EvaHelper::SaveQunUsers, receiver); EvaMain::helper->setSaveQunListArgs(&file, list); EvaMain::helper->run(); return true;}const bool EvaUserSetting::loadQunList( QObject * receiver ){ if(!isDirExisted(getEvaUserDir())) return false; QString fullName = getEvaUserDir() + "/" + qunListFileName; QFile file(fullName); if(!file.open(IO_ReadOnly)){ return false; } EvaMain::helper->setCategory(EvaHelper::LoadQunUsers, receiver); EvaMain::helper->setLoadQunListArgs(&file); EvaMain::helper->run(); return true; }bool EvaUserSetting::createDefaultDirs( ){ QDir d; if(!isDirExisted(getEvaUserDir())){ if(!d.mkdir(getEvaUserDir())) return false; } if(!isDirExisted(getPictureCacheDir())){ if(!d.mkdir(getPictureCacheDir())) return false; } if(!isDirExisted(getCustomSmileyDir())){ if(!d.mkdir(getCustomSmileyDir())) return false; } if(!isDirExisted(getUserHeadDir())){ if(!d.mkdir(getUserHeadDir())) return false; } return true;}bool EvaUserSetting::isVersionCorrect( const QString fileName ){ QFile file(fileName); if(!file.exists()) return false; if(!file.open(IO_ReadOnly)){ return false; } Q_UINT32 version; QDataStream stream(&file); char *flag = new char[3]; stream.readRawBytes(flag, 3); stream>>version; file.close(); if(!(flag[0]=='E' && flag[1]=='V' && flag[2]=='A' && version == profileVersion)){ file.remove(); delete flag; return false; } delete flag; return true;}void EvaUserSetting::saveToBeAddedBuddy( BuddyInfoCacheItem info ){ QString line = QString("%1,%2,%3,%4").arg(info.id).arg(info.nick).arg(info.face).arg(info.group); m_CachedToBeAddedBuddy[info.id] = line; saveSettings();}const BuddyInfoCacheItem EvaUserSetting::removeToBeAddedBuddy( const unsigned int id ){ BuddyInfoCacheItem info = getToBeAddedBuddy(id); /// remove this item std::map<unsigned int, QString>::iterator iter; iter = m_CachedToBeAddedBuddy.find(id); if(iter == m_CachedToBeAddedBuddy.end()) return info; m_CachedToBeAddedBuddy.erase(iter); saveSettings(); return info;}const BuddyInfoCacheItem EvaUserSetting::getToBeAddedBuddy( const unsigned int id ){ BuddyInfoCacheItem info(id, QString::number(id), 0, 0); std::map<unsigned int, QString>::iterator iter; iter = m_CachedToBeAddedBuddy.find(id); if(iter == m_CachedToBeAddedBuddy.end()) return info; QStringList items = QStringList::split(",", iter->second); bool ok; info.id = items[0].toUInt(&ok); if( (!ok) || (info.id != id) ){ info.id = 0; return info; } info.nick = items[1]; info.face = items[2].toUShort(&ok); if(!ok){ info.face = 0; return info; } info.group = items[3].toInt(&ok); if(!ok){ info.group = 0; return info; } return info;}void EvaUserSetting::addToRejectForever( const unsigned int id ){ std::list<unsigned int>::iterator iter; for(iter = m_RejectForever.begin(); iter != m_RejectForever.end(); ++iter){ if( *iter == id) return; } m_RejectForever.push_back(id);}const bool EvaUserSetting::removeFromRejectForever( const unsigned int id ){ std::list<unsigned int>::iterator iter; for(iter = m_RejectForever.begin(); iter != m_RejectForever.end(); ++iter){ if( *iter == id){ m_RejectForever.erase(iter); return true; } } return false;}const bool EvaUserSetting::isInRejectForever( const unsigned int id ){ std::list<unsigned int>::iterator iter; for(iter = m_RejectForever.begin(); iter != m_RejectForever.end(); ++iter){ if( *iter == id) return true; } return false;}void EvaUserSetting::addToQunRejectForever( const unsigned int id, const unsigned int qq ){ std::map<unsigned int, std::list<unsigned int> >::iterator iter = m_QunRejectForever.find(id); std::list<unsigned int> list; if(iter != m_QunRejectForever.end()){ std::list<unsigned int>::iterator itr; list = iter->second; for(itr = list.begin(); itr!= list.end(); ++itr){ if(*itr == qq) return; } list.push_back(qq); } else { list.push_back(qq); } m_QunRejectForever[id] = list;}const bool EvaUserSetting::removeFromQunRejectForever( const unsigned int id, const unsigned int qq ){ std::map<unsigned int, std::list<unsigned int> >::iterator iter = m_QunRejectForever.find(id); std::list<unsigned int> list; if(iter != m_QunRejectForever.end()){ if(qq){ std::list<unsigned int>::iterator itr; list = iter->second; for(itr = list.begin(); itr!= list.end(); ++itr){ if(*itr == qq) { list.erase(itr); if(list.size()) m_QunRejectForever[id] = list; else m_QunRejectForever.erase(iter); return true; } } }else // remove all members of the Qun(id) m_QunRejectForever.erase(iter); } return false;;}const bool EvaUserSetting::isInQunRejectForever( const unsigned int id, const unsigned int qq ){ std::map<unsigned int, std::list<unsigned int> >::iterator iter = m_QunRejectForever.find(id); std::list<unsigned int> list; if(iter != m_QunRejectForever.end()){ std::list<unsigned int>::iterator itr; list = iter->second; for(itr = list.begin(); itr!= list.end(); ++itr){ if(*itr == qq) return true; } } return false; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -