| 466 | } |
| 467 | |
| 468 | LRESULT HandleCommand(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
| 469 | { |
| 470 | switch (LOWORD(wParam)) |
| 471 | { |
| 472 | case ID_FILE_PREFERENCES: |
| 473 | { |
| 474 | switch (ShowOptionsDialog()) |
| 475 | { |
| 476 | case OPTIONS_RESULT_LOGOUT: { |
| 477 | PostMessage(hWnd, WM_LOGGEDOUT, 100, 0); |
| 478 | GetDiscordInstance()->SetToken(""); |
| 479 | GetDiscordInstance()->ClearData(); |
| 480 | GetLocalSettings()->SetToken(""); |
| 481 | GetLocalSettings()->Save(); |
| 482 | g_pChannelView->ClearChannels(); |
| 483 | g_pMemberList->ClearMembers(); |
| 484 | g_pStatusBar->ClearTypers(); |
| 485 | g_pMessageList->ClearMessages(); |
| 486 | g_pGuildLister->ClearTooltips(); |
| 487 | return TRUE; |
| 488 | } |
| 489 | } |
| 490 | break; |
| 491 | } |
| 492 | case ID_FILE_RECONNECTTODISCORD: |
| 493 | { |
| 494 | if (!GetDiscordInstance()->IsGatewayConnected()) |
| 495 | SendMessage(hWnd, WM_LOGINAGAIN, 0, 0); |
| 496 | |
| 497 | break; |
| 498 | } |
| 499 | case ID_FILE_EXIT: |
| 500 | { |
| 501 | SendMessage(hWnd, WM_CLOSEBYPASSTRAY, 0, 0); |
| 502 | return 0; |
| 503 | } |
| 504 | case ID_HELP_ABOUTDISCORDMESSENGER: |
| 505 | { |
| 506 | About(); |
| 507 | break; |
| 508 | } |
| 509 | case ID_FILE_STOPALLSPEECH: |
| 510 | { |
| 511 | TextToSpeech::StopAll(); |
| 512 | break; |
| 513 | } |
| 514 | case ID_ONLINESTATUSPLACEHOLDER_ONLINE: |
| 515 | { |
| 516 | GetDiscordInstance()->SetActivityStatus(eActiveStatus::STATUS_ONLINE); |
| 517 | break; |
| 518 | } |
| 519 | case ID_ONLINESTATUSPLACEHOLDER_IDLE: |
| 520 | { |
| 521 | GetDiscordInstance()->SetActivityStatus(eActiveStatus::STATUS_IDLE); |
| 522 | break; |
| 523 | } |
| 524 | case ID_ONLINESTATUSPLACEHOLDER_DONOTDISTURB: |
| 525 | { |
no test coverage detected