WeatherPlugin::WeatherPlugin(unsigned base, bool bInit, Buffer *config) : Plugin(base) { load_data(weatherData, &data, config); BarWeather = registerType(); CmdWeather = registerType(); EventWeather = registerType(); m_icons = getIcons()->addIconSet("icons/weather.jisp", true); Event eBar(EventToolbarCreate, (void*)BarWeather); eBar.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 | BTN_DIV; Event eCmd(EventCommandCreate, cmd); eCmd.process(); m_bar = NULL; if (!bInit){ showBar(); if (m_bar) m_bar->show(); } }
NavigatePlugin::NavigatePlugin(unsigned base, Buffer *config) : Plugin(base) { load_data(navigateData, &data, config); CmdMail = registerType(); CmdMailList = registerType(); MenuMail = registerType(); Event eMenu(EventMenuCreate, (void*)MenuMail); eMenu.process(); Command cmd; cmd->id = CmdMail; cmd->text = I18N_NOOP("Send mail"); cmd->icon = "mail_generic"; cmd->menu_id = MenuContact; cmd->menu_grp = 0x30F0; cmd->popup_id = 0; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); cmd->id = CmdMailList; cmd->text = "_"; cmd->menu_grp = 0x1000; cmd->menu_id = MenuMail; eCmd.process(); }
WinDockPlugin::~WinDockPlugin() { uninit(); Event eCmd(EventCommandRemove, (void*)CmdAutoHide); eCmd.process(); free_data(winDockData, &data); }
WinDockPlugin::WinDockPlugin(unsigned base, Buffer *config) : Plugin(base), EventReceiver(DefaultPriority - 1) { dock = this; load_data(winDockData, &data, config); CmdAutoHide = registerType(); Command cmd; cmd->id = CmdAutoHide; cmd->text = I18N_NOOP("AutoHide"); cmd->menu_id = MenuMain; cmd->menu_grp = 0x7001; cmd->flags = COMMAND_CHECK_STATE; m_bInit = false; m_autoHide = new QTimer(this); connect(m_autoHide, SIGNAL(timeout()), this, SLOT(slotAutoHide())); Event eCmd(EventCommandCreate, cmd); eCmd.process(); WM_APPBAR = RegisterWindowMessageA("AppBarNotify"); init(); }
ListView::ListView(QWidget *parent, const char *name) : QListView(parent, name) { m_menuId = MenuListView; if (!s_bInit){ s_bInit = true; Event eMenu(EventMenuCreate, (void*)MenuListView); eMenu.process(); Command cmd; cmd->id = CmdListDelete; cmd->text = I18N_NOOP("&Delete"); cmd->icon = "remove"; cmd->accel = "Del"; cmd->menu_id = MenuListView; cmd->menu_grp = 0x1000; cmd->flags = COMMAND_DEFAULT; Event eCmd(EventCommandCreate, cmd); eCmd.process(); } m_bAcceptDrop = false; viewport()->setAcceptDrops(true); m_pressedItem = NULL; m_expandingColumn = -1; verticalScrollBar()->installEventFilter(this); }
ActionPlugin::ActionPlugin(unsigned base) : Plugin(base), EventReceiver(HighPriority) { plugin = this; action_data_id = getContacts()->registerUserData(info.title, actionUserData); CmdAction = registerType(); Command cmd; cmd->id = action_data_id + 1; cmd->text = I18N_NOOP("&Action"); cmd->icon = "run"; cmd->param = (void*)getActionSetup; Event e(EventAddPreferences, cmd); e.process(); cmd->id = CmdAction; cmd->text = "_"; cmd->icon = NULL; cmd->flags = COMMAND_CHECK_STATE; cmd->menu_id = MenuContact; cmd->menu_grp = 0xC000; cmd->param = NULL; Event eCmd(EventCommandCreate, cmd); eCmd.process(); Event ePlugin(EventGetPluginInfo, (void*)"_core"); pluginInfo *info = (pluginInfo*)(ePlugin.process()); core = static_cast<CorePlugin*>(info->plugin); }
ListView::ListView(QWidget *parent, const char *name) : QTreeWidget(parent) { m_menuId = MenuListView; if (!s_bInit){ s_bInit = true; Event eMenu(EventMenuCreate, (void*)MenuListView); eMenu.process(); setFocusPolicy( Qt::StrongFocus); Command cmd; cmd->id = CmdListDelete; cmd->text = I18N_NOOP("&Delete"); cmd->icon = "remove"; cmd->accel = "Del"; cmd->menu_id = MenuListView; cmd->menu_grp = 0x1000; cmd->flags = COMMAND_DEFAULT; Event eCmd(EventCommandCreate, cmd); eCmd.process(); } m_bAcceptDrop = false; viewport()->setAcceptDrops(true); m_pressedItem = NULL; m_expandingColumn = -1; verticalScrollBar()->installEventFilter(this); connect(header(), SIGNAL(sizeChange(int,int,int)), this, SLOT(sizeChange(int,int,int))); m_resizeTimer = new QTimer(this); connect(m_resizeTimer, SIGNAL(timeout()), this, SLOT(adjustColumn())); }
void MsgEdit::stopSend(bool bCheck) { if (m_userWnd->m_list){ Command cmd; m_userWnd->showListView(false); cmd->id = CmdMultiply; cmd->text = I18N_NOOP("&Multiply send"); cmd->icon = "1rightarrow"; cmd->icon_on = "1leftarrow"; cmd->flags = COMMAND_DEFAULT; cmd->param = this; Event eChange(EventCommandChange, cmd); eChange.process(); } multiply.clear(); Command cmd; cmd->id = CmdSend; cmd->text = I18N_NOOP("&Send"); cmd->icon = "mail_generic"; cmd->bar_id = ToolBarMsgEdit; cmd->bar_grp = 0x8000; cmd->flags = BTN_PICT; cmd->param = this; Event eCmd(EventCommandChange, cmd); eCmd.process(); if (bCheck && (m_msg == NULL)) return; if (m_msg) m_msg = NULL; }
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(); } }
AboutPlugin::AboutPlugin(unsigned base) : Plugin(base) { CmdBugReport = registerType(); CmdAbout = registerType(); #ifdef USE_KDE CmdAboutKDE = registerType(); #endif Command cmd; cmd->id = CmdBugReport; cmd->text = I18N_NOOP("&Bug report"); cmd->bar_id = ToolBarMain; cmd->menu_id = MenuMain; cmd->menu_grp = 0xF000; Event eCmd(EventCommandCreate, cmd); eCmd.process(); about = NULL; cmd->id = CmdAbout; cmd->text = I18N_NOOP("&About SIM"); cmd->icon = "licq"; eCmd.process(); #ifdef USE_KDE about_kde = NULL; cmd->id = CmdAboutKDE; cmd->text = I18N_NOOP("About &KDE"); cmd->icon = "about_kde"; eCmd.process(); #endif }
void Container::setMessageType(unsigned type) { CommandDef *def; for (;;){ def = CorePlugin::m_plugin->messageTypes.find(type); if (def == NULL) return; MessageDef *mdef = (MessageDef*)(def->param); if (mdef->base_type == 0) break; type = mdef->base_type; } Command cmd; cmd->id = CmdMessageType; cmd->text = def->text; cmd->icon = def->icon; cmd->bar_id = ToolBarContainer; cmd->bar_grp = 0x2000; cmd->menu_id = 0; cmd->menu_grp = 0; cmd->popup_id = MenuMessage; cmd->flags = BTN_PICT; Event eCmd(EventCommandChange, cmd); m_bar->processEvent(&eCmd); }
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(); }
NavigatePlugin::~NavigatePlugin() { Event eCmd(EventCommandRemove, (void*)CmdMail); eCmd.process(); Event eMenuRemove(EventMenuRemove, (void*)MenuMail); eMenuRemove.process(); free_data(navigateData, &data); }
WeatherPlugin::~WeatherPlugin() { if (m_bar) delete m_bar; Event eCmd(EventCommandRemove, (void*)CmdWeather); Event eBar(EventToolbarRemove, (void*)BarWeather); free_data(weatherData, &data); }
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); }
OnTopPlugin::~OnTopPlugin() { Event eCmd(EventCommandRemove, (void*)CmdOnTop); eCmd.process(); setOnTop(false); setState(); free_data(onTopData, &data); }
SpellPlugin::~SpellPlugin() { Event eCmd(EventCommandRemove, (void*)CmdSpell); eCmd.process(); deactivate(); for (list<Speller*>::iterator it = m_spellers.begin(); it != m_spellers.end(); ++it) delete (*it); delete m_base; free_data(spellData, &data); }
SoundPlugin::~SoundPlugin() { soundPlugin = NULL; Event eCmd(EventCommandRemove, (void*)CmdSoundDisable); eCmd.process(); Event e(EventRemovePreferences, (void*)user_data_id); e.process(); free_data(soundData, &data); getContacts()->unregisterUserData(user_data_id); }
NetmonitorPlugin::~NetmonitorPlugin() { Event eCmd(EventCommandRemove, (void*)CmdNetMonitor); eCmd.process(); if (monitor) delete monitor; free_data(monitorData, &data); }
CMenu *Commands::processMenu(unsigned id, void *param, int key) { MENU_MAP::iterator it = menues.find(id); if (it == menues.end()) return NULL; MenuDef &d = (*it).second; if (key){ CommandsList list(*d.def, true); CommandDef *cmd; while ((cmd = ++list) !=NULL){ int cmdKey; if ((key & ALT) && ((key & ~MODIFIER_MASK) != Key_Alt)){ if (cmd->text == NULL) continue; cmdKey = QAccel::shortcutKey(i18n(cmd->text)); if ((cmdKey & ~UNICODE_ACCEL) == key){ cmd->param = param; Event eCmd(EventCommandExec, cmd); if (eCmd.process()) break; } } if (cmd->accel == NULL) continue; cmdKey = QAccel::stringToKey(i18n(cmd->accel)); if (cmdKey == key){ cmd->param = param; Event eCmd(EventCommandExec, cmd); if (eCmd.process()) break; } } if (cmd == NULL) return NULL; } if (d.menu){ d.menu->setParam(param); return d.menu; } d.def->setConfig(CorePlugin::m_plugin->getMenues(id)); d.menu = new CMenu(d.def); d.menu->setParam(param); return d.menu; }
SoundPlugin::SoundPlugin(unsigned base, bool bFirst, Buffer *config) : Plugin(base) { load_data(soundData, &data, config); soundPlugin = this; user_data_id = getContacts()->registerUserData(info.title, soundUserData); m_bChanged = false; CmdSoundDisable = registerType(); EventSoundChanged = registerType(); 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(); 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); m_sound = NULL; #ifndef WIN32 m_player = 0; connect(ExecManager::manager, SIGNAL(childExited(int,int)), this, SLOT(childExited(int,int))); #endif m_checkTimer = new QTimer(this); connect(m_checkTimer, SIGNAL(timeout()), this, SLOT(checkSound())); if (bFirst) playSound(getStartUp()); }
DockPlugin::~DockPlugin() { Event eCmd(EventCommandRemove, (void*)CmdToggle); eCmd.process(); Event eMenu(EventMenuRemove, (void*)DockMenu); eMenu.process(); if (dock) delete dock; free_data(dockData, &data); }
FilterPlugin::~FilterPlugin() { free_data(filterData, &data); Event ePref(EventRemovePreferences, (void*)user_data_id); ePref.process(); Event eCmd(EventCommandRemove, (void*)CmdIgnoreList); eCmd.process(); getContacts()->unregisterUserData(user_data_id); }
ActionPlugin::~ActionPlugin() { clear(); for (list<Exec*>::iterator it = m_exec.begin(); it != m_exec.end(); ++it) delete *it; m_exec.clear(); Event eCmd(EventCommandRemove, (void*)CmdAction); eCmd.process(); unsigned long id = action_data_id + 1; Event(EventRemovePreferences, (void*)id).process(); getContacts()->unregisterUserData(action_data_id); }
LiveJournalPlugin::LiveJournalPlugin(unsigned base) : Plugin(base) { 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); }
void MsgEdit::showCloseSend(bool bState) { Command cmd; cmd->id = CmdSendClose; cmd->text = I18N_NOOP("C&lose after send"); cmd->icon = "exit"; cmd->icon_on = "exit"; cmd->bar_grp = 0x7010; cmd->flags = bState ? COMMAND_DEFAULT : BTN_HIDE; cmd->param = this; if (CorePlugin::m_plugin->getCloseSend()) cmd->flags |= COMMAND_CHECKED; Event eCmd(EventCommandChange, cmd); eCmd.process(); }
void WeatherPlugin::updateButton() { if ((getTime() == 0) || (m_bar == NULL)) return; weather_icon = "weather"; weather_icon += number(getIcon()); Command cmd; cmd->id = CmdWeather; cmd->text = I18N_NOOP("Not connected"); cmd->icon = weather_icon.c_str(); cmd->bar_id = BarWeather; cmd->bar_grp = 0x1000; cmd->flags = BTN_PICT | BTN_DIV; Event eCmd(EventCommandChange, cmd); eCmd.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); 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)174); Command cmdw; cmdw->id = CmdWeather; cmdw->param = m_bar; Event e(EventCommandWidget, cmdw); CToolButton *btn = (CToolButton*)e.process(); if (btn == NULL) return; btn->setTextLabel(text); btn->repaint(); QToolTip::add(btn, tip); }
SpellPlugin::SpellPlugin(unsigned base, const char *config) : Plugin(base) { load_data(spellData, &data, config); m_bActive = false; m_base = NULL; CmdSpell = registerType(); Command cmd; cmd->id = CmdSpell; cmd->text = "_"; cmd->menu_id = MenuTextEdit; cmd->menu_grp = 0x0100; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); reset(); }
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(); }
OnTopPlugin::OnTopPlugin(unsigned base, const char *config) : Plugin(base) { load_data(onTopData, &data, config); CmdOnTop = registerType(); Command cmd; cmd->id = CmdOnTop; cmd->text = I18N_NOOP("Always on top"); cmd->menu_id = MenuMain; cmd->menu_grp = 0x7000; cmd->flags = COMMAND_CHECK_STATE; Event eCmd(EventCommandCreate, cmd); eCmd.process(); #if defined(WIN32) || defined (USE_KDE) qApp->installEventFilter(this); #endif setState(); }