source: trunk/hiptop/pester/net/sabi/pester/AlarmListWindow.java@ 293

Last change on this file since 293 was 293, checked in by Nicholas Riley, 18 years ago

About box.

File size: 2.4 KB
Line 
1package net.sabi.pester;
2
3import danger.app.Application;
4import danger.app.Event;
5import danger.app.Resource;
6import danger.text.span.SpanUtils;
7import danger.text.span.SpannableString;
8import danger.ui.DialogWindow;
9import danger.ui.LinkTextBox;
10import danger.ui.ScreenWindow;
11import danger.ui.Menu;
12import danger.ui.MenuItem;
13import danger.ui.Scrollbar;
14import danger.util.TextBuffer;
15
16public class AlarmListWindow extends ScreenWindow
17 implements Resources, Commands {
18 private static AlarmListView sAlarmListView;
19 private static Pester sPester;
20
21 public void onDecoded() {
22 sAlarmListView = (AlarmListView)getDescendantWithID(ID_ALARM_LIST_VIEW);
23 sPester = (Pester)Application.getCurrentApp();
24 updateAlarmCount();
25 super.onDecoded();
26 }
27
28 public void updateAlarmCount() {
29 int size = sAlarmListView.alarmsSet();
30 StringBuffer sb = new StringBuffer();
31 if (size == 0) sb.append("No");
32 else sb.append(size);
33 sb.append(" alarm");
34 if (size != 1) sb.append('s');
35 sb.append(" set");
36 String alarmCount = sb.toString();
37 setSubTitle(alarmCount);
38 sPester.setChooserFolderLabel(alarmCount);
39 sPester.updatePreviewScreen();
40 }
41
42 public void adjustActionMenuState(Menu actionMenu) {
43 boolean haveFocusedItem = (sAlarmListView.getFocusedItem() != null);
44 actionMenu.getItemWithID(ID_DISCARD_ITEM).setEnabled(haveFocusedItem);
45 }
46
47 public boolean receiveEvent(Event e) {
48 switch (e.type) {
49 case EVENT_ABOUT:
50 DialogWindow window = sPester.getDialog(ID_ABOUT_DIALOG, this);
51 LinkTextBox textBox =
52 (LinkTextBox)window.getDescendantWithID(ID_ABOUT_TEXT_BOX);
53 Resource aboutText = sPester.getResource(257, ID_ABOUT_TEXT);
54 int aboutSize = aboutText.getSize();
55 byte b[] = new byte[aboutSize];
56 aboutText.getBytes(b, 0, aboutSize);
57 String supportEmail = sPester.getString(ID_SUPPORT_EMAIL);
58 TextBuffer textBuffer =
59 new TextBuffer(aboutSize + supportEmail.length());
60 textBuffer.insert(new String(b));
61 SpannableString urlString = new SpannableString(supportEmail);
62 SpanUtils.addURL(urlString, 0, urlString.length(),
63 "mailto:" + supportEmail);
64 textBuffer.insert(urlString);
65 textBuffer.insert(".");
66 textBox.setText(textBuffer);
67 Scrollbar scrollbar =
68 (Scrollbar)window.getDescendantWithID(ID_ABOUT_TEXT_SCROLLBAR);
69 textBox.attachScrollbar(scrollbar);
70 window.show();
71 return true;
72 }
73 return super.receiveEvent(e);
74 }
75}
Note: See TracBrowser for help on using the repository browser.