ticket147.patch
| b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs | ||
|---|---|---|
| 485 | 485 |
CommandPing(command); |
| 486 | 486 |
handled = true; |
| 487 | 487 |
break; |
| 488 |
case "version": |
|
| 489 |
CommandVersion(command); |
|
| 490 |
handled = true; |
|
| 491 |
break; |
|
| 492 |
case "time": |
|
| 493 |
CommandTime(command); |
|
| 494 |
handled = true; |
|
| 495 |
break; |
|
| 488 | 496 |
case "who": |
| 489 | 497 |
CommandWho(command); |
| 490 | 498 |
handled = true; |
| ... | ... | |
| 655 | 663 |
"whois nick", |
| 656 | 664 |
"whowas nick", |
| 657 | 665 |
"ping nick", |
| 666 |
"version nick", |
|
| 667 |
"time nick", |
|
| 658 | 668 |
"mode new-mode", |
| 659 | 669 |
"away [away-message]", |
| 660 | 670 |
"kick nick(s) [reason]", |
| ... | ... | |
| 1008 | 1018 |
} |
| 1009 | 1019 |
} |
| 1010 | 1020 |
|
| 1021 |
public void CommandVersion(CommandModel cd) |
|
| 1022 |
{
|
|
| 1023 |
if (cd.DataArray.Length >= 2) {
|
|
| 1024 |
string destination = cd.DataArray[1]; |
|
| 1025 |
Session.AddTextToChat(_NetworkChat, "[ctcp(" + destination + ")] VERSION");
|
|
| 1026 |
_IrcClient.SendMessage(SendType.CtcpRequest, destination, "VERSION"); |
|
| 1027 |
} else {
|
|
| 1028 |
_NotEnoughParameters(cd); |
|
| 1029 |
} |
|
| 1030 |
} |
|
| 1031 |
|
|
| 1032 |
public void CommandTime(CommandModel cd) |
|
| 1033 |
{
|
|
| 1034 |
if (cd.DataArray.Length >= 2) {
|
|
| 1035 |
string destination = cd.DataArray[1]; |
|
| 1036 |
Session.AddTextToChat(_NetworkChat, "[ctcp(" + destination + ")] TIME");
|
|
| 1037 |
_IrcClient.SendMessage(SendType.CtcpRequest, destination, "TIME"); |
|
| 1038 |
} else {
|
|
| 1039 |
_NotEnoughParameters(cd); |
|
| 1040 |
} |
|
| 1041 |
} |
|
| 1042 |
|
|
| 1011 | 1043 |
public void CommandWho(CommandModel cd) |
| 1012 | 1044 |
{
|
| 1013 | 1045 |
if (cd.DataArray.Length < 2) {
|
| b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs | ||
|---|---|---|
| 93 | 93 |
Gtk.ImageMenuItem whois_item = new Gtk.ImageMenuItem(_("Whois"));
|
| 94 | 94 |
whois_item.Activated += _OnUserListMenuWhoisActivated; |
| 95 | 95 |
PersonMenu.Append(whois_item); |
| 96 |
|
|
| 97 |
Gtk.ImageMenuItem ctcp_item = new Gtk.ImageMenuItem(_("CTCP"));
|
|
| 98 |
Gtk.Menu ctcp_submenu = new Gtk.Menu(); |
|
| 99 |
Gtk.ImageMenuItem ctcp_version_item = new Gtk.ImageMenuItem(_("Version"));
|
|
| 100 |
ctcp_version_item.Activated += _OnUserListMenuCTCPVersionActivated; |
|
| 101 |
ctcp_submenu.Append(ctcp_version_item); |
|
| 102 |
|
|
| 103 |
Gtk.ImageMenuItem ctcp_ping_item = new Gtk.ImageMenuItem(_("Ping"));
|
|
| 104 |
ctcp_ping_item.Activated += _OnUserListMenuCTCPPingActivated; |
|
| 105 |
ctcp_submenu.Append(ctcp_ping_item); |
|
| 106 |
|
|
| 107 |
Gtk.ImageMenuItem ctcp_time_item = new Gtk.ImageMenuItem(_("Time"));
|
|
| 108 |
ctcp_time_item.Activated += _OnUserListMenuCTCPTimeActivated; |
|
| 109 |
ctcp_submenu.Append(ctcp_time_item); |
|
| 110 |
|
|
| 111 |
ctcp_item.Submenu = ctcp_submenu; |
|
| 112 |
PersonMenu.Append(ctcp_item); |
|
| 96 | 113 |
} |
| 97 | 114 |
|
| 98 | 115 |
if (PersonTreeView != null) {
|
| ... | ... | |
| 360 | 377 |
} |
| 361 | 378 |
} |
| 362 | 379 |
|
| 380 |
private void _OnUserListMenuCTCPVersionActivated(object sender, EventArgs e) |
|
| 381 |
{
|
|
| 382 |
Trace.Call(sender, e); |
|
| 383 |
|
|
| 384 |
IList<PersonModel> persons = GetSelectedPersons(); |
|
| 385 |
if (persons == null) {
|
|
| 386 |
return; |
|
| 387 |
} |
|
| 388 |
|
|
| 389 |
foreach (PersonModel person in persons) {
|
|
| 390 |
_IrcProtocolManager.CommandVersion( |
|
| 391 |
new CommandModel( |
|
| 392 |
Frontend.FrontendManager, |
|
| 393 |
ChatModel, |
|
| 394 |
person.ID |
|
| 395 |
) |
|
| 396 |
); |
|
| 397 |
} |
|
| 398 |
} |
|
| 399 |
|
|
| 400 |
private void _OnUserListMenuCTCPPingActivated(object sender, EventArgs e) |
|
| 401 |
{
|
|
| 402 |
Trace.Call(sender, e); |
|
| 403 |
|
|
| 404 |
IList<PersonModel> persons = GetSelectedPersons(); |
|
| 405 |
if (persons == null) {
|
|
| 406 |
return; |
|
| 407 |
} |
|
| 408 |
|
|
| 409 |
foreach (PersonModel person in persons) {
|
|
| 410 |
_IrcProtocolManager.CommandPing( |
|
| 411 |
new CommandModel( |
|
| 412 |
Frontend.FrontendManager, |
|
| 413 |
ChatModel, |
|
| 414 |
person.ID |
|
| 415 |
) |
|
| 416 |
); |
|
| 417 |
} |
|
| 418 |
} |
|
| 419 |
|
|
| 420 |
private void _OnUserListMenuCTCPTimeActivated(object sender, EventArgs e) |
|
| 421 |
{
|
|
| 422 |
Trace.Call(sender, e); |
|
| 423 |
|
|
| 424 |
IList<PersonModel> persons = GetSelectedPersons(); |
|
| 425 |
if (persons == null) {
|
|
| 426 |
return; |
|
| 427 |
} |
|
| 428 |
|
|
| 429 |
foreach (PersonModel person in persons) {
|
|
| 430 |
_IrcProtocolManager.CommandTime( |
|
| 431 |
new CommandModel( |
|
| 432 |
Frontend.FrontendManager, |
|
| 433 |
ChatModel, |
|
| 434 |
person.ID |
|
| 435 |
) |
|
| 436 |
); |
|
| 437 |
} |
|
| 438 |
} |
|
| 439 |
|
|
| 363 | 440 |
protected override void OnPersonsRowActivated(object sender, Gtk.RowActivatedArgs e) |
| 364 | 441 |
{
|
| 365 | 442 |
Trace.Call(sender, e); |