RemoveServiceMenuItem.qml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 2012 Róbert Márki
  4. **
  5. ** This file is part of Web Feeds.
  6. **
  7. ** Web Feeds is free software: you can redistribute it and/or modify
  8. ** it under the terms of the GNU General Public License as published by
  9. ** the Free Software Foundation, either version 3 of the License, or
  10. ** (at your option) any later version.
  11. **
  12. ** Web Feeds is distributed in the hope that it will be useful,
  13. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. ** GNU General Public License for more details.
  16. **
  17. ** You should have received a copy of the GNU General Public License
  18. ** along with Web Feeds. If not, see <http://www.gnu.org/licenses/>.
  19. ****************************************************************************/
  20. import QtQuick 1.1
  21. import com.nokia.meego 1.0
  22. import WebFeeds 1.0
  23. MenuItem {
  24. id: removeServiceMenuItem
  25. property bool __deleteAccepted: false
  26. text: qsTr("Remove account")
  27. onClicked: {
  28. menu.finished = false;
  29. deleteQueryDialog.open();
  30. }
  31. QueryDialog {
  32. id: deleteQueryDialog
  33. property bool __executed: false
  34. signal closed();
  35. titleText: qsTr("Remove account?")
  36. message: qsTr("All content related to this account will be deleted from your mobile")
  37. acceptButtonText: qsTr("Yes")
  38. rejectButtonText: qsTr("No")
  39. onAccepted: {
  40. removeServiceMenuItem.__deleteAccepted = true;
  41. }
  42. onStatusChanged: {
  43. if(status == DialogStatus.Opening) {
  44. __executed = true;
  45. }
  46. if(__executed && (status == DialogStatus.Closed)) {
  47. __executed = false;
  48. closed();
  49. }
  50. }
  51. onClosed: {
  52. if(removeServiceMenuItem.__deleteAccepted) {
  53. var service = menu.pageItem.service;
  54. service.clearAuthenticationData();
  55. menu.finished = true;
  56. }
  57. }
  58. }
  59. }