void WeatherPlugin::updateButton() { if ((getTime() == 0) || (m_bar == NULL)) return; const char **xpm = xpms[getIcon()]; if (xpm){ IconDef icon; icon.name = "weather"; icon.xpm = xpm; Event eIcon(EventAddIcon, &icon); eIcon.process(); } QString text = unquoteText(getButtonText()); QString tip = getTipText(); QString ftip = getForecastText(); text = replace(text); tip = replace(tip); if (getForecast()) tip = QString("<table><tr><td>") + tip + "</td><td>"; unsigned n = (getForecast() + 1) / 2; if (n < 3) n = getForecast(); for (m_day = 1; m_day <= getForecast(); m_day++){ tip += forecastReplace(ftip); const char **xpm = xpms[atol(getDayIcon(m_day))]; if (xpm){ string url = "weather"; url += number(m_day); IconDef icon; icon.name = url.c_str(); icon.xpm = xpm; Event eIcon(EventAddIcon, &icon); eIcon.process(); } if (--n == 0){ tip += "</td><td>"; n = (getForecast() + 1) / 2; } } if (getForecast()) tip += "</td></tr></table>"; tip += "<br>\nWeather data provided by weather.com"; tip += QChar((unsigned short)176); Command cmd; cmd->id = CmdWeather; cmd->param = m_bar; Event e(EventCommandWidget, cmd); CToolButton *btn = (CToolButton*)e.process(); if (btn == NULL) return; btn->setTextLabel(text); btn->repaint(); QToolTip::add(btn, tip); }
FloatyPlugin::FloatyPlugin(unsigned base) : Plugin(base) { CmdFloaty = registerType(); user_data_id = getContacts()->registerUserData(info.title, floatyUserData); IconDef icon; icon.name = "floating"; icon.xpm = floating; m_bBlink = false; unreadTimer = new QTimer(this); connect(unreadTimer, SIGNAL(timeout()), this, SLOT(unreadBlink())); Event eIcon(EventAddIcon, &icon); eIcon.process(); Command cmd; cmd->id = CmdFloaty; cmd->text = I18N_NOOP("Floating on"); cmd->icon = "floating"; cmd->menu_id = MenuContact; cmd->menu_grp = 0xB000; cmd->flags = COMMAND_CHECK_STATE; Event e(EventCommandCreate, cmd); e.process(); Event ePlugin(EventGetPluginInfo, (void*)"_core"); pluginInfo *info = (pluginInfo*)(ePlugin.process()); core = static_cast<CorePlugin*>(info->plugin); }
MSNPlugin::MSNPlugin(unsigned base) : Plugin(base) { MSNPacket = registerType(); EventAddOk = registerType(); EventAddFail = registerType(); MSNInitMail = registerType(); MSNNewMail = registerType(); getContacts()->addPacketType(MSNPacket, msn_descr.text, true); IconDef icon; icon.name = "lunch"; icon.xpm = lunch; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "onback"; icon.xpm = onback; eIcon.process(); icon.name = "onphone"; icon.xpm = onphone; eIcon.process(); m_protocol = new MSNProtocol(this); }
SoundPlugin::SoundPlugin(unsigned base, bool bFirst, const char *config) : Plugin(base) { load_data(soundData, &data, config); soundPlugin = this; if (bFirst) playSound(getStartUp()); user_data_id = getContacts()->registerUserData(info.title, soundUserData); IconDef icon; icon.name = "sound"; icon.xpm = sound; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); Command cmd; cmd->id = user_data_id + 1; cmd->text = I18N_NOOP("&Sound"); cmd->icon = "sound"; cmd->icon_on = NULL; cmd->param = (void*)getSoundSetup; Event e(EventAddPreferences, cmd); e.process(); Event ePlugin(EventGetPluginInfo, (void*)"_core"); pluginInfo *info = (pluginInfo*)(ePlugin.process()); core = static_cast<CorePlugin*>(info->plugin); }
OSDPlugin::OSDPlugin(unsigned base) : Plugin(base) { osdPlugin = this; IconDef icon; icon.name = "alert"; icon.xpm = alert; Event eIcon(EventAddIcon, &icon); eIcon.process(); user_data_id = getContacts()->registerUserData(info.title, osdUserData); Command cmd; cmd->id = user_data_id + 1; cmd->text = I18N_NOOP("&OSD"); cmd->icon = "alert"; cmd->param = (void*)getOSDSetup; Event e(EventAddPreferences, cmd); e.process(); m_osd = NULL; m_timer = new QTimer(this); connect(m_timer, SIGNAL(timeout()), this, SLOT(timeout())); Event ePlugin(EventGetPluginInfo, (void*)"_core"); pluginInfo *info = (pluginInfo*)(ePlugin.process()); core = static_cast<CorePlugin*>(info->plugin); }
WeatherPlugin::WeatherPlugin(unsigned base, bool bInit, const char *config) : Plugin(base) { load_data(weatherData, &data, config); memset(&m_handler, 0, sizeof(m_handler)); m_handler.startElement = p_element_start; m_handler.endElement = p_element_end; m_handler.characters = p_char_data; BarWeather = registerType(); CmdWeather = registerType(); EventWeather = registerType(); Event eBar(EventToolbarCreate, (void*)BarWeather); eBar.process(); IconDef icon; icon.name = "weather"; icon.xpm = na; Event eIcon(EventAddIcon, &icon); eIcon.process(); Command cmd; cmd->id = CmdWeather; cmd->text = I18N_NOOP("Not connected"); cmd->icon = "weather"; cmd->bar_id = BarWeather; cmd->bar_grp = 0x1000; cmd->flags = BTN_PICT; Event eCmd(EventCommandCreate, cmd); eCmd.process(); m_bar = NULL; m_fetch_id = 0; if (!bInit){ showBar(); if (m_bar) m_bar->show(); } }
void WeatherPlugin::updateButton() { if ((getTime() == 0) || (m_bar == NULL)) return; const char **xpm = xpms[getIcon()]; if (xpm){ IconDef icon; icon.name = "weather"; icon.xpm = xpm; Event eIcon(EventAddIcon, &icon); eIcon.process(); } QString text = unquoteText(getButtonText()); QString tip = getTipText(); text = replace(text); tip = replace(tip); Command cmd; cmd->id = CmdWeather; cmd->param = m_bar; Event e(EventCommandWidget, cmd); CToolButton *btn = (CToolButton*)e.process(); if (btn == NULL) return; btn->setTextLabel(text); btn->repaint(); QToolTip::add(btn, tip); }
FilterPlugin::FilterPlugin(unsigned base, const char *cfg) : Plugin(base), EventReceiver(HighPriority - 1) { filterPlugin = this; load_data(filterData, &data, cfg); user_data_id = getContacts()->registerUserData(info.title, filterUserData); CmdIgnoreList = registerType(); CmdIgnore = registerType(); CmdIgnoreText = registerType(); IconDef icon; icon.name = "ignorelist"; icon.xpm = ignorelist; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); Command cmd; cmd->id = CmdIgnoreList; cmd->text = I18N_NOOP("Ignore list"); cmd->menu_id = MenuContactGroup; cmd->menu_grp = 0x8080; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->id = CmdIgnore; cmd->text = I18N_NOOP("Ignore user"); cmd->icon = "ignorelist"; cmd->menu_id = 0; cmd->menu_grp = 0; cmd->bar_id = ToolBarContainer; cmd->bar_grp = 0x7001; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdIgnoreText; cmd->text = I18N_NOOP("Ignore this phrase"); cmd->icon = NULL; cmd->menu_id = MenuTextEdit; cmd->menu_grp = 0x7000; cmd->bar_id = 0; cmd->bar_grp = 0; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = user_data_id + 1; cmd->text = I18N_NOOP("&Filter"); cmd->icon = "filter"; cmd->menu_id = 0; cmd->menu_grp = 0; cmd->param = (void*)getFilterConfig; Event ePref(EventAddPreferences, cmd); ePref.process(); }
SoundPlugin::SoundPlugin(unsigned base, bool bFirst, const char *config) : Plugin(base) { load_data(soundData, &data, config); soundPlugin = this; if (bFirst) playSound(getStartUp()); user_data_id = getContacts()->registerUserData(info.title, soundUserData); m_bChanged = false; IconDef icon; icon.name = "sound"; icon.xpm = sound; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "nosound"; icon.xpm = nosound; eIcon.process(); Command cmd; cmd->id = user_data_id + 1; cmd->text = I18N_NOOP("&Sound"); cmd->icon = "sound"; cmd->icon_on = NULL; cmd->param = (void*)getSoundSetup; Event e(EventAddPreferences, cmd); e.process(); CmdSoundDisable = registerType(); EventSoundChanged = registerType(); cmd->id = CmdSoundDisable; cmd->text = I18N_NOOP("&Sound"); cmd->icon = "nosound"; cmd->icon_on = "sound"; cmd->bar_id = ToolBarMain; cmd->bar_grp = 0; cmd->menu_id = 0; cmd->menu_grp = 0; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->icon = NULL; cmd->icon_on = NULL; cmd->bar_id = 0; cmd->menu_id = MenuMain; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); Event ePlugin(EventGetPluginInfo, (void*)"_core"); pluginInfo *info = (pluginInfo*)(ePlugin.process()); core = static_cast<CorePlugin*>(info->plugin); }
void WeatherPlugin::updateButton() { if ((getTime() == 0) || (m_bar == NULL)) return; const char **xpm = NULL; QString conditions(getConditions()); if (conditions == "Overcast"){ xpm = overcast; }else if (conditions == "Fog"){ xpm = fog; }else if (conditions == "Storm"){ xpm = storm; }else if (conditions == "Rain"){ xpm = rain; }else if (conditions == "Snow"){ xpm = snow; }else if (conditions == "Cloudy"){ xpm = snow; }else if (conditions == "Clear"){ xpm = isDay() ? day : night; }else if (conditions == "Partial cloudy"){ xpm = isDay() ? day_cloudy : night_cloudy; } if (xpm){ IconDef icon; icon.name = "weather"; icon.xpm = xpm; Event eIcon(EventAddIcon, &icon); eIcon.process(); } QString text = unquoteText(getButtonText()); QString tip = getTipText(); text = replace(text); tip = replace(tip); Command cmd; cmd->id = CmdWeather; cmd->param = m_bar; Event e(EventCommandWidget, cmd); CToolButton *btn = (CToolButton*)e.process(); if (btn == NULL) return; btn->setTextLabel(text); btn->repaint(); QToolTip::add(btn, tip); }
MSNPlugin::MSNPlugin(unsigned base) : Plugin(base) { MSNPacket = registerType(); EventAddOk = registerType(); EventAddFail = registerType(); getContacts()->addPacketType(MSNPacket, msn_descr.text, PACKET_TEXT); IconDef icon; icon.name = "MSN_online"; icon.xpm = msn_online; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "MSN_offline"; icon.xpm = msn_offline; icon.isSystem = false; eIcon.process(); icon.name = "MSN_away"; icon.xpm = msn_away; icon.isSystem = false; eIcon.process(); icon.name = "MSN_na"; icon.xpm = msn_na; icon.isSystem = false; eIcon.process(); icon.name = "MSN_dnd"; icon.xpm = msn_dnd; icon.isSystem = false; eIcon.process(); icon.name = "MSN_invisible"; icon.xpm = msn_invisible; icon.isSystem = false; eIcon.process(); m_protocol = new MSNProtocol(this); }
NetmonitorPlugin::NetmonitorPlugin(unsigned base, const char *config) : Plugin(base) { load_data(monitorData, &data, config); if (getLogPackets()){ string packets = getLogPackets(); while (packets.length()){ string v = getToken(packets, ','); setLogType(atol(v.c_str()), true); } } monitor = NULL; CmdNetMonitor = registerType(); IconDef icon; icon.name = "network"; icon.xpm = network; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); Command cmd; cmd->id = CmdNetMonitor; cmd->text = I18N_NOOP("Network monitor"); cmd->icon = "network"; cmd->bar_id = ToolBarMain; cmd->menu_id = MenuMain; cmd->menu_grp = 0x8000; cmd->flags = COMMAND_DEFAULT; Event eCmd(EventCommandCreate, cmd); eCmd.process(); string value; CmdParam p = { "-m", I18N_NOOP("Show network monitor"), &value }; Event e(EventArg, &p); if (e.process() || getShow()) showMonitor(); }
LiveJournalPlugin::LiveJournalPlugin(unsigned base) : Plugin(base) { IconDef icon; icon.name = "LiveJournal"; icon.xpm = livejournal; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "upd"; icon.xpm = NULL; icon.flags = 160; eIcon.process(); m_protocol = new LiveJournalProtocol(this); Event eMenu(EventMenuCreate, (void*)MenuWeb); eMenu.process(); Command cmd; cmd->id = CmdMenuWeb; cmd->text = "_"; cmd->menu_id = MenuWeb; cmd->menu_grp = 0x1000; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->id = MessageJournal; cmd->text = I18N_NOOP("LiveJournal &post"); cmd->icon = "LiveJournal"; cmd->accel = "Ctrl+P"; cmd->menu_grp = 0x3080; cmd->flags = COMMAND_DEFAULT; cmd->param = &defJournalMessage; Event eMsg(EventCreateMessageType, cmd); eMsg.process(); cmd->id = CmdMenuWeb; cmd->text = I18N_NOOP("LiveJournal &WWW"); cmd->icon = NULL; cmd->accel = NULL; cmd->menu_grp = 0x3090; cmd->popup_id = MenuWeb; cmd->flags = COMMAND_DEFAULT; cmd->param = &defWWWJournalMessage; eMsg.process(); cmd->id = MessageUpdated; cmd->text = I18N_NOOP("Friends updated"); cmd->icon = "LiveJournal_upd"; cmd->accel = NULL; cmd->menu_grp = 0; cmd->popup_id = 0; cmd->flags = COMMAND_DEFAULT; cmd->param = &defUpdatedMessage; eMsg.process(); Event ePlugin(EventGetPluginInfo, (void*)"_core"); pluginInfo *info = (pluginInfo*)(ePlugin.process()); core = static_cast<CorePlugin*>(info->plugin); }
JabberPlugin::JabberPlugin(unsigned base, Buffer *cfg) : Plugin(base) { #if defined(WIN32) && (COMPAT_QT_VERSION < 0x030000) qInitJpeg(); #endif plugin = this; load_data(jabberData, &data, cfg); JabberPacket = registerType(); getContacts()->addPacketType(JabberPacket, jabber_descr.text, true); IconDef icon; icon.name = "Jabber"; icon.xpm = jabber; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "reg"; icon.xpm = reg; eIcon.process(); icon.name = "connect"; icon.xpm = connect_xpm; icon.system = "connect_established"; eIcon.process(); Event eMenuSearch(EventMenuCreate, (void*)MenuSearchResult); eMenuSearch.process(); Event eMenuGroups(EventMenuCreate, (void*)MenuJabberGroups); eMenuGroups.process(); Event eMenuBrowser(EventMenuCreate, (void*)MenuBrowser); eMenuBrowser.process(); Event eToolbar(EventToolbarCreate, (void*)BarBrowser); eToolbar.process(); Command cmd; cmd->id = CmdJabberMessage; cmd->text = I18N_NOOP("&Message"); cmd->icon = "message"; cmd->menu_id = MenuSearchResult; cmd->menu_grp = 0x1000; cmd->flags = COMMAND_DEFAULT; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->id = CmdBrowseInfo; cmd->text = I18N_NOOP("User &info"); cmd->icon = "info"; cmd->menu_grp = 0x1001; eCmd.process(); cmd->id = CmdGroups; cmd->text = I18N_NOOP("&Add to group"); cmd->icon = NULL; cmd->menu_grp = 0x1002; cmd->popup_id = MenuJabberGroups; eCmd.process(); cmd->id = CmdGroups; cmd->text = "_"; cmd->menu_id = MenuJabberGroups; cmd->popup_id = 0; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdBack; cmd->text = I18N_NOOP("&Back"); cmd->icon = "1leftarrow"; cmd->bar_grp = 0x1000; cmd->bar_id = BarBrowser; cmd->menu_id = 0; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdForward; cmd->text = I18N_NOOP("&Next"); cmd->icon = "1rightarrow"; cmd->bar_grp = 0x1001; eCmd.process(); cmd->id = CmdUrl; cmd->text = I18N_NOOP("JID"); cmd->icon = "run"; cmd->bar_grp = 0x2000; cmd->flags = BTN_COMBO_CHECK; eCmd.process(); cmd->id = CmdNode; cmd->text = I18N_NOOP("Node"); cmd->bar_grp = 0x2001; cmd->flags = BTN_COMBO | BTN_NO_BUTTON; eCmd.process(); cmd->id = CmdBrowseSearch; cmd->text = I18N_NOOP("&Search"); cmd->icon = "find"; cmd->bar_grp = 0x3000; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdRegister; cmd->text = I18N_NOOP("&Register"); cmd->icon = "reg"; cmd->bar_grp = 0x3001; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdBrowseInfo; cmd->text = I18N_NOOP("Info"); cmd->icon = "info"; cmd->bar_grp = 0x3010; eCmd.process(); cmd->id = CmdBrowseConfigure; cmd->text = I18N_NOOP("Configure"); cmd->icon = "configure"; cmd->bar_grp = 0x3020; eCmd.process(); cmd->id = CmdBrowseMode; cmd->text = I18N_NOOP("Browser mode"); cmd->icon = "configure"; cmd->bar_grp = 0x5000; cmd->flags = COMMAND_DEFAULT; cmd->popup_id = MenuBrowser; eCmd.process(); cmd->id = CmdOneLevel; cmd->text = I18N_NOOP("Load one level"); cmd->icon = NULL; cmd->bar_id = 0; cmd->bar_grp = 0; cmd->menu_id = MenuBrowser; cmd->menu_grp = 0x1000; cmd->popup_id = 0; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdAllLevels; cmd->text = I18N_NOOP("Load all levels"); cmd->menu_grp = 0x1001; eCmd.process(); cmd->id = CmdModeDisco; cmd->text = "Discovery"; cmd->menu_grp = 0x2000; eCmd.process(); cmd->id = CmdModeBrowse; cmd->text = "Browse"; cmd->menu_grp = 0x2001; eCmd.process(); cmd->id = CmdModeAgents; cmd->text = "Agents"; cmd->menu_grp = 0x2002; eCmd.process(); m_protocol = new JabberProtocol(this); registerMessages(); }
JabberPlugin::JabberPlugin(unsigned base) : Plugin(base) { #ifdef WIN32 qInitJpeg(); #endif JabberPacket = registerType(); getContacts()->addPacketType(JabberPacket, jabber_descr.text, true); EventAgentFound = registerType(); EventAgentInfo = registerType(); EventAgentRegister = registerType(); EventSearch = registerType(); EventSearchDone = registerType(); MenuSearchResult = registerType(); MenuGroups = registerType(); CmdSendMessage = registerType(); CmdGroups = registerType(); CmdBrowser = registerType(); BarBrowser = registerType(); CmdBack = registerType(); CmdForward = registerType(); CmdUrl = registerType(); EventDiscoItem = registerType(); CmdInfo = registerType(); CmdRegister = registerType(); CmdSearch = registerType(); CmdNode = registerType(); IconDef icon; icon.name = "Jabber_online"; icon.xpm = jabber_online; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "Jabber_offline"; icon.xpm = jabber_offline; eIcon.process(); icon.name = "Jabber_away"; icon.xpm = jabber_away; eIcon.process(); icon.name = "Jabber_na"; icon.xpm = jabber_na; eIcon.process(); icon.name = "Jabber_dnd"; icon.xpm = jabber_dnd; eIcon.process(); icon.name = "Jabber_ffc"; icon.xpm = jabber_ffc; eIcon.process(); icon.name = "Jabber_invisible"; icon.xpm = jabber_invisible; eIcon.process(); icon.name = "ICQ_offline"; icon.xpm = icq_offline; eIcon.process(); icon.name = "ICQ_online"; icon.xpm = icq_online; eIcon.process(); icon.name = "ICQ_away"; icon.xpm = icq_away; eIcon.process(); icon.name = "ICQ_na"; icon.xpm = icq_na; eIcon.process(); icon.name = "ICQ_dnd"; icon.xpm = icq_dnd; eIcon.process(); icon.name = "ICQ_ffc"; icon.xpm = icq_ffc; eIcon.process(); icon.name = "ICQ_invisible"; icon.xpm = icq_invisible; eIcon.process(); icon.name = "MSN_offline"; icon.xpm = msn_offline; eIcon.process(); icon.name = "MSN_online"; icon.xpm = msn_online; eIcon.process(); icon.name = "MSN_away"; icon.xpm = msn_away; eIcon.process(); icon.name = "MSN_na"; icon.xpm = msn_na; eIcon.process(); icon.name = "MSN_dnd"; icon.xpm = msn_dnd; eIcon.process(); icon.name = "MSN_invisible"; icon.xpm = msn_invisible; eIcon.process(); icon.name = "AIM_offline"; icon.xpm = aim_offline; eIcon.process(); icon.name = "AIM_online"; icon.xpm = aim_online; eIcon.process(); icon.name = "AIM_away"; icon.xpm = aim_away; eIcon.process(); icon.name = "Yahoo_offline"; icon.xpm = yahoo_offline; eIcon.process(); icon.name = "Yahoo_away"; icon.xpm = yahoo_away; eIcon.process(); icon.name = "Yahoo_na"; icon.xpm = yahoo_na; eIcon.process(); icon.name = "Yahoo_dnd"; icon.xpm = yahoo_dnd; eIcon.process(); icon.name = "Yahoo_ffc"; icon.xpm = yahoo_ffc; eIcon.process(); icon.name = "reg"; icon.xpm = reg; eIcon.process(); Event eMenuSearch(EventMenuCreate, (void*)MenuSearchResult); eMenuSearch.process(); Event eMenuGroups(EventMenuCreate, (void*)MenuGroups); eMenuGroups.process(); Event eToolbar(EventToolbarCreate, (void*)BarBrowser); eToolbar.process(); Command cmd; cmd->id = CmdSendMessage; cmd->text = I18N_NOOP("&Message"); cmd->icon = "message"; cmd->menu_id = MenuSearchResult; cmd->menu_grp = 0x1000; cmd->flags = COMMAND_DEFAULT; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->id = CmdInfo; cmd->text = I18N_NOOP("User &info"); cmd->icon = "info"; cmd->menu_grp = 0x1001; eCmd.process(); cmd->id = CmdGroups; cmd->text = I18N_NOOP("&Add to group"); cmd->icon = NULL; cmd->menu_grp = 0x1002; cmd->popup_id = MenuGroups; eCmd.process(); cmd->id = CmdGroups; cmd->text = "_"; cmd->menu_id = MenuGroups; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdBrowser; cmd->text = I18N_NOOP("Jabber browser"); cmd->icon = "Jabber_online"; cmd->menu_grp = 0x20F0; cmd->menu_id = MenuMain; cmd->popup_id = NULL; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdBrowser; cmd->text = I18N_NOOP("Jabber browser"); cmd->icon = "Jabber_online"; cmd->menu_grp = 0x20F0; cmd->menu_id = MenuContact; cmd->popup_id = NULL; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdBack; cmd->text = I18N_NOOP("&Back"); cmd->icon = "1leftarrow"; cmd->bar_grp = 0x1000; cmd->bar_id = BarBrowser; cmd->menu_id = 0; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdForward; cmd->text = I18N_NOOP("&Next"); cmd->icon = "1rightarrow"; cmd->bar_grp = 0x1001; eCmd.process(); cmd->id = CmdUrl; cmd->text = I18N_NOOP("JID"); cmd->icon = "run"; cmd->bar_grp = 0x2000; cmd->flags = BTN_COMBO_CHECK; eCmd.process(); cmd->id = CmdNode; cmd->text = I18N_NOOP("Node"); cmd->bar_grp = 0x2001; cmd->flags = BTN_COMBO | BTN_NO_BUTTON; eCmd.process(); cmd->id = CmdSearch; cmd->text = I18N_NOOP("&Search"); cmd->icon = "find"; cmd->bar_grp = 0x3000; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdRegister; cmd->text = I18N_NOOP("&Register"); cmd->icon = "reg"; cmd->bar_grp = 0x3001; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdInfo; cmd->text = I18N_NOOP("Info"); cmd->icon = "info"; cmd->bar_grp = 0x3010; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdConfigure; cmd->text = I18N_NOOP("Configure"); cmd->icon = "configure"; cmd->bar_grp = 0x3020; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); m_protocol = new JabberProtocol(this); registerMessages(); }
void IconsPlugin::setIcons() { for (ICONS_MAP::iterator it = dlls.begin(); it != dlls.end(); ++it) delete (*it).second; dlls.clear(); for (unsigned n = 1; ; n++){ const char *cfg = getIconDLLs(n); if ((cfg == NULL) || (*cfg == 0)) break; string v = cfg; string name = getToken(v, ','); if (v.length() == 0) continue; IconDLL *dll = new IconDLL; if (!dll->load(QString::fromUtf8(v.c_str()))) continue; dlls.insert(ICONS_MAP::value_type(name.c_str(), dll)); } if (smiles){ string s; for (unsigned i = 0; i < smiles->count(); i++){ const QIconSet *is = smiles->get(i); if (is == NULL){ log(L_DEBUG, "Skip %u", i); s += '-'; s += '\x00'; s += '\x00'; s += '\x00'; continue; } QString pat = smiles->pattern(i); while (!pat.isEmpty()){ QString p = getToken(pat, ' ', false); if (p.isEmpty()) continue; s += p.latin1(); s += '\x00'; log(L_DEBUG, "%u > %s", i, (const char*)(p.latin1())); } s += '\x00'; QString tip = smiles->tip(i); if (!tip.isEmpty()){ s += tip.local8Bit(); log(L_DEBUG, "%u Tip %s", i, (const char*)(tip.local8Bit())); } s += '\x00'; QString url = "smile"; url += QString::number(i).upper(); url = QString("icon:") + url; QMimeSourceFactory::defaultFactory()->setPixmap(url, is->pixmap(QIconSet::Small, QIconSet::Normal)); } s += '\x00'; s += '\x00'; s += '\x00'; SIM::setSmiles(s.c_str()); }else{ for (unsigned i = 0; i < 16; i++){ QString url = "icon:smile"; url += QString::number(i).upper(); const QIconSet *is = Icon((const char*)(url.latin1())); if (is == NULL) continue; QMimeSourceFactory::defaultFactory()->setPixmap(url, is->pixmap(QIconSet::Small, QIconSet::Normal)); } SIM::setSmiles(NULL); } Event eIcon(EventIconChanged); eIcon.process(); Event eHistory(EventHistoryConfig); eHistory.process(); }
ICQPlugin::ICQPlugin(unsigned base, const char *cfg) : Plugin(base) { #ifdef WIN32 qInitJpeg(); #endif load_data(icqData, &data, cfg); ICQPacket = registerType(); getContacts()->addPacketType(ICQPacket, icq_descr.text); ICQDirectPacket = registerType(); getContacts()->addPacketType(ICQDirectPacket, "ICQ.Direct"); AIMPacket = registerType(); getContacts()->addPacketType(AIMPacket, aim_descr.text); IconDef icon; icon.name = "ICQ_online"; icon.xpm = online; icon.isSystem = false; Event eIcon(EventAddIcon, &icon); eIcon.process(); icon.name = "ICQ_offline"; icon.xpm = offline; eIcon.process(); icon.name = "ICQ_away"; icon.xpm = away; eIcon.process(); icon.name = "ICQ_na"; icon.xpm = na; eIcon.process(); icon.name = "ICQ_occupied"; icon.xpm = occupied; eIcon.process(); icon.name = "ICQ_dnd"; icon.xpm = dnd; eIcon.process(); icon.name = "ICQ_ffc"; icon.xpm = ffc; eIcon.process(); icon.name = "ICQ_invisible"; icon.xpm = invisible; eIcon.process(); icon.name = "birthday"; icon.xpm = birthday; eIcon.process(); icon.name = "more"; icon.xpm = more; eIcon.process(); icon.name = "interest"; icon.xpm = interest; eIcon.process(); icon.name = "past"; icon.xpm = past; eIcon.process(); icon.name = "useronline"; icon.xpm = useronline; eIcon.process(); icon.name = "useroffline"; icon.xpm = useroffline; eIcon.process(); icon.name = "userunknown"; icon.xpm = userunknown; eIcon.process(); icon.name = "encoding"; icon.xpm = encoding; eIcon.process(); icon.name = "url"; icon.xpm = url; eIcon.process(); icon.name = "contacts"; icon.xpm = contacts; eIcon.process(); icon.name = "web"; icon.xpm = web; eIcon.process(); icon.name = "mailpager"; icon.xpm = mailpager; eIcon.process(); icon.name = "icqphone"; icon.xpm = icqphone; eIcon.process(); icon.name = "icqphonebusy"; icon.xpm = icqphonebusy; eIcon.process(); icon.name = "sharedfiles"; icon.xpm = sharedfiles; eIcon.process(); icon.name = "pict"; icon.xpm = pict; eIcon.process(); icon.name = "AIM_offline"; icon.xpm = aim_offline; eIcon.process(); icon.name = "AIM_online"; icon.xpm = aim_online; eIcon.process(); icon.name = "AIM_away"; icon.xpm = aim_away; eIcon.process(); EventSearch = EventUser + registerType(); EventSearchDone = EventUser + registerType(); EventAutoReplyFail = EventUser + registerType(); EventRandomChat = EventUser + registerType(); EventRandomChatInfo = EventUser + registerType(); MenuEncoding = registerType(); MenuSearchResult = registerType(); MenuGroups = registerType(); CmdVisibleList = registerType(); CmdInvisibleList = registerType(); CmdChangeEncoding = registerType(); CmdAllEncodings = registerType(); CmdSendMessage = registerType(); CmdGroups = registerType(); CmdCheckInvisible = registerType(); m_icq = new ICQProtocol(this); m_aim = new AIMProtocol(this); Event eMenuEncoding(EventMenuCreate, (void*)MenuEncoding); eMenuEncoding.process(); Event eMenuSearch(EventMenuCreate, (void*)MenuSearchResult); eMenuSearch.process(); Event eMenuGroups(EventMenuCreate, (void*)MenuGroups); eMenuGroups.process(); Command cmd; cmd->id = CmdVisibleList; cmd->text = I18N_NOOP("Visible list"); cmd->menu_id = MenuContactGroup; cmd->menu_grp = 0x8010; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->id = CmdInvisibleList; cmd->text = I18N_NOOP("Invisible list"); cmd->menu_grp = 0x8011; eCmd.process(); cmd->id = CmdChangeEncoding; cmd->text = "_"; cmd->menu_id = MenuEncoding; cmd->menu_grp = 0x1000; eCmd.process(); cmd->id = CmdAllEncodings; cmd->text = I18N_NOOP("&Show all encodings"); cmd->menu_id = MenuEncoding; cmd->menu_grp = 0x8000; eCmd.process(); cmd->id = CmdChangeEncoding; cmd->text = I18N_NOOP("Change &encoding"); cmd->icon = "encoding"; cmd->menu_id = 0; cmd->menu_grp = 0; cmd->bar_id = ToolBarContainer; cmd->bar_grp = 0x8080; cmd->popup_id = MenuEncoding; eCmd.process(); cmd->id = CmdChangeEncoding; cmd->text = I18N_NOOP("Change &encoding"); cmd->icon = "encoding"; cmd->menu_id = 0; cmd->menu_grp = 0; cmd->bar_id = BarHistory; cmd->bar_grp = 0x8080; cmd->popup_id = MenuEncoding; eCmd.process(); cmd->id = CmdSendMessage; cmd->text = I18N_NOOP("&Message"); cmd->icon = "message"; cmd->menu_id = MenuSearchResult; cmd->menu_grp = 0x1000; cmd->bar_id = 0; cmd->popup_id = 0; cmd->flags = COMMAND_DEFAULT; eCmd.process(); cmd->id = CmdInfo; cmd->text = I18N_NOOP("User &info"); cmd->icon = "info"; cmd->menu_grp = 0x1001; eCmd.process(); cmd->id = CmdGroups; cmd->text = I18N_NOOP("&Add to group"); cmd->icon = NULL; cmd->menu_grp = 0x1002; cmd->popup_id = MenuGroups; eCmd.process(); cmd->id = CmdGroups; cmd->text = "_"; cmd->menu_id = MenuGroups; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); cmd->id = CmdCheckInvisible; cmd->text = I18N_NOOP("Check &invisible"); cmd->icon = "ICQ_invisible"; cmd->menu_id = MenuMain; cmd->menu_grp = 0x2090; cmd->popup_id = 0; cmd->flags = COMMAND_CHECK_STATE; eCmd.process(); registerMessages(); RetrySendDND = registerType(); RetrySendOccupied = registerType(); }