Changeset 484d4e2 for apps


Ignore:
Timestamp:
May 30, 2018 11:51:14 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
8b029db
Parents:
a7db82a
Message:

SusiMail?: Don't require confirmation to delete from Trash,
Clear reallydelete flag when clicking cancel or change folder

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/susimail/src/src/i2p/susi/webmail/WebMail.java

    ra7db82a r484d4e2  
    11021102                        } else if (buttonPressed(request, SWITCH_TO)) {
    11031103                                        state = State.LIST;
     1104                                        sessionObject.reallyDelete = false;
    11041105                        }
    11051106                } else if (buttonPressed(request, DOWNLOAD) ||
     
    15041505               
    15051506                if (buttonPressed(request, DELETE)) {
     1507                        MailCache mc = getCurrentMailCache(sessionObject, request);
     1508                        if (mc != null && mc.getFolderName().equals(DIR_TRASH)) {
     1509                                // Delete from Trash does not require confirmation
     1510                                mc.delete(showUIDL);
     1511                                mc.getFolder().removeElement(showUIDL);
     1512                                return null;
     1513                        }
    15061514                        // processRequest() will P-R-G to &delete=1
    15071515                        // We do not keep this indication in the session object.
     
    16751683                        Folder<String> folder = getCurrentFolder(sessionObject, request);
    16761684                        page = (folder != null) ? folder.getPages() : 1;
    1677                 }
    1678 
    1679                 if (buttonPressed(request, DELETE)) {
    1680                         int m = getCheckedItems(request).size();
     1685                } else if (buttonPressed(request, DELETE) ||
     1686                           buttonPressed(request, REALLYDELETE)) {
     1687                        List<String> b64uidls = getCheckedItems(request);
     1688                        int m = b64uidls.size();
    16811689                        if (m > 0) {
    1682                                 sessionObject.reallyDelete = true;
    1683                         } else {
    1684                                 sessionObject.reallyDelete = false;
    1685                                 sessionObject.error += _t("No messages marked for deletion.") + '\n';
    1686                         }
    1687                 }
    1688                 else {
    1689                         if( buttonPressed( request, REALLYDELETE ) ) {
    1690                                 List<String> toDelete = new ArrayList<String>();
    1691                                 for (String b64UIDL : getCheckedItems(request)) {
    1692                                         // This is the I2P Base64, not the encoder
    1693                                         String uidl = Base64.decodeToString(b64UIDL);
    1694                                         if (uidl != null)
    1695                                                 toDelete.add(uidl);
    1696                                 }
    1697                                 int numberDeleted = toDelete.size();
    1698                                 if (numberDeleted > 0) {
    1699                                         MailCache mc = getCurrentMailCache(sessionObject, request);
    1700                                         if (mc != null) {
     1690                                MailCache mc = getCurrentMailCache(sessionObject, request);
     1691                                if (mc == null) {
     1692                                        sessionObject.error += "Internal error, no folder\n";
     1693                                        sessionObject.reallyDelete = false;
     1694                                } else if (mc.getFolderName().equals(DIR_TRASH) ||
     1695                                           buttonPressed(request, REALLYDELETE)) {
     1696                                        // Delete from Trash does not require confirmation
     1697                                        List<String> toDelete = new ArrayList<String>(m);
     1698                                        for (String b64UIDL : b64uidls) {
     1699                                                // This is the I2P Base64, not the encoder
     1700                                                String uidl = Base64.decodeToString(b64UIDL);
     1701                                                if (uidl != null)
     1702                                                        toDelete.add(uidl);
     1703                                        }
     1704                                        int numberDeleted = toDelete.size();
     1705                                        if (numberDeleted > 0) {
    17011706                                                mc.delete(toDelete);
    17021707                                                mc.getFolder().removeElements(toDelete);
    17031708                                                sessionObject.pageChanged = true;
    17041709                                                sessionObject.info += ngettext("1 message deleted.", "{0} messages deleted.", numberDeleted);
     1710                                        } else {
     1711                                                sessionObject.error += _t("No messages marked for deletion.") + '\n';
    17051712                                        }
    1706                                         //sessionObject.error += _t("Error deleting message: {0}", sessionObject.mailbox.lastError()) + '\n';
    1707                                 }
    1708                         }
     1713                                        sessionObject.reallyDelete = false;
     1714                                } else {
     1715                                        // show 'really delete' message
     1716                                        sessionObject.reallyDelete = true;
     1717                                }
     1718                        } else {
     1719                                sessionObject.reallyDelete = false;
     1720                                sessionObject.error += _t("No messages marked for deletion.") + '\n';
     1721                        }
     1722                } else if (buttonPressed(request, CLEAR)) {
    17091723                        sessionObject.reallyDelete = false;
    17101724                }
Note: See TracChangeset for help on using the changeset viewer.