diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-09-01 19:21:05 +0000 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-09-01 19:21:05 +0000 |
commit | f99de43a85997f9fe6fcbbf862844d9f4d79119a (patch) | |
tree | 8dd6d3c772fbc37a352f907e7836b6186f1f3b1a /client/trunk/src/com | |
parent | d931e3ef909e8985dd79090252f670e0ede7fc94 (diff) | |
download | instadisc-f99de43a85997f9fe6fcbbf862844d9f4d79119a.tar.gz instadisc-f99de43a85997f9fe6fcbbf862844d9f4d79119a.tar.bz2 instadisc-f99de43a85997f9fe6fcbbf862844d9f4d79119a.zip |
Client: Added Unread flag manipulation
Closes #49
Diffstat (limited to 'client/trunk/src/com')
5 files changed, 111 insertions, 1 deletions
diff --git a/client/trunk/src/com/fourisland/instadisc/Database/Wrapper.java b/client/trunk/src/com/fourisland/instadisc/Database/Wrapper.java index 40040d9..1448893 100644 --- a/client/trunk/src/com/fourisland/instadisc/Database/Wrapper.java +++ b/client/trunk/src/com/fourisland/instadisc/Database/Wrapper.java | |||
@@ -453,4 +453,18 @@ public class Wrapper { | |||
453 | } | 453 | } |
454 | } | 454 | } |
455 | } | 455 | } |
456 | |||
457 | public static Item getItem(Integer id) { | ||
458 | synchronized (item) | ||
459 | { | ||
460 | try | ||
461 | { | ||
462 | return item.get(id); | ||
463 | } catch (DatabaseException ex) | ||
464 | { | ||
465 | Logger.getLogger(Wrapper.class.getName()).log(Level.SEVERE, null, ex); | ||
466 | return null; | ||
467 | } | ||
468 | } | ||
469 | } | ||
456 | } | 470 | } |
diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form index 5ca439a..c08ee2f 100644 --- a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.form | |||
@@ -40,6 +40,8 @@ | |||
40 | </Properties> | 40 | </Properties> |
41 | <Events> | 41 | <Events> |
42 | <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jList1MouseClicked"/> | 42 | <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jList1MouseClicked"/> |
43 | <EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jList1MousePressed"/> | ||
44 | <EventHandler event="mouseReleased" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jList1MouseReleased"/> | ||
43 | <EventHandler event="componentShown" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="jList1ComponentShown"/> | 45 | <EventHandler event="componentShown" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="jList1ComponentShown"/> |
44 | </Events> | 46 | </Events> |
45 | </Component> | 47 | </Component> |
@@ -136,6 +138,15 @@ | |||
136 | <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem4ActionPerformed"/> | 138 | <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem4ActionPerformed"/> |
137 | </Events> | 139 | </Events> |
138 | </MenuItem> | 140 | </MenuItem> |
141 | <MenuItem class="javax.swing.JMenuItem" name="jMenuItem8"> | ||
142 | <Properties> | ||
143 | <Property name="text" type="java.lang.String" resourceKey="jMenuItem8.text"/> | ||
144 | <Property name="name" type="java.lang.String" value="jMenuItem8" noResource="true"/> | ||
145 | </Properties> | ||
146 | <Events> | ||
147 | <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem8ActionPerformed"/> | ||
148 | </Events> | ||
149 | </MenuItem> | ||
139 | <MenuItem class="javax.swing.JMenuItem" name="jMenuItem5"> | 150 | <MenuItem class="javax.swing.JMenuItem" name="jMenuItem5"> |
140 | <Properties> | 151 | <Properties> |
141 | <Property name="text" type="java.lang.String" resourceKey="jMenuItem5.text"/> | 152 | <Property name="text" type="java.lang.String" resourceKey="jMenuItem5.text"/> |
diff --git a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java index a7a3308..3448197 100644 --- a/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java +++ b/client/trunk/src/com/fourisland/instadisc/InstaDiscView.java | |||
@@ -9,6 +9,7 @@ import com.fourisland.instadisc.Item.Categories.InstaDiscIcon; | |||
9 | import java.awt.AWTException; | 9 | import java.awt.AWTException; |
10 | import java.awt.SystemTray; | 10 | import java.awt.SystemTray; |
11 | import java.awt.TrayIcon; | 11 | import java.awt.TrayIcon; |
12 | import java.awt.event.MouseEvent; | ||
12 | import org.jdesktop.application.Action; | 13 | import org.jdesktop.application.Action; |
13 | import org.jdesktop.application.ResourceMap; | 14 | import org.jdesktop.application.ResourceMap; |
14 | import org.jdesktop.application.SingleFrameApplication; | 15 | import org.jdesktop.application.SingleFrameApplication; |
@@ -150,6 +151,7 @@ public class InstaDiscView extends FrameView { | |||
150 | jMenuItem7 = new javax.swing.JMenuItem(); | 151 | jMenuItem7 = new javax.swing.JMenuItem(); |
151 | jMenuItem3 = new javax.swing.JMenuItem(); | 152 | jMenuItem3 = new javax.swing.JMenuItem(); |
152 | jMenuItem4 = new javax.swing.JMenuItem(); | 153 | jMenuItem4 = new javax.swing.JMenuItem(); |
154 | jMenuItem8 = new javax.swing.JMenuItem(); | ||
153 | jMenuItem5 = new javax.swing.JMenuItem(); | 155 | jMenuItem5 = new javax.swing.JMenuItem(); |
154 | javax.swing.JMenu helpMenu = new javax.swing.JMenu(); | 156 | javax.swing.JMenu helpMenu = new javax.swing.JMenu(); |
155 | jMenuItem6 = new javax.swing.JMenuItem(); | 157 | jMenuItem6 = new javax.swing.JMenuItem(); |
@@ -170,6 +172,12 @@ public class InstaDiscView extends FrameView { | |||
170 | public void mouseClicked(java.awt.event.MouseEvent evt) { | 172 | public void mouseClicked(java.awt.event.MouseEvent evt) { |
171 | jList1MouseClicked(evt); | 173 | jList1MouseClicked(evt); |
172 | } | 174 | } |
175 | public void mousePressed(java.awt.event.MouseEvent evt) { | ||
176 | jList1MousePressed(evt); | ||
177 | } | ||
178 | public void mouseReleased(java.awt.event.MouseEvent evt) { | ||
179 | jList1MouseReleased(evt); | ||
180 | } | ||
173 | }); | 181 | }); |
174 | jList1.addComponentListener(new java.awt.event.ComponentAdapter() { | 182 | jList1.addComponentListener(new java.awt.event.ComponentAdapter() { |
175 | public void componentShown(java.awt.event.ComponentEvent evt) { | 183 | public void componentShown(java.awt.event.ComponentEvent evt) { |
@@ -253,6 +261,15 @@ public class InstaDiscView extends FrameView { | |||
253 | }); | 261 | }); |
254 | jMenu1.add(jMenuItem4); | 262 | jMenu1.add(jMenuItem4); |
255 | 263 | ||
264 | jMenuItem8.setText(resourceMap.getString("jMenuItem8.text")); // NOI18N | ||
265 | jMenuItem8.setName("jMenuItem8"); // NOI18N | ||
266 | jMenuItem8.addActionListener(new java.awt.event.ActionListener() { | ||
267 | public void actionPerformed(java.awt.event.ActionEvent evt) { | ||
268 | jMenuItem8ActionPerformed(evt); | ||
269 | } | ||
270 | }); | ||
271 | jMenu1.add(jMenuItem8); | ||
272 | |||
256 | jMenuItem5.setText(resourceMap.getString("jMenuItem5.text")); // NOI18N | 273 | jMenuItem5.setText(resourceMap.getString("jMenuItem5.text")); // NOI18N |
257 | jMenuItem5.setName("jMenuItem5"); // NOI18N | 274 | jMenuItem5.setName("jMenuItem5"); // NOI18N |
258 | jMenuItem5.addActionListener(new java.awt.event.ActionListener() { | 275 | jMenuItem5.addActionListener(new java.awt.event.ActionListener() { |
@@ -324,7 +341,7 @@ public class InstaDiscView extends FrameView { | |||
324 | setStatusBar(statusPanel); | 341 | setStatusBar(statusPanel); |
325 | }// </editor-fold>//GEN-END:initComponents | 342 | }// </editor-fold>//GEN-END:initComponents |
326 | private void jList1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseClicked | 343 | private void jList1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseClicked |
327 | if (evt.getClickCount() == 2) { | 344 | if ((evt.getButton() == MouseEvent.BUTTON1) && (evt.getClickCount() == 2)) { |
328 | Item item = (Item) jList1.getSelectedValue(); | 345 | Item item = (Item) jList1.getSelectedValue(); |
329 | 346 | ||
330 | try { | 347 | try { |
@@ -397,6 +414,35 @@ public class InstaDiscView extends FrameView { | |||
397 | cpf.setVisible(true); | 414 | cpf.setVisible(true); |
398 | }//GEN-LAST:event_jMenuItem7ActionPerformed | 415 | }//GEN-LAST:event_jMenuItem7ActionPerformed |
399 | 416 | ||
417 | private void jList1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseReleased | ||
418 | int i = jList1.locationToIndex(evt.getPoint()); | ||
419 | if ((evt.isPopupTrigger()) && (i != -1)) | ||
420 | { | ||
421 | jList1.setSelectedIndex(i); | ||
422 | new UnreadFlagPopupMenu((Item) jList1.getSelectedValue()).show(jList1, evt.getX(), evt.getY()); | ||
423 | } | ||
424 | }//GEN-LAST:event_jList1MouseReleased | ||
425 | |||
426 | private void jList1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MousePressed | ||
427 | int i = jList1.locationToIndex(evt.getPoint()); | ||
428 | if ((evt.isPopupTrigger()) && (i != -1)) | ||
429 | { | ||
430 | jList1.setSelectedIndex(i); | ||
431 | new UnreadFlagPopupMenu((Item) jList1.getSelectedValue()).show(jList1, evt.getX(), evt.getY()); | ||
432 | } | ||
433 | }//GEN-LAST:event_jList1MousePressed | ||
434 | |||
435 | private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed | ||
436 | Item[] items = Wrapper.getAllItem(); | ||
437 | int i = 0; | ||
438 | for (i=0; i < items.length; i++) | ||
439 | { | ||
440 | Wrapper.setUnreadFlagItem(items[i].getID(), false); | ||
441 | } | ||
442 | |||
443 | refreshItemPane(); | ||
444 | }//GEN-LAST:event_jMenuItem8ActionPerformed | ||
445 | |||
400 | // Variables declaration - do not modify//GEN-BEGIN:variables | 446 | // Variables declaration - do not modify//GEN-BEGIN:variables |
401 | private javax.swing.JList jList1; | 447 | private javax.swing.JList jList1; |
402 | private javax.swing.JMenu jMenu1; | 448 | private javax.swing.JMenu jMenu1; |
@@ -407,6 +453,7 @@ public class InstaDiscView extends FrameView { | |||
407 | private javax.swing.JMenuItem jMenuItem5; | 453 | private javax.swing.JMenuItem jMenuItem5; |
408 | private javax.swing.JMenuItem jMenuItem6; | 454 | private javax.swing.JMenuItem jMenuItem6; |
409 | private javax.swing.JMenuItem jMenuItem7; | 455 | private javax.swing.JMenuItem jMenuItem7; |
456 | private javax.swing.JMenuItem jMenuItem8; | ||
410 | private javax.swing.JScrollPane jScrollPane1; | 457 | private javax.swing.JScrollPane jScrollPane1; |
411 | private javax.swing.JSeparator jSeparator1; | 458 | private javax.swing.JSeparator jSeparator1; |
412 | private javax.swing.JPanel mainPanel; | 459 | private javax.swing.JPanel mainPanel; |
diff --git a/client/trunk/src/com/fourisland/instadisc/UnreadFlagPopupMenu.java b/client/trunk/src/com/fourisland/instadisc/UnreadFlagPopupMenu.java new file mode 100644 index 0000000..25cca54 --- /dev/null +++ b/client/trunk/src/com/fourisland/instadisc/UnreadFlagPopupMenu.java | |||
@@ -0,0 +1,37 @@ | |||
1 | package com.fourisland.instadisc; | ||
2 | |||
3 | import com.fourisland.instadisc.Database.Item; | ||
4 | import com.fourisland.instadisc.Database.Wrapper; | ||
5 | import java.awt.event.ActionEvent; | ||
6 | import java.awt.event.ActionListener; | ||
7 | import javax.swing.JList; | ||
8 | import javax.swing.JMenuItem; | ||
9 | import javax.swing.JPopupMenu; | ||
10 | |||
11 | public class UnreadFlagPopupMenu extends JPopupMenu | ||
12 | { | ||
13 | private Item item; | ||
14 | |||
15 | public UnreadFlagPopupMenu(Item item) | ||
16 | { | ||
17 | super(); | ||
18 | this.item = item; | ||
19 | |||
20 | JMenuItem action = new JMenuItem("Mark as " + (item.getUnread() ? "Read" : "Unread")); | ||
21 | action.addActionListener(new ActionListener() { | ||
22 | |||
23 | public void actionPerformed(ActionEvent arg0) { | ||
24 | flipUnreadFlag(); | ||
25 | } | ||
26 | }); | ||
27 | |||
28 | add(action); | ||
29 | } | ||
30 | |||
31 | private void flipUnreadFlag() | ||
32 | { | ||
33 | Wrapper.setUnreadFlagItem(item.getID(), !item.getUnread()); | ||
34 | |||
35 | ((InstaDiscView) InstaDiscApp.getApplication().getMainView()).refreshItemPane(); | ||
36 | } | ||
37 | } \ No newline at end of file | ||
diff --git a/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties index d7bcf10..927eecf 100644 --- a/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties +++ b/client/trunk/src/com/fourisland/instadisc/resources/InstaDiscView.properties | |||
@@ -38,3 +38,4 @@ jMenuItem4.text=Request Retained Items | |||
38 | jMenuItem5.text=Advanced Settings | 38 | jMenuItem5.text=Advanced Settings |
39 | jMenuItem6.text=InstaDisc Website | 39 | jMenuItem6.text=InstaDisc Website |
40 | jMenuItem7.text=Change Password | 40 | jMenuItem7.text=Change Password |
41 | jMenuItem8.text=Mark all as Read | ||