|
Lines 152-157
Link Here
|
| 152 |
private IAction setInvisibleAction; |
152 |
private IAction setInvisibleAction; |
| 153 |
|
153 |
|
| 154 |
private IAction setOfflineAction; |
154 |
private IAction setOfflineAction; |
|
|
155 |
|
| 156 |
private IAction showOfflineAction; |
| 157 |
|
| 158 |
private IAction showEmptyGroupsAction; |
| 159 |
|
| 160 |
private IAction addContactAction; |
| 155 |
|
161 |
|
| 156 |
private IAction openChatRoomAction; |
162 |
private IAction openChatRoomAction; |
| 157 |
|
163 |
|
|
Lines 578-583
Link Here
|
| 578 |
}; |
584 |
}; |
| 579 |
setOfflineAction.setChecked(true); |
585 |
setOfflineAction.setChecked(true); |
| 580 |
|
586 |
|
|
|
587 |
showOfflineAction = new Action(Messages.MultiRosterView_ShowOffline, |
| 588 |
Action.AS_CHECK_BOX) { |
| 589 |
public void run() { |
| 590 |
if (isChecked()) { |
| 591 |
treeViewer.removeFilter(hideOfflineFilter); |
| 592 |
} else { |
| 593 |
treeViewer.addFilter(hideOfflineFilter); |
| 594 |
} |
| 595 |
} |
| 596 |
}; |
| 597 |
|
| 598 |
showEmptyGroupsAction = new Action( |
| 599 |
Messages.MultiRosterView_ShowEmptyGroups, Action.AS_CHECK_BOX) { |
| 600 |
public void run() { |
| 601 |
if (isChecked()) { |
| 602 |
treeViewer.removeFilter(hideEmptyGroupsFilter); |
| 603 |
} else { |
| 604 |
treeViewer.addFilter(hideEmptyGroupsFilter); |
| 605 |
} |
| 606 |
} |
| 607 |
}; |
| 608 |
|
| 609 |
addContactAction = new Action(Messages.MultiRosterView_AddContact, |
| 610 |
SharedImages.getImageDescriptor(SharedImages.IMG_ADD_BUDDY)) { |
| 611 |
public void run() { |
| 612 |
AddContactDialog dialog = new AddContactDialog(treeViewer |
| 613 |
.getControl().getShell()); |
| 614 |
dialog.setInput(rosterAccounts); |
| 615 |
if (Window.OK == dialog.open()) { |
| 616 |
IPresenceContainerAdapter ipca = dialog.getSelection(); |
| 617 |
IRosterSubscriptionSender sender = ipca.getRosterManager() |
| 618 |
.getRosterSubscriptionSender(); |
| 619 |
try { |
| 620 |
sender.sendRosterAdd(dialog.getAccountID(), dialog |
| 621 |
.getAlias(), null); |
| 622 |
} catch (ECFException e) { |
| 623 |
e.printStackTrace(); |
| 624 |
} |
| 625 |
} |
| 626 |
} |
| 627 |
}; |
| 628 |
|
| 581 |
openChatRoomAction = new Action() { |
629 |
openChatRoomAction = new Action() { |
| 582 |
public void run() { |
630 |
public void run() { |
| 583 |
selectAndJoinChatRoomForAccounts((MultiRosterAccount[]) rosterAccounts |
631 |
selectAndJoinChatRoomForAccounts((MultiRosterAccount[]) rosterAccounts |
|
Lines 793-798
Link Here
|
| 793 |
fillLocalPullDown(bars.getMenuManager()); |
841 |
fillLocalPullDown(bars.getMenuManager()); |
| 794 |
} |
842 |
} |
| 795 |
|
843 |
|
|
|
844 |
private void setLocalPullDownEnabled(boolean enabled) { |
| 845 |
setAvailableAction.setEnabled(enabled); |
| 846 |
setAwayAction.setEnabled(enabled); |
| 847 |
setDNDAction.setEnabled(enabled); |
| 848 |
setInvisibleAction.setEnabled(enabled); |
| 849 |
setOfflineAction.setEnabled(enabled); |
| 850 |
showOfflineAction.setEnabled(enabled); |
| 851 |
showEmptyGroupsAction.setEnabled(enabled); |
| 852 |
addContactAction.setEnabled(enabled); |
| 853 |
openChatRoomAction.setEnabled(enabled); |
| 854 |
disconnectAllAccountsAction.setEnabled(enabled); |
| 855 |
} |
| 856 |
|
| 796 |
private void fillLocalPullDown(IMenuManager manager) { |
857 |
private void fillLocalPullDown(IMenuManager manager) { |
| 797 |
setStatusMenu = new MenuManager(Messages.MultiRosterView_SetStatusAs, |
858 |
setStatusMenu = new MenuManager(Messages.MultiRosterView_SetStatusAs, |
| 798 |
null); |
859 |
null); |
|
Lines 801-856
Link Here
|
| 801 |
setStatusMenu.add(setDNDAction); |
862 |
setStatusMenu.add(setDNDAction); |
| 802 |
setStatusMenu.add(setInvisibleAction); |
863 |
setStatusMenu.add(setInvisibleAction); |
| 803 |
setStatusMenu.add(setOfflineAction); |
864 |
setStatusMenu.add(setOfflineAction); |
| 804 |
setStatusMenu.setVisible(false); |
|
|
| 805 |
manager.add(setStatusMenu); |
865 |
manager.add(setStatusMenu); |
| 806 |
manager.add(new Separator()); |
866 |
manager.add(new Separator()); |
| 807 |
|
867 |
|
| 808 |
manager.add(new Action(Messages.MultiRosterView_ShowOffline, |
868 |
manager.add(showOfflineAction); |
| 809 |
Action.AS_CHECK_BOX) { |
869 |
|
| 810 |
public void run() { |
|
|
| 811 |
if (isChecked()) { |
| 812 |
treeViewer.removeFilter(hideOfflineFilter); |
| 813 |
} else { |
| 814 |
treeViewer.addFilter(hideOfflineFilter); |
| 815 |
} |
| 816 |
} |
| 817 |
}); |
| 818 |
IAction showEmptyGroupsAction = new Action( |
| 819 |
Messages.MultiRosterView_ShowEmptyGroups, Action.AS_CHECK_BOX) { |
| 820 |
public void run() { |
| 821 |
if (isChecked()) { |
| 822 |
treeViewer.removeFilter(hideEmptyGroupsFilter); |
| 823 |
} else { |
| 824 |
treeViewer.addFilter(hideEmptyGroupsFilter); |
| 825 |
} |
| 826 |
} |
| 827 |
}; |
| 828 |
manager.add(showEmptyGroupsAction); |
870 |
manager.add(showEmptyGroupsAction); |
| 829 |
|
871 |
|
| 830 |
manager.add(new Separator()); |
872 |
manager.add(new Separator()); |
| 831 |
manager.add(new Action(Messages.MultiRosterView_AddContact, |
873 |
manager.add(addContactAction); |
| 832 |
SharedImages.getImageDescriptor(SharedImages.IMG_ADD_BUDDY)) { |
|
|
| 833 |
public void run() { |
| 834 |
AddContactDialog dialog = new AddContactDialog(treeViewer |
| 835 |
.getControl().getShell()); |
| 836 |
dialog.setInput(rosterAccounts); |
| 837 |
if (Window.OK == dialog.open()) { |
| 838 |
IPresenceContainerAdapter ipca = dialog.getSelection(); |
| 839 |
IRosterSubscriptionSender sender = ipca.getRosterManager() |
| 840 |
.getRosterSubscriptionSender(); |
| 841 |
try { |
| 842 |
sender.sendRosterAdd(dialog.getAccountID(), dialog |
| 843 |
.getAlias(), null); |
| 844 |
} catch (ECFException e) { |
| 845 |
e.printStackTrace(); |
| 846 |
} |
| 847 |
} |
| 848 |
} |
| 849 |
}); |
| 850 |
manager.add(new Separator()); |
874 |
manager.add(new Separator()); |
| 851 |
manager.add(openChatRoomAction); |
875 |
manager.add(openChatRoomAction); |
| 852 |
manager.add(new Separator()); |
876 |
manager.add(new Separator()); |
| 853 |
manager.add(disconnectAllAccountsAction); |
877 |
manager.add(disconnectAllAccountsAction); |
|
|
878 |
setLocalPullDownEnabled(false); |
| 854 |
} |
879 |
} |
| 855 |
|
880 |
|
| 856 |
/* |
881 |
/* |
|
Lines 879-886
Link Here
|
| 879 |
|
904 |
|
| 880 |
protected boolean addRosterAccount(MultiRosterAccount account) { |
905 |
protected boolean addRosterAccount(MultiRosterAccount account) { |
| 881 |
boolean result = account != null && rosterAccounts.add(account); |
906 |
boolean result = account != null && rosterAccounts.add(account); |
| 882 |
if (result) |
907 |
if (result) setLocalPullDownEnabled(true); |
| 883 |
disconnectAllAccountsAction.setEnabled(true); |
|
|
| 884 |
return result; |
908 |
return result; |
| 885 |
} |
909 |
} |
| 886 |
|
910 |
|
|
Lines 903-910
Link Here
|
| 903 |
treeViewer.remove(account.getRoster()); |
927 |
treeViewer.remove(account.getRoster()); |
| 904 |
// Remove account |
928 |
// Remove account |
| 905 |
rosterAccounts.remove(account); |
929 |
rosterAccounts.remove(account); |
| 906 |
// Disable disconnect if no more accounts |
930 |
// Disable local pull down window if no more accounts |
| 907 |
disconnectAllAccountsAction.setEnabled(rosterAccounts.size() > 0); |
931 |
setLocalPullDownEnabled(rosterAccounts.size() > 0); |
| 908 |
account.dispose(); |
932 |
account.dispose(); |
| 909 |
refreshTreeViewer(null, true); |
933 |
refreshTreeViewer(null, true); |
| 910 |
} |
934 |
} |