From e75ae48e76c07f604f8f9eb6fd0225427bb6a7b3 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 25 Sep 2015 03:02:05 +0000 Subject: [PATCH] generic: cleanup --- .../blogilo/src/{ui => }/addeditblogbase.ui | 0 .../src/{ui => }/advancedsettingsbase.ui | 0 .../blogilo/src/{ui => }/blogsettingsbase.ui | 0 .../src/{ui => }/editorsettingsbase.ui | 0 .../src/{ui => }/entriescountdialogbase.ui | 0 kdepim/blogilo/src/{ui => }/sendtoblogbase.ui | 0 kdepim/blogilo/src/{ui => }/settingsbase.ui | 0 kdepim/blogilo/src/{ui => }/toolboxbase.ui | 0 .../blogilo/src/{ui => }/uploadmediabase.ui | 0 kdepim/blogilo/src/{ui => }/waitwidgetbase.ui | 0 kdepim/composereditor-ng/CMakeLists.txt | 4 +- .../pagecolorbackgroundwidget.ui | 0 .../spellplugin/kspellplugin.cpp | 2 - .../spellplugin/kspellplugin.h | 5 +- .../spellplugin/qwebkitplatformplugin.h | 201 - .../smimevalidationconfigurationwidget.cpp | 1 + kdepim/kleopatra/kgpgconf/main.cpp | 2 + kdepim/kleopatra/kgpgconf/mainwindow.cpp | 2 + .../plugins/korganizer/kcmtodosummary.cpp | 1 + .../plugins/specialdates/kcmsdsummary.cpp | 1 + .../multiagendaviewconfigwidget.ui | 1 + kdepim/ktimetracker/historydialog.cpp | 1 + kdepim/libkleo/ui/directoryserviceswidget.cpp | 1 + kdepim/mobile/.krazy | 1 - kdepim/mobile/CMakeLists.txt | 19 - kdepim/mobile/api/CMakeLists.txt | 1 - kdepim/mobile/api/mail/CMakeLists.txt | 37 - kdepim/mobile/api/mail/composer.cpp | 185 - kdepim/mobile/api/mail/composer.h | 98 - kdepim/mobile/api/mail/error.cpp | 50 - kdepim/mobile/api/mail/error.h | 51 - kdepim/mobile/api/mail/mailplugin.cpp | 40 - kdepim/mobile/api/mail/mailplugin.h | 36 - kdepim/mobile/api/mail/message.cpp | 87 - kdepim/mobile/api/mail/message.h | 68 - kdepim/mobile/api/mail/qmldir | 1 - kdepim/mobile/api/mail/receivermodel.cpp | 155 - kdepim/mobile/api/mail/receivermodel.h | 60 - .../mobile/calendar/BulkActionComponent.qml | 41 - kdepim/mobile/calendar/CMakeLists.txt | 83 - kdepim/mobile/calendar/ConfigDialog.qml | 106 - kdepim/mobile/calendar/EventListComponent.qml | 91 - kdepim/mobile/calendar/EventListView.qml | 65 - kdepim/mobile/calendar/KorganizerActions.qml | 213 - kdepim/mobile/calendar/Messages.sh | 5 - kdepim/mobile/calendar/MonthViewComponent.qml | 79 - kdepim/mobile/calendar/TimelineView.qml | 73 - kdepim/mobile/calendar/agendaviewitem.cpp | 187 - kdepim/mobile/calendar/agendaviewitem.h | 103 - kdepim/mobile/calendar/calendarinterface.cpp | 186 - kdepim/mobile/calendar/calendarinterface.h | 104 - kdepim/mobile/calendar/configwidget.cpp | 294 - kdepim/mobile/calendar/configwidget.h | 105 - kdepim/mobile/calendar/configwidget.ui | 580 -- .../calendar/declarativewidgetwrapper.cpp | 41 - .../calendar/declarativewidgetwrapper.h | 63 - kdepim/mobile/calendar/eventlistproxy.cpp | 165 - kdepim/mobile/calendar/eventlistproxy.h | 63 - .../mobile/calendar/eventsexporthandler.cpp | 72 - kdepim/mobile/calendar/eventsexporthandler.h | 37 - .../calendar/eventsfilterproxymodel.cpp | 80 - .../mobile/calendar/eventsfilterproxymodel.h | 89 - .../mobile/calendar/eventsguistatemanager.cpp | 53 - .../mobile/calendar/eventsguistatemanager.h | 78 - .../mobile/calendar/eventsimporthandler.cpp | 106 - kdepim/mobile/calendar/eventsimporthandler.h | 39 - .../calendar/hi48-apps-korganizer-mobile.png | Bin 3427 -> 0 bytes .../calendar/hi64-apps-korganizer-mobile.png | Bin 5790 -> 0 bytes .../hi80-apps-korganizer-mobile-harmattan.png | Bin 6695 -> 0 bytes .../calendar/korganizer-mobile-background.png | Bin 620922 -> 0 bytes .../mobile/calendar/korganizer-mobile.desktop | 130 - kdepim/mobile/calendar/korganizer-mobile.ico | Bin 7926 -> 0 bytes kdepim/mobile/calendar/korganizer-mobile.qml | 599 -- kdepim/mobile/calendar/korganizer-mobile.rc | 1 - kdepim/mobile/calendar/main.cpp | 63 - kdepim/mobile/calendar/mainview.cpp | 762 --- kdepim/mobile/calendar/mainview.h | 135 - kdepim/mobile/calendar/monthviewitem.cpp | 104 - kdepim/mobile/calendar/monthviewitem.h | 68 - kdepim/mobile/calendar/qmldateedit.cpp | 50 - kdepim/mobile/calendar/qmldateedit.h | 47 - kdepim/mobile/calendar/searchwidget.cpp | 71 - kdepim/mobile/calendar/searchwidget.h | 58 - kdepim/mobile/calendar/searchwidget.ui | 223 - kdepim/mobile/calendar/settings.kcfg | 72 - kdepim/mobile/calendar/settings.kcfgc | 6 - kdepim/mobile/calendar/timelineviewitem.cpp | 170 - kdepim/mobile/calendar/timelineviewitem.h | 95 - .../mobile/contacts/BulkActionComponent.qml | 50 - kdepim/mobile/contacts/CMakeLists.txt | 100 - kdepim/mobile/contacts/ConfigDialog.qml | 88 - kdepim/mobile/contacts/ContactListView.qml | 62 - .../mobile/contacts/KAddressBookActions.qml | 140 - kdepim/mobile/contacts/Messages.sh | 4 - kdepim/mobile/contacts/configwidget.cpp | 100 - kdepim/mobile/contacts/configwidget.h | 63 - kdepim/mobile/contacts/configwidget.ui | 105 - kdepim/mobile/contacts/contact-editor.qml | 143 - .../contacts/contactcompletionmodel.cpp | 131 - .../contacts/contactcompletionmodel_p.h | 57 - kdepim/mobile/contacts/contacteditorview.cpp | 318 -- kdepim/mobile/contacts/contacteditorview.h | 80 - .../mobile/contacts/contactgroup-editor.qml | 43 - .../contacts/contactgroupeditorview.cpp | 236 - .../mobile/contacts/contactgroupeditorview.h | 68 - .../mobile/contacts/contactgroupviewitem.cpp | 62 - kdepim/mobile/contacts/contactgroupviewitem.h | 69 - kdepim/mobile/contacts/contactlistproxy.cpp | 152 - kdepim/mobile/contacts/contactlistproxy.h | 63 - kdepim/mobile/contacts/contactmetadata_p.h | 129 - .../mobile/contacts/contactsexporthandler.cpp | 138 - .../mobile/contacts/contactsexporthandler.h | 36 - .../contacts/contactsguistatemanager.cpp | 38 - .../mobile/contacts/contactsguistatemanager.h | 57 - .../mobile/contacts/contactsimporthandler.cpp | 112 - .../mobile/contacts/contactsimporthandler.h | 39 - kdepim/mobile/contacts/contactviewitem.cpp | 65 - kdepim/mobile/contacts/contactviewitem.h | 69 - .../contacts/customfieldeditordialog.cpp | 93 - .../mobile/contacts/customfieldeditordialog.h | 51 - .../mobile/contacts/customfieldeditwidget.cpp | 147 - .../mobile/contacts/customfieldeditwidget.h | 52 - kdepim/mobile/contacts/customfieldmanager.cpp | 65 - kdepim/mobile/contacts/customfieldmanager_p.h | 37 - kdepim/mobile/contacts/customfields.cpp | 143 - kdepim/mobile/contacts/customfields_p.h | 100 - .../mobile/contacts/displaynameeditwidget.cpp | 243 - .../mobile/contacts/displaynameeditwidget.h | 86 - kdepim/mobile/contacts/editorbase.cpp | 29 - kdepim/mobile/contacts/editorbase.h | 49 - kdepim/mobile/contacts/editorbusiness.cpp | 99 - kdepim/mobile/contacts/editorbusiness.h | 45 - kdepim/mobile/contacts/editorbusiness.ui | 164 - kdepim/mobile/contacts/editorcontactgroup.cpp | 322 -- kdepim/mobile/contacts/editorcontactgroup.h | 73 - kdepim/mobile/contacts/editorcontactgroup.ui | 117 - kdepim/mobile/contacts/editorcrypto.cpp | 132 - kdepim/mobile/contacts/editorcrypto.h | 42 - kdepim/mobile/contacts/editorcrypto.ui | 270 - kdepim/mobile/contacts/editorgeneral.cpp | 453 -- kdepim/mobile/contacts/editorgeneral.h | 72 - kdepim/mobile/contacts/editorgeneral.ui | 166 - kdepim/mobile/contacts/editorlocation.cpp | 223 - kdepim/mobile/contacts/editorlocation.h | 46 - kdepim/mobile/contacts/editorlocation.ui | 177 - kdepim/mobile/contacts/editormore.cpp | 451 -- kdepim/mobile/contacts/editormore.h | 56 - kdepim/mobile/contacts/editormore.ui | 86 - .../contacts/editormore_categoriespage.ui | 75 - .../contacts/editormore_customfieldspage.ui | 66 - .../contacts/editormore_internetpage.ui | 121 - kdepim/mobile/contacts/editormore_namepage.ui | 175 - .../contacts/editormore_personalpage.ui | 128 - .../hi48-apps-kaddressbook-mobile.png | Bin 3157 -> 0 bytes .../hi64-apps-kaddressbook-mobile.png | Bin 4613 -> 0 bytes ...i80-apps-kaddressbook-mobile-harmattan.png | Bin 6284 -> 0 bytes kdepim/mobile/contacts/imagewidget.cpp | 324 -- kdepim/mobile/contacts/imagewidget.h | 91 - .../kaddressbook-mobile-background.png | Bin 620119 -> 0 bytes .../contacts/kaddressbook-mobile.desktop | 81 - .../mobile/contacts/kaddressbook-mobile.ico | Bin 7926 -> 0 bytes .../mobile/contacts/kaddressbook-mobile.qml | 455 -- kdepim/mobile/contacts/kaddressbook-mobile.rc | 1 - kdepim/mobile/contacts/kwidgetlister.cpp | 96 - kdepim/mobile/contacts/kwidgetlister.h | 73 - kdepim/mobile/contacts/locationmodel.cpp | 211 - kdepim/mobile/contacts/locationmodel.h | 52 - kdepim/mobile/contacts/main.cpp | 56 - kdepim/mobile/contacts/mainview.cpp | 446 -- kdepim/mobile/contacts/mainview.h | 84 - kdepim/mobile/contacts/mobilelineedit.cpp | 84 - kdepim/mobile/contacts/mobilelineedit.h | 51 - .../mobile/contacts/namepartseditwidget.cpp | 130 - kdepim/mobile/contacts/namepartseditwidget.h | 57 - kdepim/mobile/contacts/phonetypecombo.cpp | 88 - kdepim/mobile/contacts/phonetypecombo.h | 65 - kdepim/mobile/contacts/searchwidget.cpp | 66 - kdepim/mobile/contacts/searchwidget.h | 58 - kdepim/mobile/contacts/searchwidget.ui | 170 - kdepim/mobile/contacts/settings.kcfg | 15 - kdepim/mobile/contacts/settings.kcfgc | 6 - kdepim/mobile/hi48-apps-kdepim-mobile.png | Bin 5501 -> 0 bytes kdepim/mobile/lib/AboutDialog.qml | 185 - kdepim/mobile/lib/AboutDialog.qml.org | 176 - kdepim/mobile/lib/Action.qml | 123 - kdepim/mobile/lib/ActionButton.qml | 49 - kdepim/mobile/lib/ActionList.qml | 92 - kdepim/mobile/lib/ActionListItem.qml | 83 - kdepim/mobile/lib/ActionMenuContainer.qml | 224 - .../lib/ActiveActionMenuItemDelegate.qml | 82 - kdepim/mobile/lib/AgentInstanceList.qml | 79 - .../mobile/lib/AgentInstanceListContainer.qml | 85 - .../mobile/lib/AgentInstanceListDelegate.qml | 98 - .../lib/AgentInstanceStatusIndicator.qml | 47 - kdepim/mobile/lib/AgentStatusIndicator.qml | 50 - .../mobile/lib/ApplicationGeneralActions.qml | 74 - kdepim/mobile/lib/AttachmentList.qml | 243 - kdepim/mobile/lib/BulkActionList.qml | 185 - kdepim/mobile/lib/BulkActionScreen.qml | 134 - kdepim/mobile/lib/Button.qml | 53 - kdepim/mobile/lib/Button2.qml | 103 - kdepim/mobile/lib/CMakeLists.txt | 127 - kdepim/mobile/lib/Calendar.qml | 276 - kdepim/mobile/lib/CalendarDay.qml | 54 - kdepim/mobile/lib/Clock.qml | 107 - kdepim/mobile/lib/CompletionSlider.qml | 60 - kdepim/mobile/lib/DecoratedListView.qml | 21 - kdepim/mobile/lib/FakeAction.qml | 53 - kdepim/mobile/lib/FavoriteManager.qml | 48 - kdepim/mobile/lib/ItemEditButton.qml | 25 - kdepim/mobile/lib/ItemListView.qml | 58 - kdepim/mobile/lib/ItemListViewDelegate.qml | 68 - kdepim/mobile/lib/MainView.qml | 28 - kdepim/mobile/lib/Messages.sh | 5 - .../mobile/lib/MultipleSelectionComponent.qml | 67 - kdepim/mobile/lib/MultipleSelectionScreen.qml | 84 - kdepim/mobile/lib/ReorderList.qml | 87 - kdepim/mobile/lib/ReorderListContainer.qml | 73 - kdepim/mobile/lib/ReorderListDelegate.qml | 47 - kdepim/mobile/lib/ScreenFunctions.js | 38 - kdepim/mobile/lib/ScriptAction.qml | 44 - kdepim/mobile/lib/ScriptActionItem.qml | 50 - kdepim/mobile/lib/SearchDialog.qml | 84 - kdepim/mobile/lib/SearchResultScreen.qml | 75 - kdepim/mobile/lib/StartCanvas.qml | 138 - kdepim/mobile/lib/Switch.qml | 81 - kdepim/mobile/lib/VerticalSelector.qml | 173 - kdepim/mobile/lib/actionhelper.cpp | 36 - kdepim/mobile/lib/actionhelper.h | 41 - kdepim/mobile/lib/agentstatusmonitor.cpp | 79 - kdepim/mobile/lib/agentstatusmonitor.h | 61 - .../akonadibreadcrumbnavigationfactory.cpp | 48 - .../lib/akonadibreadcrumbnavigationfactory.h | 45 - kdepim/mobile/lib/breadcrumbnavigation.cpp | 223 - kdepim/mobile/lib/breadcrumbnavigation.h | 100 - .../lib/breadcrumbnavigationcontext.cpp | 384 -- .../mobile/lib/breadcrumbnavigationcontext.h | 98 - kdepim/mobile/lib/calendar/CMakeLists.txt | 45 - kdepim/mobile/lib/calendar/CalendarDialog.qml | 205 - kdepim/mobile/lib/calendar/ClockDialog.qml | 353 -- kdepim/mobile/lib/calendar/MorePanel.qml | 94 - kdepim/mobile/lib/calendar/calendarhelper.cpp | 291 - kdepim/mobile/lib/calendar/calendarhelper.h | 88 - kdepim/mobile/lib/calendar/clockhelper.cpp | 210 - kdepim/mobile/lib/calendar/clockhelper.h | 92 - .../lib/calendar/declarativeeditors.cpp | 88 - .../mobile/lib/calendar/declarativeeditors.h | 103 - .../lib/calendar/groupwareuidelegate.cpp | 65 - .../mobile/lib/calendar/groupwareuidelegate.h | 43 - .../mobile/lib/calendar/incidence-editor.qml | 130 - kdepim/mobile/lib/calendar/incidenceview.cpp | 380 -- kdepim/mobile/lib/calendar/incidenceview.h | 115 - .../lib/calendar/kcalitembrowseritem.cpp | 81 - .../mobile/lib/calendar/kcalitembrowseritem.h | 85 - .../lib/calendar/mobileuicalendar_export.h | 39 - kdepim/mobile/lib/collectionfetchwatcher.cpp | 94 - kdepim/mobile/lib/collectionfetchwatcher.h | 81 - kdepim/mobile/lib/declarativeakonadiitem.cpp | 222 - kdepim/mobile/lib/declarativeakonadiitem.h | 88 - kdepim/mobile/lib/declarativewidgetbase.cpp | 65 - kdepim/mobile/lib/declarativewidgetbase.h | 79 - kdepim/mobile/lib/docs/CMakeLists.txt | 3 - kdepim/mobile/lib/docs/de/index.html | 26 - kdepim/mobile/lib/docs/en/index.html | 26 - kdepim/mobile/lib/exporthandlerbase.cpp | 116 - kdepim/mobile/lib/exporthandlerbase.h | 58 - kdepim/mobile/lib/favoritescontroller.cpp | 206 - kdepim/mobile/lib/favoritescontroller.h | 112 - kdepim/mobile/lib/favoriteseditor.cpp | 71 - kdepim/mobile/lib/favoriteseditor.h | 86 - kdepim/mobile/lib/favoriteslistmodel.cpp | 129 - kdepim/mobile/lib/favoriteslistmodel.h | 49 - kdepim/mobile/lib/guistatemanager.cpp | 168 - kdepim/mobile/lib/guistatemanager.h | 237 - kdepim/mobile/lib/hierarchyresolver.cpp | 87 - kdepim/mobile/lib/hierarchyresolver.h | 86 - kdepim/mobile/lib/images/CMakeLists.txt | 5 - kdepim/mobile/lib/images/activeactionitem.png | Bin 1177 -> 0 bytes kdepim/mobile/lib/images/activedate.png | Bin 295 -> 0 bytes .../mobile/lib/images/bulk-back-overlay.png | Bin 1441 -> 0 bytes .../lib/images/bulk-forward-overlay.png | Bin 1323 -> 0 bytes .../lib/images/button-border-active.png | Bin 1654 -> 0 bytes kdepim/mobile/lib/images/button-border.png | Bin 1587 -> 0 bytes .../mobile/lib/images/button-minus-active.png | Bin 228 -> 0 bytes .../lib/images/button-minus-disabled.png | Bin 232 -> 0 bytes kdepim/mobile/lib/images/button-minus.png | Bin 231 -> 0 bytes .../mobile/lib/images/button-plus-active.png | Bin 247 -> 0 bytes .../lib/images/button-plus-disabled.png | Bin 250 -> 0 bytes kdepim/mobile/lib/images/button-plus.png | Bin 247 -> 0 bytes kdepim/mobile/lib/images/check.png | Bin 3922 -> 0 bytes kdepim/mobile/lib/images/clock-background.png | Bin 28505 -> 0 bytes kdepim/mobile/lib/images/clock-center.png | Bin 1651 -> 0 bytes kdepim/mobile/lib/images/clock-hours.png | Bin 537 -> 0 bytes kdepim/mobile/lib/images/clock-minutes.png | Bin 575 -> 0 bytes kdepim/mobile/lib/images/clock-seconds.png | Bin 234 -> 0 bytes .../lib/images/dividing-line-horizontal.png | Bin 139 -> 0 bytes kdepim/mobile/lib/images/dividing-line.png | Bin 181 -> 0 bytes kdepim/mobile/lib/images/inactivedate.png | Bin 225 -> 0 bytes kdepim/mobile/lib/images/list-line-top.png | Bin 297 -> 0 bytes kdepim/mobile/lib/images/movedown.png | Bin 3694 -> 0 bytes kdepim/mobile/lib/images/moveup.png | Bin 3389 -> 0 bytes kdepim/mobile/lib/images/normaldate.png | Bin 279 -> 0 bytes .../lib/images/scrollinput-center-active.png | Bin 5323 -> 0 bytes .../mobile/lib/images/scrollinput-center.png | Bin 5323 -> 0 bytes .../lib/images/scrollinput-left-active.png | Bin 7883 -> 0 bytes kdepim/mobile/lib/images/scrollinput-left.png | Bin 7883 -> 0 bytes .../lib/images/scrollinput-right-active.png | Bin 7883 -> 0 bytes .../mobile/lib/images/scrollinput-right.png | Bin 7883 -> 0 bytes kdepim/mobile/lib/images/sliderbackground.png | Bin 2627 -> 0 bytes kdepim/mobile/lib/images/sliderhandle.png | Bin 1163 -> 0 bytes .../mobile/lib/images/status/CMakeLists.txt | 3 - kdepim/mobile/lib/images/status/offline.png | Bin 955 -> 0 bytes kdepim/mobile/lib/images/status/online.png | Bin 1689 -> 0 bytes kdepim/mobile/lib/images/status/receiving.png | Bin 1634 -> 0 bytes .../lib/images/status/sending-receiving.png | Bin 1825 -> 0 bytes kdepim/mobile/lib/images/status/sending.png | Bin 1605 -> 0 bytes kdepim/mobile/lib/importhandlerbase.cpp | 121 - kdepim/mobile/lib/importhandlerbase.h | 65 - kdepim/mobile/lib/kcolorcombo.cpp | 373 -- kdepim/mobile/lib/kcolorcombo.h | 119 - kdepim/mobile/lib/kdeclarativeapplication.cpp | 104 - kdepim/mobile/lib/kdeclarativeapplication.h | 87 - .../mobile/lib/kdeclarativefullscreenview.cpp | 262 - .../mobile/lib/kdeclarativefullscreenview.h | 101 - kdepim/mobile/lib/kdeclarativemainview.cpp | 1008 ---- kdepim/mobile/lib/kdeclarativemainview.h | 344 -- kdepim/mobile/lib/kdeclarativemainview_p.cpp | 177 - kdepim/mobile/lib/kdeclarativemainview_p.h | 107 - kdepim/mobile/lib/kresettingproxymodel.cpp | 50 - kdepim/mobile/lib/kresettingproxymodel.h | 47 - kdepim/mobile/lib/listproxy.cpp | 47 - kdepim/mobile/lib/listproxy.h | 44 - kdepim/mobile/lib/mobileui_export.h | 38 - .../mobile/lib/modelselectiontransition.cpp | 75 - kdepim/mobile/lib/modelselectiontransition.h | 52 - .../lib/orderedchildcollectionsmodel.cpp | 77 - .../mobile/lib/orderedchildcollectionsmodel.h | 41 - kdepim/mobile/lib/qmlcheckableproxymodel.h | 56 - kdepim/mobile/lib/qmldir | 44 - kdepim/mobile/lib/qmllistselectionmodel.cpp | 142 - kdepim/mobile/lib/qmllistselectionmodel.h | 81 - kdepim/mobile/lib/rangemanager.cpp | 85 - kdepim/mobile/lib/rangemanager_p.h | 78 - kdepim/mobile/lib/searchmanager.cpp | 80 - kdepim/mobile/lib/searchmanager.h | 96 - kdepim/mobile/lib/statemachinebuilder.cpp | 238 - kdepim/mobile/lib/statemachinebuilder.h | 78 - kdepim/mobile/lib/stylesheet.css.cmake | 296 - kdepim/mobile/lib/stylesheetloader.cpp | 69 - kdepim/mobile/lib/stylesheetloader.h | 49 - kdepim/mobile/lib/tests/CMakeLists.txt | 13 - .../lib/tests/bnf_selection/CMakeLists.txt | 22 - .../mobile/lib/tests/bnf_selection/main.cpp | 15 - .../lib/tests/bnf_selection/mainwindow.cpp | 66 - .../lib/tests/bnf_selection/mainwindow.h | 25 - kdepim/mobile/lib/tests/rangemanagertest.cpp | 161 - kdepim/mobile/lib/threadgroupermodel.cpp | 269 - kdepim/mobile/lib/threadgroupermodel.h | 155 - kdepim/mobile/lib/threadmodel.cpp | 325 -- kdepim/mobile/lib/threadmodel.h | 63 - kdepim/mobile/lib/threadselectionmodel.cpp | 95 - kdepim/mobile/lib/threadselectionmodel.h | 45 - kdepim/mobile/licenses/CMakeLists.txt | 14 - kdepim/mobile/licenses/licenses.pdf | Bin 1037908 -> 0 bytes kdepim/mobile/licenses/licenses.xml | 4931 ----------------- kdepim/mobile/mail/AboutPage.qml | 121 - kdepim/mobile/mail/AccountSettingsPage.qml | 49 - kdepim/mobile/mail/AccountsPage.qml | 138 - kdepim/mobile/mail/AclEditor.qml | 105 - kdepim/mobile/mail/AttachmentEditor.qml | 106 - kdepim/mobile/mail/CMakeLists.txt | 140 - kdepim/mobile/mail/ConfigDialog.qml | 84 - kdepim/mobile/mail/EditorView.qml | 172 - kdepim/mobile/mail/FavoriteManagerPage.qml | 63 - kdepim/mobile/mail/FilterEditor.qml | 106 - kdepim/mobile/mail/FolderPage.qml | 66 - kdepim/mobile/mail/KMailComposerActions.qml | 103 - kdepim/mobile/mail/MailListPage.qml | 306 - kdepim/mobile/mail/MailViewPage.qml | 79 - kdepim/mobile/mail/Messages.sh | 5 - kdepim/mobile/mail/SettingsPage.qml | 85 - kdepim/mobile/mail/SnippetsEditor.qml | 124 - kdepim/mobile/mail/SnippetsList.qml | 80 - kdepim/mobile/mail/acleditor.cpp | 90 - kdepim/mobile/mail/acleditor.h | 115 - kdepim/mobile/mail/add-attachment-button.png | Bin 3650 -> 0 bytes kdepim/mobile/mail/attachmenteditor.cpp | 120 - kdepim/mobile/mail/attachmenteditor.h | 82 - kdepim/mobile/mail/attachmentproxymodel.cpp | 91 - kdepim/mobile/mail/attachmentproxymodel.h | 61 - kdepim/mobile/mail/charsetselectiondialog.cpp | 65 - kdepim/mobile/mail/charsetselectiondialog.h | 64 - kdepim/mobile/mail/composerautoresizer.cpp | 86 - kdepim/mobile/mail/composerautoresizer.h | 44 - kdepim/mobile/mail/composerview.cpp | 655 --- kdepim/mobile/mail/composerview.h | 146 - kdepim/mobile/mail/configwidget.cpp | 202 - kdepim/mobile/mail/configwidget.h | 81 - kdepim/mobile/mail/configwidget.ui | 651 --- .../mail/cryptoformatselectiondialog.cpp | 53 - .../mobile/mail/cryptoformatselectiondialog.h | 66 - .../mail/declarativeidentitycombobox.cpp | 31 - .../mobile/mail/declarativeidentitycombobox.h | 38 - kdepim/mobile/mail/docs/CMakeLists.txt | 2 - kdepim/mobile/mail/docs/de/templateshelp.html | 313 -- kdepim/mobile/mail/docs/en/templateshelp.html | 313 -- kdepim/mobile/mail/dummy-avatar.png | Bin 2213 -> 0 bytes kdepim/mobile/mail/emailsexporthandler.cpp | 77 - kdepim/mobile/mail/emailsexporthandler.h | 36 - kdepim/mobile/mail/emailsfilterproxymodel.cpp | 87 - kdepim/mobile/mail/emailsfilterproxymodel.h | 89 - kdepim/mobile/mail/emailsimporthandler.cpp | 111 - kdepim/mobile/mail/emailsimporthandler.h | 39 - kdepim/mobile/mail/filtereditor.cpp | 52 - kdepim/mobile/mail/filtereditor.h | 70 - kdepim/mobile/mail/hi48-apps-kmail-mobile.png | Bin 3043 -> 0 bytes kdepim/mobile/mail/hi64-apps-kmail-mobile.png | Bin 4918 -> 0 bytes .../mail/hi80-apps-kmail-mobile-harmattan.png | Bin 7253 -> 0 bytes kdepim/mobile/mail/kmail-composer.qml | 167 - kdepim/mobile/mail/kmail-mobile.desktop | 81 - kdepim/mobile/mail/kmail-mobile.ico | Bin 7926 -> 0 bytes kdepim/mobile/mail/kmail-mobile.notifyrc | 180 - kdepim/mobile/mail/kmail-mobile.qml | 55 - kdepim/mobile/mail/kmail-mobile.rc | 1 - kdepim/mobile/mail/kmailmobileoptions.h | 38 - kdepim/mobile/mail/mailactionmanager.cpp | 171 - kdepim/mobile/mail/mailactionmanager.h | 50 - .../mail/mailthreadgroupercomparator.cpp | 380 -- .../mobile/mail/mailthreadgroupercomparator.h | 143 - kdepim/mobile/mail/main.cpp | 106 - kdepim/mobile/mail/mainview.cpp | 1924 ------- kdepim/mobile/mail/mainview.h | 239 - kdepim/mobile/mail/messagelistproxy.cpp | 180 - kdepim/mobile/mail/messagelistproxy.h | 54 - kdepim/mobile/mail/messagelistsettings.cpp | 162 - kdepim/mobile/mail/messagelistsettings.h | 79 - .../mail/messagelistsettingscontroller.cpp | 102 - .../mail/messagelistsettingscontroller.h | 62 - .../mobile/mail/messagelistsettingseditor.ui | 188 - kdepim/mobile/mail/messageviewitem.cpp | 138 - kdepim/mobile/mail/messageviewitem.h | 80 - kdepim/mobile/mail/mobilekernel.cpp | 143 - kdepim/mobile/mail/mobilekernel.h | 93 - .../mobile/mail/remove-attachment-button.png | Bin 3217 -> 0 bytes kdepim/mobile/mail/savemailcommand.cpp | 298 - kdepim/mobile/mail/savemailcommand_p.h | 78 - kdepim/mobile/mail/searchwidget.cpp | 70 - kdepim/mobile/mail/searchwidget.h | 58 - kdepim/mobile/mail/searchwidget.ui | 219 - kdepim/mobile/mail/settings.kcfg.cmake | 136 - kdepim/mobile/mail/settings.kcfgc | 6 - kdepim/mobile/mail/snippetseditor.cpp | 73 - kdepim/mobile/mail/snippetseditor.h | 78 - kdepim/mobile/mail/templateemailmodel.cpp | 33 - kdepim/mobile/mail/templateemailmodel.h | 39 - kdepim/mobile/mail/tests/CMakeLists.txt | 1 - .../mail/tests/StaticCollectionModel.qml | 31 - .../mobile/mail/tests/StaticMessageModel.qml | 260 - kdepim/mobile/mail/tests/folderviewtest.qml | 37 - kdepim/mobile/mail/tests/headerlisttest.qml | 37 - .../mobile/mail/toggle-encryption-button.png | Bin 2633 -> 0 bytes .../mobile/mail/toggle-signature-button.png | Bin 4497 -> 0 bytes kdepim/mobile/mail/vacationmanager.cpp | 111 - kdepim/mobile/mail/vacationmanager.h | 90 - kdepim/mobile/notes/BulkActionComponent.qml | 45 - kdepim/mobile/notes/CMakeLists.txt | 57 - kdepim/mobile/notes/Messages.sh | 5 - kdepim/mobile/notes/NoteActions.qml | 128 - kdepim/mobile/notes/NoteView.qml | 108 - kdepim/mobile/notes/NotesListView.qml | 146 - .../mobile/notes/hi48-apps-notes-mobile.png | Bin 2527 -> 0 bytes .../mobile/notes/hi64-apps-notes-mobile.png | Bin 3680 -> 0 bytes .../hi80-apps-notes-mobile-harmattan.png | Bin 6607 -> 0 bytes kdepim/mobile/notes/main.cpp | 47 - kdepim/mobile/notes/mainview.cpp | 377 -- kdepim/mobile/notes/mainview.h | 62 - kdepim/mobile/notes/notelistproxy.cpp | 87 - kdepim/mobile/notes/notelistproxy.h | 52 - .../mobile/notes/notes-mobile-background.png | Bin 620988 -> 0 bytes kdepim/mobile/notes/notes-mobile.desktop | 80 - kdepim/mobile/notes/notes-mobile.ico | Bin 7926 -> 0 bytes kdepim/mobile/notes/notes-mobile.rc | 1 - kdepim/mobile/notes/notes.qml | 371 -- kdepim/mobile/notes/notesexporthandler.cpp | 77 - kdepim/mobile/notes/notesexporthandler.h | 36 - kdepim/mobile/notes/notesfilterproxymodel.cpp | 80 - kdepim/mobile/notes/notesfilterproxymodel.h | 89 - kdepim/mobile/notes/notesimporthandler.cpp | 111 - kdepim/mobile/notes/notesimporthandler.h | 39 - kdepim/mobile/notes/searchwidget.cpp | 61 - kdepim/mobile/notes/searchwidget.h | 58 - kdepim/mobile/notes/searchwidget.ui | 152 - kdepim/mobile/pics/CMakeLists.txt | 12 - kdepim/mobile/pics/add-button.png | Bin 2321 -> 0 bytes kdepim/mobile/pics/back-to-list-button.png | Bin 2902 -> 0 bytes .../mobile/pics/built-on-the-kde-platform.png | Bin 12883 -> 0 bytes kdepim/mobile/pics/delete-button.png | Bin 4578 -> 0 bytes kdepim/mobile/pics/edit-button.png | Bin 4266 -> 0 bytes kdepim/mobile/pics/long-press-indicator.png | Bin 2217 -> 0 bytes kdepim/mobile/pics/movedown-button.png | Bin 3694 -> 0 bytes kdepim/mobile/pics/moveup-button.png | Bin 3389 -> 0 bytes kdepim/mobile/pics/splashscreenstatic.png | Bin 547591 -> 0 bytes kdepim/mobile/tasks/BulkActionComponent.qml | 43 - kdepim/mobile/tasks/CMakeLists.txt | 64 - kdepim/mobile/tasks/ConfigDialog.qml | 82 - kdepim/mobile/tasks/Messages.sh | 5 - kdepim/mobile/tasks/TaskActions.qml | 152 - kdepim/mobile/tasks/TaskListView.qml | 87 - kdepim/mobile/tasks/configwidget.cpp | 110 - kdepim/mobile/tasks/configwidget.h | 75 - kdepim/mobile/tasks/configwidget.ui | 158 - .../mobile/tasks/hi48-apps-tasks-mobile.png | Bin 3434 -> 0 bytes .../mobile/tasks/hi64-apps-tasks-mobile.png | Bin 4788 -> 0 bytes .../hi80-apps-tasks-mobile-harmattan.png | Bin 7045 -> 0 bytes kdepim/mobile/tasks/main.cpp | 59 - kdepim/mobile/tasks/mainview.cpp | 480 -- kdepim/mobile/tasks/mainview.h | 99 - kdepim/mobile/tasks/searchwidget.cpp | 70 - kdepim/mobile/tasks/searchwidget.h | 58 - kdepim/mobile/tasks/searchwidget.ui | 219 - kdepim/mobile/tasks/settings.kcfg | 23 - kdepim/mobile/tasks/settings.kcfgc | 6 - kdepim/mobile/tasks/tasklistproxy.cpp | 111 - kdepim/mobile/tasks/tasklistproxy.h | 57 - .../mobile/tasks/tasks-mobile-background.png | Bin 620650 -> 0 bytes kdepim/mobile/tasks/tasks-mobile.desktop | 52 - kdepim/mobile/tasks/tasks-mobile.ico | Bin 7926 -> 0 bytes kdepim/mobile/tasks/tasks-mobile.rc | 1 - kdepim/mobile/tasks/tasks.qml | 422 -- kdepim/mobile/tasks/tasksactionmanager.cpp | 115 - kdepim/mobile/tasks/tasksactionmanager.h | 49 - kdepim/mobile/tasks/tasksexporthandler.cpp | 72 - kdepim/mobile/tasks/tasksexporthandler.h | 36 - kdepim/mobile/tasks/tasksfilterproxymodel.cpp | 80 - kdepim/mobile/tasks/tasksfilterproxymodel.h | 89 - kdepim/mobile/tasks/tasksimporthandler.cpp | 106 - kdepim/mobile/tasks/tasksimporthandler.h | 39 - .../tasks/taskthreadgroupercomparator.cpp | 120 - .../tasks/taskthreadgroupercomparator.h | 56 - .../{ui => }/autocorrectionwidget.ui | 0 kdepimlibs/CMakeLists.txt | 1 - kdepimlibs/gpgme++/CMakeLists.txt | 18 +- 542 files changed, 21 insertions(+), 55789 deletions(-) rename kdepim/blogilo/src/{ui => }/addeditblogbase.ui (100%) rename kdepim/blogilo/src/{ui => }/advancedsettingsbase.ui (100%) rename kdepim/blogilo/src/{ui => }/blogsettingsbase.ui (100%) rename kdepim/blogilo/src/{ui => }/editorsettingsbase.ui (100%) rename kdepim/blogilo/src/{ui => }/entriescountdialogbase.ui (100%) rename kdepim/blogilo/src/{ui => }/sendtoblogbase.ui (100%) rename kdepim/blogilo/src/{ui => }/settingsbase.ui (100%) rename kdepim/blogilo/src/{ui => }/toolboxbase.ui (100%) rename kdepim/blogilo/src/{ui => }/uploadmediabase.ui (100%) rename kdepim/blogilo/src/{ui => }/waitwidgetbase.ui (100%) rename kdepim/composereditor-ng/{ui => pagecolor}/pagecolorbackgroundwidget.ui (100%) delete mode 100644 kdepim/composereditor-ng/spellplugin/qwebkitplatformplugin.h create mode 120000 kdepim/korganizer/views/multiagendaview/multiagendaviewconfigwidget.ui delete mode 100644 kdepim/mobile/.krazy delete mode 100644 kdepim/mobile/CMakeLists.txt delete mode 100644 kdepim/mobile/api/CMakeLists.txt delete mode 100644 kdepim/mobile/api/mail/CMakeLists.txt delete mode 100644 kdepim/mobile/api/mail/composer.cpp delete mode 100644 kdepim/mobile/api/mail/composer.h delete mode 100644 kdepim/mobile/api/mail/error.cpp delete mode 100644 kdepim/mobile/api/mail/error.h delete mode 100644 kdepim/mobile/api/mail/mailplugin.cpp delete mode 100644 kdepim/mobile/api/mail/mailplugin.h delete mode 100644 kdepim/mobile/api/mail/message.cpp delete mode 100644 kdepim/mobile/api/mail/message.h delete mode 100644 kdepim/mobile/api/mail/qmldir delete mode 100644 kdepim/mobile/api/mail/receivermodel.cpp delete mode 100644 kdepim/mobile/api/mail/receivermodel.h delete mode 100644 kdepim/mobile/calendar/BulkActionComponent.qml delete mode 100644 kdepim/mobile/calendar/CMakeLists.txt delete mode 100644 kdepim/mobile/calendar/ConfigDialog.qml delete mode 100644 kdepim/mobile/calendar/EventListComponent.qml delete mode 100644 kdepim/mobile/calendar/EventListView.qml delete mode 100644 kdepim/mobile/calendar/KorganizerActions.qml delete mode 100644 kdepim/mobile/calendar/Messages.sh delete mode 100644 kdepim/mobile/calendar/MonthViewComponent.qml delete mode 100644 kdepim/mobile/calendar/TimelineView.qml delete mode 100644 kdepim/mobile/calendar/agendaviewitem.cpp delete mode 100644 kdepim/mobile/calendar/agendaviewitem.h delete mode 100644 kdepim/mobile/calendar/calendarinterface.cpp delete mode 100644 kdepim/mobile/calendar/calendarinterface.h delete mode 100644 kdepim/mobile/calendar/configwidget.cpp delete mode 100644 kdepim/mobile/calendar/configwidget.h delete mode 100644 kdepim/mobile/calendar/configwidget.ui delete mode 100644 kdepim/mobile/calendar/declarativewidgetwrapper.cpp delete mode 100644 kdepim/mobile/calendar/declarativewidgetwrapper.h delete mode 100644 kdepim/mobile/calendar/eventlistproxy.cpp delete mode 100644 kdepim/mobile/calendar/eventlistproxy.h delete mode 100644 kdepim/mobile/calendar/eventsexporthandler.cpp delete mode 100644 kdepim/mobile/calendar/eventsexporthandler.h delete mode 100644 kdepim/mobile/calendar/eventsfilterproxymodel.cpp delete mode 100644 kdepim/mobile/calendar/eventsfilterproxymodel.h delete mode 100644 kdepim/mobile/calendar/eventsguistatemanager.cpp delete mode 100644 kdepim/mobile/calendar/eventsguistatemanager.h delete mode 100644 kdepim/mobile/calendar/eventsimporthandler.cpp delete mode 100644 kdepim/mobile/calendar/eventsimporthandler.h delete mode 100644 kdepim/mobile/calendar/hi48-apps-korganizer-mobile.png delete mode 100644 kdepim/mobile/calendar/hi64-apps-korganizer-mobile.png delete mode 100644 kdepim/mobile/calendar/hi80-apps-korganizer-mobile-harmattan.png delete mode 100644 kdepim/mobile/calendar/korganizer-mobile-background.png delete mode 100644 kdepim/mobile/calendar/korganizer-mobile.desktop delete mode 100644 kdepim/mobile/calendar/korganizer-mobile.ico delete mode 100644 kdepim/mobile/calendar/korganizer-mobile.qml delete mode 100644 kdepim/mobile/calendar/korganizer-mobile.rc delete mode 100644 kdepim/mobile/calendar/main.cpp delete mode 100644 kdepim/mobile/calendar/mainview.cpp delete mode 100644 kdepim/mobile/calendar/mainview.h delete mode 100644 kdepim/mobile/calendar/monthviewitem.cpp delete mode 100644 kdepim/mobile/calendar/monthviewitem.h delete mode 100644 kdepim/mobile/calendar/qmldateedit.cpp delete mode 100644 kdepim/mobile/calendar/qmldateedit.h delete mode 100644 kdepim/mobile/calendar/searchwidget.cpp delete mode 100644 kdepim/mobile/calendar/searchwidget.h delete mode 100644 kdepim/mobile/calendar/searchwidget.ui delete mode 100644 kdepim/mobile/calendar/settings.kcfg delete mode 100644 kdepim/mobile/calendar/settings.kcfgc delete mode 100644 kdepim/mobile/calendar/timelineviewitem.cpp delete mode 100644 kdepim/mobile/calendar/timelineviewitem.h delete mode 100644 kdepim/mobile/contacts/BulkActionComponent.qml delete mode 100644 kdepim/mobile/contacts/CMakeLists.txt delete mode 100644 kdepim/mobile/contacts/ConfigDialog.qml delete mode 100644 kdepim/mobile/contacts/ContactListView.qml delete mode 100644 kdepim/mobile/contacts/KAddressBookActions.qml delete mode 100644 kdepim/mobile/contacts/Messages.sh delete mode 100644 kdepim/mobile/contacts/configwidget.cpp delete mode 100644 kdepim/mobile/contacts/configwidget.h delete mode 100644 kdepim/mobile/contacts/configwidget.ui delete mode 100644 kdepim/mobile/contacts/contact-editor.qml delete mode 100644 kdepim/mobile/contacts/contactcompletionmodel.cpp delete mode 100644 kdepim/mobile/contacts/contactcompletionmodel_p.h delete mode 100644 kdepim/mobile/contacts/contacteditorview.cpp delete mode 100644 kdepim/mobile/contacts/contacteditorview.h delete mode 100644 kdepim/mobile/contacts/contactgroup-editor.qml delete mode 100644 kdepim/mobile/contacts/contactgroupeditorview.cpp delete mode 100644 kdepim/mobile/contacts/contactgroupeditorview.h delete mode 100644 kdepim/mobile/contacts/contactgroupviewitem.cpp delete mode 100644 kdepim/mobile/contacts/contactgroupviewitem.h delete mode 100644 kdepim/mobile/contacts/contactlistproxy.cpp delete mode 100644 kdepim/mobile/contacts/contactlistproxy.h delete mode 100644 kdepim/mobile/contacts/contactmetadata_p.h delete mode 100644 kdepim/mobile/contacts/contactsexporthandler.cpp delete mode 100644 kdepim/mobile/contacts/contactsexporthandler.h delete mode 100644 kdepim/mobile/contacts/contactsguistatemanager.cpp delete mode 100644 kdepim/mobile/contacts/contactsguistatemanager.h delete mode 100644 kdepim/mobile/contacts/contactsimporthandler.cpp delete mode 100644 kdepim/mobile/contacts/contactsimporthandler.h delete mode 100644 kdepim/mobile/contacts/contactviewitem.cpp delete mode 100644 kdepim/mobile/contacts/contactviewitem.h delete mode 100644 kdepim/mobile/contacts/customfieldeditordialog.cpp delete mode 100644 kdepim/mobile/contacts/customfieldeditordialog.h delete mode 100644 kdepim/mobile/contacts/customfieldeditwidget.cpp delete mode 100644 kdepim/mobile/contacts/customfieldeditwidget.h delete mode 100644 kdepim/mobile/contacts/customfieldmanager.cpp delete mode 100644 kdepim/mobile/contacts/customfieldmanager_p.h delete mode 100644 kdepim/mobile/contacts/customfields.cpp delete mode 100644 kdepim/mobile/contacts/customfields_p.h delete mode 100644 kdepim/mobile/contacts/displaynameeditwidget.cpp delete mode 100644 kdepim/mobile/contacts/displaynameeditwidget.h delete mode 100644 kdepim/mobile/contacts/editorbase.cpp delete mode 100644 kdepim/mobile/contacts/editorbase.h delete mode 100644 kdepim/mobile/contacts/editorbusiness.cpp delete mode 100644 kdepim/mobile/contacts/editorbusiness.h delete mode 100644 kdepim/mobile/contacts/editorbusiness.ui delete mode 100644 kdepim/mobile/contacts/editorcontactgroup.cpp delete mode 100644 kdepim/mobile/contacts/editorcontactgroup.h delete mode 100644 kdepim/mobile/contacts/editorcontactgroup.ui delete mode 100644 kdepim/mobile/contacts/editorcrypto.cpp delete mode 100644 kdepim/mobile/contacts/editorcrypto.h delete mode 100644 kdepim/mobile/contacts/editorcrypto.ui delete mode 100644 kdepim/mobile/contacts/editorgeneral.cpp delete mode 100644 kdepim/mobile/contacts/editorgeneral.h delete mode 100644 kdepim/mobile/contacts/editorgeneral.ui delete mode 100644 kdepim/mobile/contacts/editorlocation.cpp delete mode 100644 kdepim/mobile/contacts/editorlocation.h delete mode 100644 kdepim/mobile/contacts/editorlocation.ui delete mode 100644 kdepim/mobile/contacts/editormore.cpp delete mode 100644 kdepim/mobile/contacts/editormore.h delete mode 100644 kdepim/mobile/contacts/editormore.ui delete mode 100644 kdepim/mobile/contacts/editormore_categoriespage.ui delete mode 100644 kdepim/mobile/contacts/editormore_customfieldspage.ui delete mode 100644 kdepim/mobile/contacts/editormore_internetpage.ui delete mode 100644 kdepim/mobile/contacts/editormore_namepage.ui delete mode 100644 kdepim/mobile/contacts/editormore_personalpage.ui delete mode 100644 kdepim/mobile/contacts/hi48-apps-kaddressbook-mobile.png delete mode 100644 kdepim/mobile/contacts/hi64-apps-kaddressbook-mobile.png delete mode 100644 kdepim/mobile/contacts/hi80-apps-kaddressbook-mobile-harmattan.png delete mode 100644 kdepim/mobile/contacts/imagewidget.cpp delete mode 100644 kdepim/mobile/contacts/imagewidget.h delete mode 100644 kdepim/mobile/contacts/kaddressbook-mobile-background.png delete mode 100644 kdepim/mobile/contacts/kaddressbook-mobile.desktop delete mode 100644 kdepim/mobile/contacts/kaddressbook-mobile.ico delete mode 100644 kdepim/mobile/contacts/kaddressbook-mobile.qml delete mode 100644 kdepim/mobile/contacts/kaddressbook-mobile.rc delete mode 100644 kdepim/mobile/contacts/kwidgetlister.cpp delete mode 100644 kdepim/mobile/contacts/kwidgetlister.h delete mode 100644 kdepim/mobile/contacts/locationmodel.cpp delete mode 100644 kdepim/mobile/contacts/locationmodel.h delete mode 100644 kdepim/mobile/contacts/main.cpp delete mode 100644 kdepim/mobile/contacts/mainview.cpp delete mode 100644 kdepim/mobile/contacts/mainview.h delete mode 100644 kdepim/mobile/contacts/mobilelineedit.cpp delete mode 100644 kdepim/mobile/contacts/mobilelineedit.h delete mode 100644 kdepim/mobile/contacts/namepartseditwidget.cpp delete mode 100644 kdepim/mobile/contacts/namepartseditwidget.h delete mode 100644 kdepim/mobile/contacts/phonetypecombo.cpp delete mode 100644 kdepim/mobile/contacts/phonetypecombo.h delete mode 100644 kdepim/mobile/contacts/searchwidget.cpp delete mode 100644 kdepim/mobile/contacts/searchwidget.h delete mode 100644 kdepim/mobile/contacts/searchwidget.ui delete mode 100644 kdepim/mobile/contacts/settings.kcfg delete mode 100644 kdepim/mobile/contacts/settings.kcfgc delete mode 100644 kdepim/mobile/hi48-apps-kdepim-mobile.png delete mode 100644 kdepim/mobile/lib/AboutDialog.qml delete mode 100644 kdepim/mobile/lib/AboutDialog.qml.org delete mode 100644 kdepim/mobile/lib/Action.qml delete mode 100644 kdepim/mobile/lib/ActionButton.qml delete mode 100644 kdepim/mobile/lib/ActionList.qml delete mode 100644 kdepim/mobile/lib/ActionListItem.qml delete mode 100644 kdepim/mobile/lib/ActionMenuContainer.qml delete mode 100644 kdepim/mobile/lib/ActiveActionMenuItemDelegate.qml delete mode 100644 kdepim/mobile/lib/AgentInstanceList.qml delete mode 100644 kdepim/mobile/lib/AgentInstanceListContainer.qml delete mode 100644 kdepim/mobile/lib/AgentInstanceListDelegate.qml delete mode 100644 kdepim/mobile/lib/AgentInstanceStatusIndicator.qml delete mode 100644 kdepim/mobile/lib/AgentStatusIndicator.qml delete mode 100644 kdepim/mobile/lib/ApplicationGeneralActions.qml delete mode 100644 kdepim/mobile/lib/AttachmentList.qml delete mode 100644 kdepim/mobile/lib/BulkActionList.qml delete mode 100644 kdepim/mobile/lib/BulkActionScreen.qml delete mode 100644 kdepim/mobile/lib/Button.qml delete mode 100644 kdepim/mobile/lib/Button2.qml delete mode 100644 kdepim/mobile/lib/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/Calendar.qml delete mode 100644 kdepim/mobile/lib/CalendarDay.qml delete mode 100644 kdepim/mobile/lib/Clock.qml delete mode 100644 kdepim/mobile/lib/CompletionSlider.qml delete mode 100644 kdepim/mobile/lib/DecoratedListView.qml delete mode 100644 kdepim/mobile/lib/FakeAction.qml delete mode 100644 kdepim/mobile/lib/FavoriteManager.qml delete mode 100644 kdepim/mobile/lib/ItemEditButton.qml delete mode 100644 kdepim/mobile/lib/ItemListView.qml delete mode 100644 kdepim/mobile/lib/ItemListViewDelegate.qml delete mode 100644 kdepim/mobile/lib/MainView.qml delete mode 100644 kdepim/mobile/lib/Messages.sh delete mode 100644 kdepim/mobile/lib/MultipleSelectionComponent.qml delete mode 100644 kdepim/mobile/lib/MultipleSelectionScreen.qml delete mode 100644 kdepim/mobile/lib/ReorderList.qml delete mode 100644 kdepim/mobile/lib/ReorderListContainer.qml delete mode 100644 kdepim/mobile/lib/ReorderListDelegate.qml delete mode 100644 kdepim/mobile/lib/ScreenFunctions.js delete mode 100644 kdepim/mobile/lib/ScriptAction.qml delete mode 100644 kdepim/mobile/lib/ScriptActionItem.qml delete mode 100644 kdepim/mobile/lib/SearchDialog.qml delete mode 100644 kdepim/mobile/lib/SearchResultScreen.qml delete mode 100644 kdepim/mobile/lib/StartCanvas.qml delete mode 100644 kdepim/mobile/lib/Switch.qml delete mode 100644 kdepim/mobile/lib/VerticalSelector.qml delete mode 100644 kdepim/mobile/lib/actionhelper.cpp delete mode 100644 kdepim/mobile/lib/actionhelper.h delete mode 100644 kdepim/mobile/lib/agentstatusmonitor.cpp delete mode 100644 kdepim/mobile/lib/agentstatusmonitor.h delete mode 100644 kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.cpp delete mode 100644 kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.h delete mode 100644 kdepim/mobile/lib/breadcrumbnavigation.cpp delete mode 100644 kdepim/mobile/lib/breadcrumbnavigation.h delete mode 100644 kdepim/mobile/lib/breadcrumbnavigationcontext.cpp delete mode 100644 kdepim/mobile/lib/breadcrumbnavigationcontext.h delete mode 100644 kdepim/mobile/lib/calendar/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/calendar/CalendarDialog.qml delete mode 100644 kdepim/mobile/lib/calendar/ClockDialog.qml delete mode 100644 kdepim/mobile/lib/calendar/MorePanel.qml delete mode 100644 kdepim/mobile/lib/calendar/calendarhelper.cpp delete mode 100644 kdepim/mobile/lib/calendar/calendarhelper.h delete mode 100644 kdepim/mobile/lib/calendar/clockhelper.cpp delete mode 100644 kdepim/mobile/lib/calendar/clockhelper.h delete mode 100644 kdepim/mobile/lib/calendar/declarativeeditors.cpp delete mode 100644 kdepim/mobile/lib/calendar/declarativeeditors.h delete mode 100644 kdepim/mobile/lib/calendar/groupwareuidelegate.cpp delete mode 100644 kdepim/mobile/lib/calendar/groupwareuidelegate.h delete mode 100644 kdepim/mobile/lib/calendar/incidence-editor.qml delete mode 100644 kdepim/mobile/lib/calendar/incidenceview.cpp delete mode 100644 kdepim/mobile/lib/calendar/incidenceview.h delete mode 100644 kdepim/mobile/lib/calendar/kcalitembrowseritem.cpp delete mode 100644 kdepim/mobile/lib/calendar/kcalitembrowseritem.h delete mode 100644 kdepim/mobile/lib/calendar/mobileuicalendar_export.h delete mode 100644 kdepim/mobile/lib/collectionfetchwatcher.cpp delete mode 100644 kdepim/mobile/lib/collectionfetchwatcher.h delete mode 100644 kdepim/mobile/lib/declarativeakonadiitem.cpp delete mode 100644 kdepim/mobile/lib/declarativeakonadiitem.h delete mode 100644 kdepim/mobile/lib/declarativewidgetbase.cpp delete mode 100644 kdepim/mobile/lib/declarativewidgetbase.h delete mode 100644 kdepim/mobile/lib/docs/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/docs/de/index.html delete mode 100644 kdepim/mobile/lib/docs/en/index.html delete mode 100644 kdepim/mobile/lib/exporthandlerbase.cpp delete mode 100644 kdepim/mobile/lib/exporthandlerbase.h delete mode 100644 kdepim/mobile/lib/favoritescontroller.cpp delete mode 100644 kdepim/mobile/lib/favoritescontroller.h delete mode 100644 kdepim/mobile/lib/favoriteseditor.cpp delete mode 100644 kdepim/mobile/lib/favoriteseditor.h delete mode 100644 kdepim/mobile/lib/favoriteslistmodel.cpp delete mode 100644 kdepim/mobile/lib/favoriteslistmodel.h delete mode 100644 kdepim/mobile/lib/guistatemanager.cpp delete mode 100644 kdepim/mobile/lib/guistatemanager.h delete mode 100644 kdepim/mobile/lib/hierarchyresolver.cpp delete mode 100644 kdepim/mobile/lib/hierarchyresolver.h delete mode 100644 kdepim/mobile/lib/images/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/images/activeactionitem.png delete mode 100644 kdepim/mobile/lib/images/activedate.png delete mode 100644 kdepim/mobile/lib/images/bulk-back-overlay.png delete mode 100644 kdepim/mobile/lib/images/bulk-forward-overlay.png delete mode 100644 kdepim/mobile/lib/images/button-border-active.png delete mode 100644 kdepim/mobile/lib/images/button-border.png delete mode 100644 kdepim/mobile/lib/images/button-minus-active.png delete mode 100644 kdepim/mobile/lib/images/button-minus-disabled.png delete mode 100644 kdepim/mobile/lib/images/button-minus.png delete mode 100644 kdepim/mobile/lib/images/button-plus-active.png delete mode 100644 kdepim/mobile/lib/images/button-plus-disabled.png delete mode 100644 kdepim/mobile/lib/images/button-plus.png delete mode 100644 kdepim/mobile/lib/images/check.png delete mode 100644 kdepim/mobile/lib/images/clock-background.png delete mode 100644 kdepim/mobile/lib/images/clock-center.png delete mode 100644 kdepim/mobile/lib/images/clock-hours.png delete mode 100644 kdepim/mobile/lib/images/clock-minutes.png delete mode 100644 kdepim/mobile/lib/images/clock-seconds.png delete mode 100644 kdepim/mobile/lib/images/dividing-line-horizontal.png delete mode 100644 kdepim/mobile/lib/images/dividing-line.png delete mode 100644 kdepim/mobile/lib/images/inactivedate.png delete mode 100644 kdepim/mobile/lib/images/list-line-top.png delete mode 100644 kdepim/mobile/lib/images/movedown.png delete mode 100644 kdepim/mobile/lib/images/moveup.png delete mode 100644 kdepim/mobile/lib/images/normaldate.png delete mode 100644 kdepim/mobile/lib/images/scrollinput-center-active.png delete mode 100644 kdepim/mobile/lib/images/scrollinput-center.png delete mode 100644 kdepim/mobile/lib/images/scrollinput-left-active.png delete mode 100644 kdepim/mobile/lib/images/scrollinput-left.png delete mode 100644 kdepim/mobile/lib/images/scrollinput-right-active.png delete mode 100644 kdepim/mobile/lib/images/scrollinput-right.png delete mode 100644 kdepim/mobile/lib/images/sliderbackground.png delete mode 100644 kdepim/mobile/lib/images/sliderhandle.png delete mode 100644 kdepim/mobile/lib/images/status/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/images/status/offline.png delete mode 100644 kdepim/mobile/lib/images/status/online.png delete mode 100644 kdepim/mobile/lib/images/status/receiving.png delete mode 100644 kdepim/mobile/lib/images/status/sending-receiving.png delete mode 100644 kdepim/mobile/lib/images/status/sending.png delete mode 100644 kdepim/mobile/lib/importhandlerbase.cpp delete mode 100644 kdepim/mobile/lib/importhandlerbase.h delete mode 100644 kdepim/mobile/lib/kcolorcombo.cpp delete mode 100644 kdepim/mobile/lib/kcolorcombo.h delete mode 100644 kdepim/mobile/lib/kdeclarativeapplication.cpp delete mode 100644 kdepim/mobile/lib/kdeclarativeapplication.h delete mode 100644 kdepim/mobile/lib/kdeclarativefullscreenview.cpp delete mode 100644 kdepim/mobile/lib/kdeclarativefullscreenview.h delete mode 100644 kdepim/mobile/lib/kdeclarativemainview.cpp delete mode 100644 kdepim/mobile/lib/kdeclarativemainview.h delete mode 100644 kdepim/mobile/lib/kdeclarativemainview_p.cpp delete mode 100644 kdepim/mobile/lib/kdeclarativemainview_p.h delete mode 100644 kdepim/mobile/lib/kresettingproxymodel.cpp delete mode 100644 kdepim/mobile/lib/kresettingproxymodel.h delete mode 100644 kdepim/mobile/lib/listproxy.cpp delete mode 100644 kdepim/mobile/lib/listproxy.h delete mode 100644 kdepim/mobile/lib/mobileui_export.h delete mode 100644 kdepim/mobile/lib/modelselectiontransition.cpp delete mode 100644 kdepim/mobile/lib/modelselectiontransition.h delete mode 100644 kdepim/mobile/lib/orderedchildcollectionsmodel.cpp delete mode 100644 kdepim/mobile/lib/orderedchildcollectionsmodel.h delete mode 100644 kdepim/mobile/lib/qmlcheckableproxymodel.h delete mode 100644 kdepim/mobile/lib/qmldir delete mode 100644 kdepim/mobile/lib/qmllistselectionmodel.cpp delete mode 100644 kdepim/mobile/lib/qmllistselectionmodel.h delete mode 100644 kdepim/mobile/lib/rangemanager.cpp delete mode 100644 kdepim/mobile/lib/rangemanager_p.h delete mode 100644 kdepim/mobile/lib/searchmanager.cpp delete mode 100644 kdepim/mobile/lib/searchmanager.h delete mode 100644 kdepim/mobile/lib/statemachinebuilder.cpp delete mode 100644 kdepim/mobile/lib/statemachinebuilder.h delete mode 100644 kdepim/mobile/lib/stylesheet.css.cmake delete mode 100644 kdepim/mobile/lib/stylesheetloader.cpp delete mode 100644 kdepim/mobile/lib/stylesheetloader.h delete mode 100644 kdepim/mobile/lib/tests/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/tests/bnf_selection/CMakeLists.txt delete mode 100644 kdepim/mobile/lib/tests/bnf_selection/main.cpp delete mode 100644 kdepim/mobile/lib/tests/bnf_selection/mainwindow.cpp delete mode 100644 kdepim/mobile/lib/tests/bnf_selection/mainwindow.h delete mode 100644 kdepim/mobile/lib/tests/rangemanagertest.cpp delete mode 100644 kdepim/mobile/lib/threadgroupermodel.cpp delete mode 100644 kdepim/mobile/lib/threadgroupermodel.h delete mode 100644 kdepim/mobile/lib/threadmodel.cpp delete mode 100644 kdepim/mobile/lib/threadmodel.h delete mode 100644 kdepim/mobile/lib/threadselectionmodel.cpp delete mode 100644 kdepim/mobile/lib/threadselectionmodel.h delete mode 100644 kdepim/mobile/licenses/CMakeLists.txt delete mode 100644 kdepim/mobile/licenses/licenses.pdf delete mode 100644 kdepim/mobile/licenses/licenses.xml delete mode 100644 kdepim/mobile/mail/AboutPage.qml delete mode 100644 kdepim/mobile/mail/AccountSettingsPage.qml delete mode 100644 kdepim/mobile/mail/AccountsPage.qml delete mode 100644 kdepim/mobile/mail/AclEditor.qml delete mode 100644 kdepim/mobile/mail/AttachmentEditor.qml delete mode 100644 kdepim/mobile/mail/CMakeLists.txt delete mode 100644 kdepim/mobile/mail/ConfigDialog.qml delete mode 100644 kdepim/mobile/mail/EditorView.qml delete mode 100644 kdepim/mobile/mail/FavoriteManagerPage.qml delete mode 100644 kdepim/mobile/mail/FilterEditor.qml delete mode 100644 kdepim/mobile/mail/FolderPage.qml delete mode 100644 kdepim/mobile/mail/KMailComposerActions.qml delete mode 100644 kdepim/mobile/mail/MailListPage.qml delete mode 100644 kdepim/mobile/mail/MailViewPage.qml delete mode 100644 kdepim/mobile/mail/Messages.sh delete mode 100644 kdepim/mobile/mail/SettingsPage.qml delete mode 100644 kdepim/mobile/mail/SnippetsEditor.qml delete mode 100644 kdepim/mobile/mail/SnippetsList.qml delete mode 100644 kdepim/mobile/mail/acleditor.cpp delete mode 100644 kdepim/mobile/mail/acleditor.h delete mode 100644 kdepim/mobile/mail/add-attachment-button.png delete mode 100644 kdepim/mobile/mail/attachmenteditor.cpp delete mode 100644 kdepim/mobile/mail/attachmenteditor.h delete mode 100644 kdepim/mobile/mail/attachmentproxymodel.cpp delete mode 100644 kdepim/mobile/mail/attachmentproxymodel.h delete mode 100644 kdepim/mobile/mail/charsetselectiondialog.cpp delete mode 100644 kdepim/mobile/mail/charsetselectiondialog.h delete mode 100644 kdepim/mobile/mail/composerautoresizer.cpp delete mode 100644 kdepim/mobile/mail/composerautoresizer.h delete mode 100644 kdepim/mobile/mail/composerview.cpp delete mode 100644 kdepim/mobile/mail/composerview.h delete mode 100644 kdepim/mobile/mail/configwidget.cpp delete mode 100644 kdepim/mobile/mail/configwidget.h delete mode 100644 kdepim/mobile/mail/configwidget.ui delete mode 100644 kdepim/mobile/mail/cryptoformatselectiondialog.cpp delete mode 100644 kdepim/mobile/mail/cryptoformatselectiondialog.h delete mode 100644 kdepim/mobile/mail/declarativeidentitycombobox.cpp delete mode 100644 kdepim/mobile/mail/declarativeidentitycombobox.h delete mode 100644 kdepim/mobile/mail/docs/CMakeLists.txt delete mode 100644 kdepim/mobile/mail/docs/de/templateshelp.html delete mode 100644 kdepim/mobile/mail/docs/en/templateshelp.html delete mode 100644 kdepim/mobile/mail/dummy-avatar.png delete mode 100644 kdepim/mobile/mail/emailsexporthandler.cpp delete mode 100644 kdepim/mobile/mail/emailsexporthandler.h delete mode 100644 kdepim/mobile/mail/emailsfilterproxymodel.cpp delete mode 100644 kdepim/mobile/mail/emailsfilterproxymodel.h delete mode 100644 kdepim/mobile/mail/emailsimporthandler.cpp delete mode 100644 kdepim/mobile/mail/emailsimporthandler.h delete mode 100644 kdepim/mobile/mail/filtereditor.cpp delete mode 100644 kdepim/mobile/mail/filtereditor.h delete mode 100644 kdepim/mobile/mail/hi48-apps-kmail-mobile.png delete mode 100644 kdepim/mobile/mail/hi64-apps-kmail-mobile.png delete mode 100644 kdepim/mobile/mail/hi80-apps-kmail-mobile-harmattan.png delete mode 100644 kdepim/mobile/mail/kmail-composer.qml delete mode 100644 kdepim/mobile/mail/kmail-mobile.desktop delete mode 100644 kdepim/mobile/mail/kmail-mobile.ico delete mode 100644 kdepim/mobile/mail/kmail-mobile.notifyrc delete mode 100644 kdepim/mobile/mail/kmail-mobile.qml delete mode 100644 kdepim/mobile/mail/kmail-mobile.rc delete mode 100644 kdepim/mobile/mail/kmailmobileoptions.h delete mode 100644 kdepim/mobile/mail/mailactionmanager.cpp delete mode 100644 kdepim/mobile/mail/mailactionmanager.h delete mode 100644 kdepim/mobile/mail/mailthreadgroupercomparator.cpp delete mode 100644 kdepim/mobile/mail/mailthreadgroupercomparator.h delete mode 100644 kdepim/mobile/mail/main.cpp delete mode 100644 kdepim/mobile/mail/mainview.cpp delete mode 100644 kdepim/mobile/mail/mainview.h delete mode 100644 kdepim/mobile/mail/messagelistproxy.cpp delete mode 100644 kdepim/mobile/mail/messagelistproxy.h delete mode 100644 kdepim/mobile/mail/messagelistsettings.cpp delete mode 100644 kdepim/mobile/mail/messagelistsettings.h delete mode 100644 kdepim/mobile/mail/messagelistsettingscontroller.cpp delete mode 100644 kdepim/mobile/mail/messagelistsettingscontroller.h delete mode 100644 kdepim/mobile/mail/messagelistsettingseditor.ui delete mode 100644 kdepim/mobile/mail/messageviewitem.cpp delete mode 100644 kdepim/mobile/mail/messageviewitem.h delete mode 100644 kdepim/mobile/mail/mobilekernel.cpp delete mode 100644 kdepim/mobile/mail/mobilekernel.h delete mode 100644 kdepim/mobile/mail/remove-attachment-button.png delete mode 100644 kdepim/mobile/mail/savemailcommand.cpp delete mode 100644 kdepim/mobile/mail/savemailcommand_p.h delete mode 100644 kdepim/mobile/mail/searchwidget.cpp delete mode 100644 kdepim/mobile/mail/searchwidget.h delete mode 100644 kdepim/mobile/mail/searchwidget.ui delete mode 100644 kdepim/mobile/mail/settings.kcfg.cmake delete mode 100644 kdepim/mobile/mail/settings.kcfgc delete mode 100644 kdepim/mobile/mail/snippetseditor.cpp delete mode 100644 kdepim/mobile/mail/snippetseditor.h delete mode 100644 kdepim/mobile/mail/templateemailmodel.cpp delete mode 100644 kdepim/mobile/mail/templateemailmodel.h delete mode 100644 kdepim/mobile/mail/tests/CMakeLists.txt delete mode 100644 kdepim/mobile/mail/tests/StaticCollectionModel.qml delete mode 100644 kdepim/mobile/mail/tests/StaticMessageModel.qml delete mode 100644 kdepim/mobile/mail/tests/folderviewtest.qml delete mode 100644 kdepim/mobile/mail/tests/headerlisttest.qml delete mode 100644 kdepim/mobile/mail/toggle-encryption-button.png delete mode 100644 kdepim/mobile/mail/toggle-signature-button.png delete mode 100644 kdepim/mobile/mail/vacationmanager.cpp delete mode 100644 kdepim/mobile/mail/vacationmanager.h delete mode 100644 kdepim/mobile/notes/BulkActionComponent.qml delete mode 100644 kdepim/mobile/notes/CMakeLists.txt delete mode 100644 kdepim/mobile/notes/Messages.sh delete mode 100644 kdepim/mobile/notes/NoteActions.qml delete mode 100644 kdepim/mobile/notes/NoteView.qml delete mode 100644 kdepim/mobile/notes/NotesListView.qml delete mode 100644 kdepim/mobile/notes/hi48-apps-notes-mobile.png delete mode 100644 kdepim/mobile/notes/hi64-apps-notes-mobile.png delete mode 100644 kdepim/mobile/notes/hi80-apps-notes-mobile-harmattan.png delete mode 100644 kdepim/mobile/notes/main.cpp delete mode 100644 kdepim/mobile/notes/mainview.cpp delete mode 100644 kdepim/mobile/notes/mainview.h delete mode 100644 kdepim/mobile/notes/notelistproxy.cpp delete mode 100644 kdepim/mobile/notes/notelistproxy.h delete mode 100644 kdepim/mobile/notes/notes-mobile-background.png delete mode 100644 kdepim/mobile/notes/notes-mobile.desktop delete mode 100644 kdepim/mobile/notes/notes-mobile.ico delete mode 100644 kdepim/mobile/notes/notes-mobile.rc delete mode 100644 kdepim/mobile/notes/notes.qml delete mode 100644 kdepim/mobile/notes/notesexporthandler.cpp delete mode 100644 kdepim/mobile/notes/notesexporthandler.h delete mode 100644 kdepim/mobile/notes/notesfilterproxymodel.cpp delete mode 100644 kdepim/mobile/notes/notesfilterproxymodel.h delete mode 100644 kdepim/mobile/notes/notesimporthandler.cpp delete mode 100644 kdepim/mobile/notes/notesimporthandler.h delete mode 100644 kdepim/mobile/notes/searchwidget.cpp delete mode 100644 kdepim/mobile/notes/searchwidget.h delete mode 100644 kdepim/mobile/notes/searchwidget.ui delete mode 100644 kdepim/mobile/pics/CMakeLists.txt delete mode 100644 kdepim/mobile/pics/add-button.png delete mode 100644 kdepim/mobile/pics/back-to-list-button.png delete mode 100644 kdepim/mobile/pics/built-on-the-kde-platform.png delete mode 100644 kdepim/mobile/pics/delete-button.png delete mode 100644 kdepim/mobile/pics/edit-button.png delete mode 100644 kdepim/mobile/pics/long-press-indicator.png delete mode 100644 kdepim/mobile/pics/movedown-button.png delete mode 100644 kdepim/mobile/pics/moveup-button.png delete mode 100644 kdepim/mobile/pics/splashscreenstatic.png delete mode 100644 kdepim/mobile/tasks/BulkActionComponent.qml delete mode 100644 kdepim/mobile/tasks/CMakeLists.txt delete mode 100644 kdepim/mobile/tasks/ConfigDialog.qml delete mode 100644 kdepim/mobile/tasks/Messages.sh delete mode 100644 kdepim/mobile/tasks/TaskActions.qml delete mode 100644 kdepim/mobile/tasks/TaskListView.qml delete mode 100644 kdepim/mobile/tasks/configwidget.cpp delete mode 100644 kdepim/mobile/tasks/configwidget.h delete mode 100644 kdepim/mobile/tasks/configwidget.ui delete mode 100644 kdepim/mobile/tasks/hi48-apps-tasks-mobile.png delete mode 100644 kdepim/mobile/tasks/hi64-apps-tasks-mobile.png delete mode 100644 kdepim/mobile/tasks/hi80-apps-tasks-mobile-harmattan.png delete mode 100644 kdepim/mobile/tasks/main.cpp delete mode 100644 kdepim/mobile/tasks/mainview.cpp delete mode 100644 kdepim/mobile/tasks/mainview.h delete mode 100644 kdepim/mobile/tasks/searchwidget.cpp delete mode 100644 kdepim/mobile/tasks/searchwidget.h delete mode 100644 kdepim/mobile/tasks/searchwidget.ui delete mode 100644 kdepim/mobile/tasks/settings.kcfg delete mode 100644 kdepim/mobile/tasks/settings.kcfgc delete mode 100644 kdepim/mobile/tasks/tasklistproxy.cpp delete mode 100644 kdepim/mobile/tasks/tasklistproxy.h delete mode 100644 kdepim/mobile/tasks/tasks-mobile-background.png delete mode 100644 kdepim/mobile/tasks/tasks-mobile.desktop delete mode 100644 kdepim/mobile/tasks/tasks-mobile.ico delete mode 100644 kdepim/mobile/tasks/tasks-mobile.rc delete mode 100644 kdepim/mobile/tasks/tasks.qml delete mode 100644 kdepim/mobile/tasks/tasksactionmanager.cpp delete mode 100644 kdepim/mobile/tasks/tasksactionmanager.h delete mode 100644 kdepim/mobile/tasks/tasksexporthandler.cpp delete mode 100644 kdepim/mobile/tasks/tasksexporthandler.h delete mode 100644 kdepim/mobile/tasks/tasksfilterproxymodel.cpp delete mode 100644 kdepim/mobile/tasks/tasksfilterproxymodel.h delete mode 100644 kdepim/mobile/tasks/tasksimporthandler.cpp delete mode 100644 kdepim/mobile/tasks/tasksimporthandler.h delete mode 100644 kdepim/mobile/tasks/taskthreadgroupercomparator.cpp delete mode 100644 kdepim/mobile/tasks/taskthreadgroupercomparator.h rename kdepim/pimcommon/autocorrection/{ui => }/autocorrectionwidget.ui (100%) diff --git a/kdepim/blogilo/src/ui/addeditblogbase.ui b/kdepim/blogilo/src/addeditblogbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/addeditblogbase.ui rename to kdepim/blogilo/src/addeditblogbase.ui diff --git a/kdepim/blogilo/src/ui/advancedsettingsbase.ui b/kdepim/blogilo/src/advancedsettingsbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/advancedsettingsbase.ui rename to kdepim/blogilo/src/advancedsettingsbase.ui diff --git a/kdepim/blogilo/src/ui/blogsettingsbase.ui b/kdepim/blogilo/src/blogsettingsbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/blogsettingsbase.ui rename to kdepim/blogilo/src/blogsettingsbase.ui diff --git a/kdepim/blogilo/src/ui/editorsettingsbase.ui b/kdepim/blogilo/src/editorsettingsbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/editorsettingsbase.ui rename to kdepim/blogilo/src/editorsettingsbase.ui diff --git a/kdepim/blogilo/src/ui/entriescountdialogbase.ui b/kdepim/blogilo/src/entriescountdialogbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/entriescountdialogbase.ui rename to kdepim/blogilo/src/entriescountdialogbase.ui diff --git a/kdepim/blogilo/src/ui/sendtoblogbase.ui b/kdepim/blogilo/src/sendtoblogbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/sendtoblogbase.ui rename to kdepim/blogilo/src/sendtoblogbase.ui diff --git a/kdepim/blogilo/src/ui/settingsbase.ui b/kdepim/blogilo/src/settingsbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/settingsbase.ui rename to kdepim/blogilo/src/settingsbase.ui diff --git a/kdepim/blogilo/src/ui/toolboxbase.ui b/kdepim/blogilo/src/toolboxbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/toolboxbase.ui rename to kdepim/blogilo/src/toolboxbase.ui diff --git a/kdepim/blogilo/src/ui/uploadmediabase.ui b/kdepim/blogilo/src/uploadmediabase.ui similarity index 100% rename from kdepim/blogilo/src/ui/uploadmediabase.ui rename to kdepim/blogilo/src/uploadmediabase.ui diff --git a/kdepim/blogilo/src/ui/waitwidgetbase.ui b/kdepim/blogilo/src/waitwidgetbase.ui similarity index 100% rename from kdepim/blogilo/src/ui/waitwidgetbase.ui rename to kdepim/blogilo/src/waitwidgetbase.ui diff --git a/kdepim/composereditor-ng/CMakeLists.txt b/kdepim/composereditor-ng/CMakeLists.txt index 6d8b3e18..0e648d6c 100644 --- a/kdepim/composereditor-ng/CMakeLists.txt +++ b/kdepim/composereditor-ng/CMakeLists.txt @@ -34,8 +34,8 @@ set(libcomposereditor_ng_SRCS list/composerlistdialog.cpp helper/tablehelper.cpp helper/listhelper.cpp - spellplugin/kspellplugin.cpp - widgets/domtreewidget.cpp + spellplugin/kspellplugin.cpp + widgets/domtreewidget.cpp widgets/findreplacebar.cpp ) diff --git a/kdepim/composereditor-ng/ui/pagecolorbackgroundwidget.ui b/kdepim/composereditor-ng/pagecolor/pagecolorbackgroundwidget.ui similarity index 100% rename from kdepim/composereditor-ng/ui/pagecolorbackgroundwidget.ui rename to kdepim/composereditor-ng/pagecolor/pagecolorbackgroundwidget.ui diff --git a/kdepim/composereditor-ng/spellplugin/kspellplugin.cpp b/kdepim/composereditor-ng/spellplugin/kspellplugin.cpp index 910a2fad..ccd56c08 100644 --- a/kdepim/composereditor-ng/spellplugin/kspellplugin.cpp +++ b/kdepim/composereditor-ng/spellplugin/kspellplugin.cpp @@ -193,5 +193,3 @@ QObject* KWebKitPlatformPlugin::createExtension(Extension ext) const Q_EXPORT_PLUGIN2(kwebspellchecker, KWebKitPlatformPlugin) Q_IMPORT_PLUGIN(kwebspellchecker) - - diff --git a/kdepim/composereditor-ng/spellplugin/kspellplugin.h b/kdepim/composereditor-ng/spellplugin/kspellplugin.h index 7d9b4c8c..f7f3bba9 100644 --- a/kdepim/composereditor-ng/spellplugin/kspellplugin.h +++ b/kdepim/composereditor-ng/spellplugin/kspellplugin.h @@ -30,11 +30,8 @@ #include #include +#include #include -#include "qwebkitplatformplugin.h" - - - class KWebSpellChecker : public QWebSpellChecker { diff --git a/kdepim/composereditor-ng/spellplugin/qwebkitplatformplugin.h b/kdepim/composereditor-ng/spellplugin/qwebkitplatformplugin.h deleted file mode 100644 index 62ab4209..00000000 --- a/kdepim/composereditor-ng/spellplugin/qwebkitplatformplugin.h +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - * Copyright (C) 2012 by Lindsay Mathieson - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef QWEBKITPLATFORMPLUGIN_H -#define QWEBKITPLATFORMPLUGIN_H - -/* - * Warning: The contents of this file is not part of the public QtWebKit API - * and may be changed from version to version or even be completely removed. -*/ - -#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA -#include -#endif -#include -#include -#include -#include -#include - -class QWebSelectData -{ -public: - virtual ~QWebSelectData() {} - - enum ItemType { Option, Group, Separator }; - - virtual ItemType itemType(int) const = 0; - virtual QString itemText(int index) const = 0; - virtual QString itemToolTip(int index) const = 0; - virtual bool itemIsEnabled(int index) const = 0; - virtual bool itemIsSelected(int index) const = 0; - virtual int itemCount() const = 0; - virtual bool multiple() const = 0; - virtual QColor backgroundColor() const = 0; - virtual QColor foregroundColor() const = 0; - virtual QColor itemBackgroundColor(int index) const = 0; - virtual QColor itemForegroundColor(int index) const = 0; -}; - -class QWebSelectMethod : public QObject -{ - Q_OBJECT -public: - virtual ~QWebSelectMethod() {} - - virtual void show(const QWebSelectData&) = 0; - virtual void hide() = 0; - virtual void setGeometry(const QRect&) = 0; - virtual void setFont(const QFont&) = 0; - -Q_SIGNALS: - void selectItem(int index, bool allowMultiplySelections, bool shift); - void didHide(); -}; - -class QWebNotificationData -{ -public: - virtual ~QWebNotificationData() {} - - virtual const QString title() const = 0; - virtual const QString message() const = 0; - virtual const QUrl iconUrl() const = 0; - virtual const QUrl openerPageUrl() const = 0; -}; - -class QWebNotificationPresenter : public QObject -{ - Q_OBJECT -public: - QWebNotificationPresenter() {} - virtual ~QWebNotificationPresenter() {} - - virtual void showNotification(const QWebNotificationData*) = 0; - -Q_SIGNALS: - void notificationClosed(); - void notificationClicked(); -}; - -class QWebHapticFeedbackPlayer: public QObject -{ - Q_OBJECT -public: - QWebHapticFeedbackPlayer() {} - virtual ~QWebHapticFeedbackPlayer() {} - - enum HapticStrength - { - None, Weak, Medium, Strong - }; - - enum HapticEvent - { - Press, Release - }; - - virtual void playHapticFeedback(const HapticEvent, const QString& hapticType, const HapticStrength) = 0; -}; - -class QWebTouchModifier : public QObject -{ - Q_OBJECT -public: - virtual ~QWebTouchModifier() {} - - enum PaddingDirection - { - Up, Right, Down, Left - }; - - virtual unsigned hitTestPaddingForTouch(const PaddingDirection) const = 0; -}; - -#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA -class QWebFullScreenVideoHandler : public QObject -{ - Q_OBJECT -public: - QWebFullScreenVideoHandler() {} - virtual ~QWebFullScreenVideoHandler() {} - virtual bool requiresFullScreenForVideoPlayback() const = 0; - -Q_SIGNALS: - void fullScreenClosed(); - -public Q_SLOTS: - virtual void enterFullScreen(QMediaPlayer*) = 0; - virtual void exitFullScreen() = 0; -}; -#endif - -class QWebSpellChecker : public QObject -{ - Q_OBJECT -public: - struct GrammarDetail - { - int location; - int length; - QStringList guesses; - QString userDescription; - }; - - virtual bool isContinousSpellCheckingEnabled() const = 0; - virtual void toggleContinousSpellChecking() = 0; - - virtual void learnWord(const QString& word) = 0; - virtual void ignoreWordInSpellDocument(const QString& word) = 0; - virtual void checkSpellingOfString(const QString& word, int* misspellingLocation, int* misspellingLength) = 0; - virtual QString autoCorrectSuggestionForMisspelledWord(const QString& word) = 0; - virtual void guessesForWord(const QString& word, const QString& context, QStringList& guesses) = 0; - - virtual bool isGrammarCheckingEnabled() = 0; - virtual void toggleGrammarChecking() = 0; - virtual void checkGrammarOfString(const QString&, QList&, int* badGrammarLocation, int* badGrammarLength) = 0; -}; - -class QWebKitPlatformPlugin -{ -public: - virtual ~QWebKitPlatformPlugin() {} - - enum Extension - { - MultipleSelections, - Notifications, - Haptics, - TouchInteraction, - FullScreenVideoPlayer, - SpellChecker - }; - - virtual bool supportsExtension(Extension) const = 0; - virtual QObject* createExtension(Extension) const = 0; -}; - -QT_BEGIN_NAMESPACE -Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9") -QT_END_NAMESPACE - -#endif // QWEBKITPLATFORMPLUGIN_H diff --git a/kdepim/kleopatra/conf/smimevalidationconfigurationwidget.cpp b/kdepim/kleopatra/conf/smimevalidationconfigurationwidget.cpp index f76e7275..443e9ebc 100644 --- a/kdepim/kleopatra/conf/smimevalidationconfigurationwidget.cpp +++ b/kdepim/kleopatra/conf/smimevalidationconfigurationwidget.cpp @@ -42,6 +42,7 @@ #include #include +#include #include diff --git a/kdepim/kleopatra/kgpgconf/main.cpp b/kdepim/kleopatra/kgpgconf/main.cpp index bdd8b743..cb5977bf 100644 --- a/kdepim/kleopatra/kgpgconf/main.cpp +++ b/kdepim/kleopatra/kgpgconf/main.cpp @@ -33,6 +33,8 @@ #include "mainwindow.h" #include +#include +#include int main( int argc, char** argv ) { diff --git a/kdepim/kleopatra/kgpgconf/mainwindow.cpp b/kdepim/kleopatra/kgpgconf/mainwindow.cpp index 90e772ed..3a83faba 100644 --- a/kdepim/kleopatra/kgpgconf/mainwindow.cpp +++ b/kdepim/kleopatra/kgpgconf/mainwindow.cpp @@ -37,6 +37,8 @@ #include "configwriter.h" #include "exception.h" +#include + #include #include #include diff --git a/kdepim/kontact/plugins/korganizer/kcmtodosummary.cpp b/kdepim/kontact/plugins/korganizer/kcmtodosummary.cpp index e766fa4a..30bd26ac 100644 --- a/kdepim/kontact/plugins/korganizer/kcmtodosummary.cpp +++ b/kdepim/kontact/plugins/korganizer/kcmtodosummary.cpp @@ -28,6 +28,7 @@ #include #include #include +#include KCModule *create_todosummary( QWidget *parent, const char * ) { diff --git a/kdepim/kontact/plugins/specialdates/kcmsdsummary.cpp b/kdepim/kontact/plugins/specialdates/kcmsdsummary.cpp index 3b9c5a4f..f61e8ce5 100644 --- a/kdepim/kontact/plugins/specialdates/kcmsdsummary.cpp +++ b/kdepim/kontact/plugins/specialdates/kcmsdsummary.cpp @@ -28,6 +28,7 @@ #include #include #include +#include extern "C" { diff --git a/kdepim/korganizer/views/multiagendaview/multiagendaviewconfigwidget.ui b/kdepim/korganizer/views/multiagendaview/multiagendaviewconfigwidget.ui new file mode 120000 index 00000000..38f23ef1 --- /dev/null +++ b/kdepim/korganizer/views/multiagendaview/multiagendaviewconfigwidget.ui @@ -0,0 +1 @@ +../../multiagendaviewconfigwidget.ui \ No newline at end of file diff --git a/kdepim/ktimetracker/historydialog.cpp b/kdepim/ktimetracker/historydialog.cpp index 91b4b304..19023e7d 100644 --- a/kdepim/ktimetracker/historydialog.cpp +++ b/kdepim/ktimetracker/historydialog.cpp @@ -28,6 +28,7 @@ #include #include #include +#include class HistoryWidgetDelegate : public QItemDelegate { diff --git a/kdepim/libkleo/ui/directoryserviceswidget.cpp b/kdepim/libkleo/ui/directoryserviceswidget.cpp index 931f73f5..60626da6 100644 --- a/kdepim/libkleo/ui/directoryserviceswidget.cpp +++ b/kdepim/libkleo/ui/directoryserviceswidget.cpp @@ -36,6 +36,7 @@ #include #include +#include #include #include diff --git a/kdepim/mobile/.krazy b/kdepim/mobile/.krazy deleted file mode 100644 index 0b16e7f7..00000000 --- a/kdepim/mobile/.krazy +++ /dev/null @@ -1 +0,0 @@ -SKIP /tests/ diff --git a/kdepim/mobile/CMakeLists.txt b/kdepim/mobile/CMakeLists.txt deleted file mode 100644 index aca765df..00000000 --- a/kdepim/mobile/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -add_definitions( -DKDEPIM_MOBILE_UI ) -add_definitions( -DQT_NO_CAST_FROM_ASCII ) -add_definitions( -DQT_NO_CAST_TO_ASCII ) - - -add_subdirectory(lib) -add_subdirectory(pics) - -include_directories(lib) - -add_subdirectory(calendar) -add_subdirectory(contacts) -add_subdirectory(mail) -add_subdirectory(tasks) -add_subdirectory(notes) - -add_subdirectory(api) - -add_subdirectory(licenses) diff --git a/kdepim/mobile/api/CMakeLists.txt b/kdepim/mobile/api/CMakeLists.txt deleted file mode 100644 index f7e6f1d6..00000000 --- a/kdepim/mobile/api/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(mail) diff --git a/kdepim/mobile/api/mail/CMakeLists.txt b/kdepim/mobile/api/mail/CMakeLists.txt deleted file mode 100644 index d280d620..00000000 --- a/kdepim/mobile/api/mail/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -project(mail) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") - -set(mail_SRCS - mailplugin.cpp - message.cpp - composer.cpp - error.cpp - receivermodel.cpp -) - -INCLUDE_DIRECTORIES( - ${CMAKE_SOURCE_DIR} - ${CMAKE_BINARY_DIR} - ${KDE4_INCLUDES} - ${CMAKE_SOURCE_DIR}/messagecomposer - ${CMAKE_BINARY_DIR}/messagecomposer - ${CMAKE_SOURCE_DIR}/libkdepim/ -) - -qt4_automoc(${mail_SRCS}) - -kde4_add_library(mailplugin SHARED ${mail_SRCS}) - -target_link_libraries(mailplugin - - ${QT_QTCORE_LIBRARY} - ${QT_QTDECLARATIVE_LIBRARY} - ${KDEPIMLIBS_AKONADI_LIBS} - ${KDEPIMLIBS_KMIME_LIBS} - messagecomposer - -) - -install(TARGETS mailplugin DESTINATION ${IMPORTS_INSTALL_DIR}/org/kde/pim/mail) -install(FILES qmldir DESTINATION ${IMPORTS_INSTALL_DIR}/org/kde/pim/mail) \ No newline at end of file diff --git a/kdepim/mobile/api/mail/composer.cpp b/kdepim/mobile/api/mail/composer.cpp deleted file mode 100644 index dc750e8a..00000000 --- a/kdepim/mobile/api/mail/composer.cpp +++ /dev/null @@ -1,185 +0,0 @@ -/* -Copyright 2014 Abhijeet Nikam connect08nikam@gmail.com - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "composer.h" - -#include - - -Composer::Composer( QObject *parent ) - : QObject( parent ) - , m_receiverModel ( new ReceiverModel (this) ) -{ - -} - -QString Composer::from() const -{ - return m_from; -} - -QString Composer::cc() const -{ - return m_cc; -} - - -QString Composer::bcc() const -{ - return m_bcc; -} - - -QString Composer::to() const -{ - return m_to; -} - -QString Composer::subject() const -{ - return m_subject; -} - -QString Composer::body() const -{ - return m_body; -} - - -void Composer::setFrom(const QString &from) -{ - if ( from != m_from ) { - m_from = from; - emit fromChanged(); - } - -} - - -void Composer::setTo(const QString &to) -{ - if ( to != m_to ) { - m_to = to; - emit toChanged(); - } -} - - -void Composer::setCC(const QString &cc) -{ - if ( cc != m_cc ) { - m_cc = cc; - emit ccChanged(); - } -} - - -void Composer::setBCC(const QString &bcc) -{ - if ( bcc != m_bcc ) { - m_bcc = bcc; - emit bccChanged(); - } -} - -void Composer::setSubject(const QString &subject) -{ - if ( subject != m_subject ) { - m_subject = subject; - emit subjectChanged(); - } -} - -void Composer::setBody(const QString &body) -{ - if ( body != m_body ) { - m_body = body; - emit bodyChanged(); - } -} - -ReceiverModel *Composer::receiverModel() const -{ - - return m_receiverModel; - -} - - -QByteArray Composer::convert (const QString &body) -{ - - QTextCodec *codec = QTextCodec::codecForName("UTF-16"); - QTextEncoder *encoderWithoutBom = codec->makeEncoder( QTextCodec::IgnoreHeader ); - QByteArray bytes = encoderWithoutBom ->fromUnicode( body ); - - return bytes; - -} - -void Composer::send() -{ - - KMime::Message::Ptr m_msg (new KMime::Message); - KMime::Headers::ContentType *ct = m_msg->contentType(); - - ct->setMimeType( "multipart/mixed" ); - ct->setBoundary( KMime::multiPartBoundary() ); - ct->setCategory( KMime::Headers::CCcontainer ); - m_msg->contentTransferEncoding()->clear(); - - // Set the headers. - m_msg->from()->fromUnicodeString( m_from , "utf-8" ); - m_msg->to()->fromUnicodeString( m_receiverModel->recipientString(MessageComposer::Recipient::To), "utf-8" ); - m_msg->cc()->fromUnicodeString( m_receiverModel->recipientString(MessageComposer::Recipient::Cc), "utf-8" ); - m_msg->date()->setDateTime( KDateTime::currentLocalDateTime() ); - m_msg->subject()->fromUnicodeString( m_subject, "utf-8" ); - - // Set the first multipart, the body message. - KMime::Content *b = new KMime::Content; - b->contentType()->setMimeType( "text/plain" ); - b->setBody( convert (m_body) ); - - // Add the multipart and assemble - m_msg->addContent( b ); - m_msg->assemble(); - - MessageComposer::AkonadiSender *mSender = new MessageComposer::AkonadiSender (this); - mSender->send(m_msg, MessageComposer::MessageSender::SendImmediate); - -} - -void Composer::sendLater() -{ - -} - -void Composer::saveDraft() -{ - -} - - -void Composer::addRecipient( const QString &email , int type ) -{ - MessageComposer::Recipient::Ptr rec (new MessageComposer::Recipient); - rec->setEmail ( email ); - rec->setType ( MessageComposer::Recipient::idToType(type) ); - m_receiverModel->addRecipient ( rec ); -} diff --git a/kdepim/mobile/api/mail/composer.h b/kdepim/mobile/api/mail/composer.h deleted file mode 100644 index b7312875..00000000 --- a/kdepim/mobile/api/mail/composer.h +++ /dev/null @@ -1,98 +0,0 @@ -/* -Copyright 2014 Abhijeet Nikam connect08nikam@gmail.com - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef COMPOSER_H -#define COMPOSER_H - -#include -#include -#include -#include -#include - -#include "sender/akonadisender.h" - -#include "receivermodel.h" - -class Composer : public QObject -{ - -Q_OBJECT - - Q_PROPERTY (QString subject READ subject WRITE setSubject NOTIFY subjectChanged) - Q_PROPERTY (QString body READ body WRITE setBody NOTIFY bodyChanged) - Q_PROPERTY (QString cc READ cc WRITE setCC NOTIFY ccChanged) - Q_PROPERTY (QString to READ to WRITE setTo NOTIFY toChanged) - Q_PROPERTY (QString bcc READ bcc WRITE setBCC NOTIFY bccChanged) - Q_PROPERTY (QString from READ from WRITE setFrom NOTIFY fromChanged) - Q_PROPERTY (ReceiverModel* receiverModel READ receiverModel CONSTANT) - -public: - - explicit Composer( QObject *parent = 0 ); - - QString cc() const; - QString bcc() const; - QString from() const; - QString to() const; - QString subject() const; - QString body() const; - ReceiverModel *receiverModel() const; - - void setFrom( const QString &from ); - void setTo( const QString &replyTo ); - void setCC( const QString &cc ); - void setBCC( const QString &bcc ); - void setSubject( const QString &subject ); - void setBody ( const QString &body ); - - QByteArray convert ( const QString &body ); - -signals: - - void subjectChanged(); - void bodyChanged(); - void fromChanged(); - void toChanged(); - void bccChanged(); - void ccChanged(); - -public slots: - - void send(); - void saveDraft(); - void sendLater(); - void addRecipient( const QString &email , int type ); - -private: - - QString m_subject; - QString m_from; - QString m_body; - QString m_cc; - QString m_to; - QString m_bcc; - ReceiverModel *m_receiverModel; -}; - - - - - -#endif \ No newline at end of file diff --git a/kdepim/mobile/api/mail/error.cpp b/kdepim/mobile/api/mail/error.cpp deleted file mode 100644 index 38e1a2b2..00000000 --- a/kdepim/mobile/api/mail/error.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright 2014 Michael Bohlender michael.bohlender@kdemail.net - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "error.h" - -Error::Error(QObject *parent) : QObject(parent), m_code(0) -{ - -} - -int Error::code() const -{ - return m_code; -} - -QString Error::text() const -{ - return m_text; -} - -void Error::setError(int code, const QString &text) -{ - if (code != m_code || text != m_text) { - m_code = code; - m_text = text; - emit errorChanged(); - } -} - -void Error::clear() -{ - setError(0, QString()); -} - diff --git a/kdepim/mobile/api/mail/error.h b/kdepim/mobile/api/mail/error.h deleted file mode 100644 index bb9723e3..00000000 --- a/kdepim/mobile/api/mail/error.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright 2014 Michael Bohlender michael.bohlender@kdemail.net - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef ERROR_H -#define ERROR_H - -#include - -#include - -class Error : public QObject -{ - Q_OBJECT - Q_PROPERTY (int code READ code NOTIFY errorChanged) - Q_PROPERTY (QString text READ text NOTIFY errorChanged) - -public: - explicit Error( QObject *parent = 0 ); - - int code() const; - QString text() const; - -signals: - void errorChanged(); - -public slots: - void clear(); - void setError( int code, const QString &text ); - -private: - int m_code; - QString m_text; -}; - -#endif //ERROR_H \ No newline at end of file diff --git a/kdepim/mobile/api/mail/mailplugin.cpp b/kdepim/mobile/api/mail/mailplugin.cpp deleted file mode 100644 index 1ba270f9..00000000 --- a/kdepim/mobile/api/mail/mailplugin.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2014 Michael Bohlender michael.bohlender@kdemail.net - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of -the License or (at your option) version 3 or any later version -accepted by the membership of KDE e.V. (or its successor approved -by the membership of KDE e.V.), which shall act as a proxy -defined in Section 14 of version 3 of the license. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -#include "mailplugin.h" - -#include "message.h" -#include "composer.h" -#include "error.h" -#include "receivermodel.h" - -#include - -void MailPlugin::registerTypes(const char *uri) -{ - Q_ASSERT(uri == "org.kde.pim.mail"); - qmlRegisterType(uri, 0, 1, "Message"); - qmlRegisterType(uri, 0, 1, "Composer"); - qmlRegisterType(uri, 0, 1, "Error"); - qmlRegisterType(uri, 0, 1, "ReceiverModel"); -} - -Q_EXPORT_PLUGIN2(mailplugin, MailPlugin) diff --git a/kdepim/mobile/api/mail/mailplugin.h b/kdepim/mobile/api/mail/mailplugin.h deleted file mode 100644 index 3aa482c7..00000000 --- a/kdepim/mobile/api/mail/mailplugin.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2014 Michael Bohlender michael.bohlender@kdemail.net - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of -the License or (at your option) version 3 or any later version -accepted by the membership of KDE e.V. (or its successor approved -by the membership of KDE e.V.), which shall act as a proxy -defined in Section 14 of version 3 of the license. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -#ifndef MAILPLUGIN_H -#define MAILPLUGIN_H - -#include - -class MailPlugin : public QDeclarativeExtensionPlugin -{ - Q_OBJECT - -public: - void registerTypes(const char *uri); -}; - -#endif - diff --git a/kdepim/mobile/api/mail/message.cpp b/kdepim/mobile/api/mail/message.cpp deleted file mode 100644 index 3d0f275a..00000000 --- a/kdepim/mobile/api/mail/message.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* -Copyright 2014 Michael Bohlender michael.bohlender@kdemail.net - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of -the License or (at your option) version 3 or any later version -accepted by the membership of KDE e.V. (or its successor approved -by the membership of KDE e.V.), which shall act as a proxy -defined in Section 14 of version 3 of the license. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -#include "message.h" - -#include -#include - -#include - -Message::Message(QObject *parent) : QObject(parent), m_error(new Error()) -{ - -} - -Message::~Message() -{ - -} - -QString Message::subject() const -{ - return m_subject; -} - -QString Message::from() const -{ - return m_from; -} - -QString Message::textContent() const -{ - return m_textContent; -} - -Error *Message::error() const -{ - return m_error.data(); -} - -void Message::loadMessage(const QUrl &url) -{ - Akonadi::ItemFetchJob *fetchJob = new Akonadi::ItemFetchJob(Akonadi::Item::fromUrl(url)); - fetchJob->fetchScope().fetchFullPayload(); - - connect(fetchJob, SIGNAL(itemsReceived(Akonadi::Item::List)), this, SLOT(slotItemReceived(Akonadi::Item::List))); -} - -void Message::slotItemReceived(const Akonadi::Item::List &itemList) -{ - if (itemList.empty()) { - //TODO handle Message not found? - return; - } - - Akonadi::Item item = itemList.first(); - - KMime::Message msg; - msg.setContent(item.payloadData()); - msg.setFrozen(true); - msg.parse(); - - m_subject = msg.subject()->asUnicodeString(); - m_from = msg.from()->asUnicodeString(); - m_textContent = msg.textContent()->decodedText(true,true); - emit messageChanged(); -} - - diff --git a/kdepim/mobile/api/mail/message.h b/kdepim/mobile/api/mail/message.h deleted file mode 100644 index 67779c86..00000000 --- a/kdepim/mobile/api/mail/message.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright 2014 Michael Bohlender michael.bohlender@kdemail.net - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of -the License or (at your option) version 3 or any later version -accepted by the membership of KDE e.V. (or its successor approved -by the membership of KDE e.V.), which shall act as a proxy -defined in Section 14 of version 3 of the license. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -#ifndef MESSAGE_H -#define MESSAGE_H - -#include -#include -#include -#include - -#include - -#include "error.h" - -class Message : public QObject -{ - Q_OBJECT - Q_PROPERTY (QString subject READ subject NOTIFY messageChanged) - Q_PROPERTY (QString from READ from NOTIFY messageChanged) - Q_PROPERTY (QString textContent READ textContent NOTIFY messageChanged) - Q_PROPERTY (Error* error READ error CONSTANT) - -public: - explicit Message( QObject *parent = 0 ); - ~Message(); - - QString subject() const; - QString from() const; - QString textContent() const; - Error *error() const; - -signals: - void messageChanged(); - -public slots: - void loadMessage(const QUrl &url); - -private slots: - void slotItemReceived(const Akonadi::Item::List &itemList); - -private: - QString m_subject; - QString m_from; - QString m_textContent; - QScopedPointer m_error; -}; - - -#endif //MESSAGE_H \ No newline at end of file diff --git a/kdepim/mobile/api/mail/qmldir b/kdepim/mobile/api/mail/qmldir deleted file mode 100644 index e3ba373d..00000000 --- a/kdepim/mobile/api/mail/qmldir +++ /dev/null @@ -1 +0,0 @@ -plugin mailplugin \ No newline at end of file diff --git a/kdepim/mobile/api/mail/receivermodel.cpp b/kdepim/mobile/api/mail/receivermodel.cpp deleted file mode 100644 index 9bc69e82..00000000 --- a/kdepim/mobile/api/mail/receivermodel.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* -Copyright 2014 Abhijeet Nikam connect08nikam@gmail.com - -This library is free software; you can redistribute it and/or modify it -under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -This library is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. - -You should have received a copy of the GNU Library General Public License -along with this library; see the file COPYING.LIB. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301, USA. -*/ - -#include "receivermodel.h" - - -ReceiverModel::ReceiverModel(QObject *parent) : QAbstractListModel(parent) -{ - QHash roles; - - roles[Name] = "name"; - roles[Email] = "email"; - roles[Type] = "type"; - - setRoleNames (roles); - -} - - -int ReceiverModel::rowCount( const QModelIndex &parent ) const -{ - if (parent.isValid()) { - return 0; - } - - return mRecipients.count(); -} - - -QVariant ReceiverModel::data( const QModelIndex &index, int role ) const -{ - if (!index.isValid()) { - return QVariant(); - } - - if (index.row() >= mRecipients.size() || index.row() < 0) { - return QVariant(); - } - - int row = index.row(); - - switch(role) { - - case Name: - return mRecipients[row]->name(); - case Email: - return mRecipients[row]->email(); - case Type: - return mRecipients[row]->type(); - } - - return QVariant(); -} - - -bool ReceiverModel::setData( const QModelIndex &index, const QVariant &value, int role ) -{ - if (index.isValid() && role == Qt::EditRole && !(index.row() >= mRecipients.size() || index.row() < 0)) { - int row = index.row(); - - switch(role) { - - case Name: - mRecipients[row]->setName(value.toString()); - break; - case Email: - mRecipients[row]->setEmail(value.toString()); - break; - case Type: - mRecipients[row]->setType(MessageComposer::Recipient::idToType (value.toInt())); - break; - default: - return false; - } - - emit dataChanged(index, index); - return true; - } - - return false; -} - - -Qt::ItemFlags ReceiverModel::flags( const QModelIndex &index ) const -{ - if (!index.isValid()) { - return Qt::ItemIsEnabled; - } - - return QAbstractListModel::flags(index) | Qt::ItemIsEditable; -} - - -bool ReceiverModel::addRecipient( const MessageComposer::Recipient::Ptr &recipient ) -{ - if ( mRecipients.contains( recipient ) ) { - return false; - } - - beginInsertRows( QModelIndex(), rowCount(), rowCount() ); - mRecipients.append( recipient ); - endInsertRows(); - return true; - -} - - -bool ReceiverModel::removeRecipient( const MessageComposer::Recipient::Ptr &recipient ) -{ - int index = mRecipients.indexOf( recipient ); - - if ( index < 0 ) { - return false; - } - - beginRemoveRows( QModelIndex(), rowCount(), rowCount() ); - mRecipients.removeAt( index ); - endRemoveRows(); - return true; - -} - -QStringList ReceiverModel::recipientStringList( MessageComposer::Recipient::Type type ) const -{ - QStringList selectedRecipients; - foreach ( const MessageComposer::Recipient::Ptr &r, mRecipients ) { - if ( r->type() == type ) { - selectedRecipients << r->email(); - } - } - - return selectedRecipients; -} - -QString ReceiverModel::recipientString( MessageComposer::Recipient::Type type ) const -{ - return recipientStringList( type ).join( QLatin1String(", ") ); -} - diff --git a/kdepim/mobile/api/mail/receivermodel.h b/kdepim/mobile/api/mail/receivermodel.h deleted file mode 100644 index b0818aa5..00000000 --- a/kdepim/mobile/api/mail/receivermodel.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2014 Abhijeet Nikam connect08nikam@gmail.com - -This library is free software; you can redistribute it and/or modify it -under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -This library is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. - -You should have received a copy of the GNU Library General Public License -along with this library; see the file COPYING.LIB. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301, USA. -*/ - -#ifndef RECEIVERMODEL_H -#define RECEIVERMODEL_H - -#include -#include - -#include "recipient/recipient.h" - -class ReceiverModel : public QAbstractListModel -{ - - Q_OBJECT - -public: - explicit ReceiverModel(QObject *parent = 0); - - enum Roles { - Name = Qt::UserRole + 1, - Email, - Type - }; - - int rowCount( const QModelIndex &parent = QModelIndex() ) const; - QVariant data( const QModelIndex &index, int role) const; - Qt::ItemFlags flags( const QModelIndex &index ) const; - bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole ); - - bool addRecipient( const MessageComposer::Recipient::Ptr &recipient ); - bool removeRecipient( const MessageComposer::Recipient::Ptr &recipient ); - QStringList recipientStringList( MessageComposer::Recipient::Type ) const; - QString recipientString( MessageComposer::Recipient::Type type ) const; - -private: - - MessageComposer::Recipient::List mRecipients; - -}; - - - -#endif \ No newline at end of file diff --git a/kdepim/mobile/calendar/BulkActionComponent.qml b/kdepim/mobile/calendar/BulkActionComponent.qml deleted file mode 100644 index 385aef43..00000000 --- a/kdepim/mobile/calendar/BulkActionComponent.qml +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.BulkActionScreen { - id : bulkActionScreen - anchors.fill: parent - backgroundImage : backgroundImage.source - - actionListWidth : 1/3 * parent.width - multipleText : KDE.i18np("1 calendar", "%1 calendars", collectionView.numSelected) - selectedItemModel : _breadcrumbNavigationFactory.qmlSelectedItemModel(); - headerList : EventListView { - showCheckBox : true - id: bulkActionHeaderList - model: itemModel - checkModel : _itemActionModel - anchors.fill : parent - itemHeight: bulkActionScreen.itemHeight - } -} diff --git a/kdepim/mobile/calendar/CMakeLists.txt b/kdepim/mobile/calendar/CMakeLists.txt deleted file mode 100644 index 0d53bb95..00000000 --- a/kdepim/mobile/calendar/CMakeLists.txt +++ /dev/null @@ -1,83 +0,0 @@ -project(korganizer-mobile) - -include_directories( - # This is probably not the correct way to get KCalPrefs in. - ${CMAKE_SOURCE_DIR}/calendarsupport/ - ${CMAKE_BINARY_DIR}/calendarsupport/ - ${CMAKE_SOURCE_DIR}/calendarviews - ${KDEPIMLIBS_INCLUDE_DIR} - ${AKONADI_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} -) - -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) - -set(korganizer_mobile_SRCS - agendaviewitem.cpp - calendarinterface.cpp - configwidget.cpp - declarativewidgetwrapper.cpp - eventlistproxy.cpp - eventsfilterproxymodel.cpp - eventsguistatemanager.cpp - eventsexporthandler.cpp - eventsimporthandler.cpp - mainview.cpp - main.cpp - monthviewitem.cpp - searchwidget.cpp - timelineviewitem.cpp - qmldateedit.cpp -) - -qt4_wrap_ui(korganizer_mobile_SRCS configwidget.ui searchwidget.ui) -kde4_add_kcfg_files(korganizer_mobile_SRCS settings.kcfgc) - -qt4_add_dbus_adaptor(korganizer_mobile_SRCS ${CMAKE_SOURCE_DIR}/korganizer/org.kde.Korganizer.Calendar.xml calendarinterface.h CalendarInterface ) - -if (RUNTIME_PLUGINS_STATIC) - add_definitions(-DMAIL_SERIALIZER_PLUGIN_STATIC) -endif () - -kde4_add_app_icon(korganizer_mobile_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-korganizer-mobile.png") - -kde4_add_executable(korganizer-mobile ${korganizer_mobile_SRCS} ) - -target_link_libraries(korganizer-mobile - ${QT_QTDECLARATIVE_LIBRARY} - ${KDE4_KDECORE_LIBS} - ${KDE4_KDEUI_LIBS} - ${KDE4_KDECLARATIVE_LIBS} - ${KDEPIMLIBS_KCALCORE_LIBS} - ${KDEPIMLIBS_KCALUTILS_LIBS} - ${KDEPIMLIBS_KHOLIDAYS_LIBS} - ${KDEPIMLIBS_AKONADI_LIBS} - ${KDEPIMLIBS_AKONADI_CALENDAR_LIBS} - kdepimdbusinterfaces - kdepimmobileui - kdepimmobileuicalendar - incidenceeditorsngmobile - eventviews - calendarsupport - kdepim -) - -if (RUNTIME_PLUGINS_STATIC) - target_link_libraries(korganizer-mobile akonadi_serializer_addressee akonadi_serializer_contactgroup akonadi_serializer_kcalcore akonadi_serializer_mail) -endif () - -install(TARGETS korganizer-mobile ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS korganizer-mobile.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install(FILES - BulkActionComponent.qml - ConfigDialog.qml - korganizer-mobile.qml - KorganizerActions.qml - korganizer-mobile-background.png - EventListView.qml - EventListComponent.qml - MonthViewComponent.qml - TimelineView.qml - DESTINATION ${DATA_INSTALL_DIR}/korganizer-mobile -) -kde4_install_icons( ${ICON_INSTALL_DIR} ) diff --git a/kdepim/mobile/calendar/ConfigDialog.qml b/kdepim/mobile/calendar/ConfigDialog.qml deleted file mode 100644 index 4c09ec4d..00000000 --- a/kdepim/mobile/calendar/ConfigDialog.qml +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi.calendar 4.5 as Calendar -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - id: configDialog - anchors.fill: parent - z: 10 - color: "white" - visible: guiStateManager.inConfigScreenState - - function load() - { - configWidget.load(); - } - - QML.Connections { - target: configWidget - onShowClockWidget: { - clockWidget.expand() - clockWidget.okEnabled = false - - // set the initial values - clockWidget.hours = hour; - clockWidget.minutes = minute; - } - } - - QML.Connections { - target: clockWidget - onTimeChanged: { - configWidget.setNewTime( hour, minute ); - } - } - - KPIM.ClockDialog { - id: clockWidget - anchors.fill: parent - } - - PlasmaExtras.ScrollArea { - id: configWidgetBox - - anchors { - top: parent.top - topMargin: 25 - bottom: parent.bottom - left: parent.left - right: okButton.left - } - - QML.Flickable { - contentHeight: configWidget.height; - - Calendar.ConfigWidget { - id: configWidget - width: parent.width - } - } - } - - KPIM.Button2 { - id: okButton - anchors.top: parent.top - anchors.topMargin: 20 - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "OK" ) - onClicked: { - configWidget.save(); - guiStateManager.popState() - } - } - - KPIM.Button2 { - id: cancelButton - anchors.top: okButton.bottom - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "Cancel" ) - onClicked: { - guiStateManager.popState() - } - } -} diff --git a/kdepim/mobile/calendar/EventListComponent.qml b/kdepim/mobile/calendar/EventListComponent.qml deleted file mode 100644 index 90a741a1..00000000 --- a/kdepim/mobile/calendar/EventListComponent.qml +++ /dev/null @@ -1,91 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.akonadi 4.5 as Akonadi -import org.kde.pim.mobileui 4.5 as KPIM -import "../mobileui/ScreenFunctions.js" as Screen - -QML.Rectangle { - id: eventListView - visible: guiStateManager.inViewEventListState - anchors.fill: parent - color: "#D2D1D0" // TODO: make palette work correctly. palette.window - - QML.Rectangle { - height: 48 - width: 48 - z: 5 - color: "#00000000" - anchors.right : parent.right - anchors.rightMargin : 70 - anchors.bottom : parent.bottom - anchors.bottomMargin : 70 - QML.Image { - source : KDE.locate( "data", "mobileui/back-to-list-button.png" ); - QML.MouseArea { - anchors.fill : parent; - onClicked : { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - } - - EventListView { - showCheckBox : false - id: eventList - model: itemModel - checkModel : _itemActionModel - anchors.left : parent.left - anchors.top : parent.top - anchors.bottom : filterLineEdit.top - anchors.right : parent.right - anchors.topMargin: 30 - anchors.leftMargin: 40 - itemHeight: Screen.partition( height, 7 ) - - navigationModel : _itemNavigationModel - } - - Akonadi.FilterLineEdit { - id: filterLineEdit - anchors.left : parent.left - anchors.bottom : parent.bottom - anchors.right : parent.right - anchors.leftMargin: 40 - visible : false - height : 0 - y : height == 0 ? parent.height : parent.height - height - } - - QML.Connections { - target : _itemNavigationModel - onCurrentRowChanged : { - application.setCurrentEventItemId(_itemNavigationModel.currentItemIdHack); - guiStateManager.pushUniqueState( KPIM.GuiStateManager.ViewSingleItemState ) - _itemActionModel.select( _itemNavigationModel.currentRow, 3 ); - eventView.itemId = _itemNavigationModel.currentItemIdHack; - } - } -} diff --git a/kdepim/mobile/calendar/EventListView.qml b/kdepim/mobile/calendar/EventListView.qml deleted file mode 100644 index e9c119da..00000000 --- a/kdepim/mobile/calendar/EventListView.qml +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - -/** Akonadi Event List View - */ -KPIM.ItemListView { - id : _top - property bool showCheckBox - property variant checkModel - - delegate: [ - KPIM.ItemListViewDelegate { - id : _delegate - showCheckBox : _top.showCheckBox - checkModel : _top.checkModel - navigationModel : _top.navigationModel - height : _top.itemHeight - summaryContent : [ - QML.Text { - id: fromLabel - anchors.top : parent.top - anchors.topMargin : 1 - anchors.left : parent.left - anchors.leftMargin : 10 - text : KDE.i18n( "%1 (%2)", model.begin, model.duration ); - color : "#0C55BB" - font.pixelSize: 16 - elide: "ElideRight" - width: parent.width - anchors.leftMargin - anchors.rightMargin - }, - QML.Text { - id: subjectLabel - anchors.top : fromLabel.bottom - anchors.topMargin : 1 - anchors.left : parent.left - anchors.leftMargin : 10 - anchors.right: parent.right - height : 30; - text : model.summary - font.pixelSize: 18 - elide: "ElideRight" - } - ] - } - ] -} diff --git a/kdepim/mobile/calendar/KorganizerActions.qml b/kdepim/mobile/calendar/KorganizerActions.qml deleted file mode 100644 index 7dda169b..00000000 --- a/kdepim/mobile/calendar/KorganizerActions.qml +++ /dev/null @@ -1,213 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 -import "../mobileui/ScreenFunctions.js" as Screen - -ActionMenuContainer { - - menuStyle : true - - actionItemHeight: Screen.partition( height, 6 ) - actionItemSpacing - actionItemWidth : 200 - actionItemSpacing : 2 - - ActionList { - category : "home" - name : "home_menu" - text : KDE.i18n( "Home" ) - ActionListItem { name : "synchronize_all_items" } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Multiple Calendars" ) } - ActionListItem { name : "import_events" } - ActionListItem { name : "configure_categories" } - } - - FavoriteManager{ model : favoritesList } - - AgentInstanceList { - category : "home" - name : "accounts_list" - text : KDE.i18n( "Accounts" ) - - model : agentInstanceList - } - - ActionList { - category : "account" - name : "account_menu" - text : KDE.i18n( "Account" ) - ActionListItem { name : "akonadi_resource_synchronize" } - ActionListItem { name : "akonadi_resource_properties" } - ActionListItem { name : "akonadi_collection_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "archive_old_entries" } - } - - ActionList { - category : "account" - name : "account_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "single_folder" - name : "single_folder_folder_menu" - text : KDE.i18n( "Folder" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_events" } - ActionListItem { name : "archive_old_entries" } - } - - ActionList { - category : "single_folder" - name : "single_folder_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_collection_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "akonadi_collection_move_to_dialog" } - ActionListItem { name : "akonadi_collection_copy_to_dialog" } - ActionListItem { name : "akonadi_collection_delete" } - } - - ActionList { - category : "single_folder" - name : "single_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_folder_menu" - text : KDE.i18n( "Folders" ) - - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_events" } - ActionListItem { name : "archive_old_entries" } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Calendars" ) } - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "single_calendar" - name : "single_calendar_calendar_menu" - text : KDE.i18n( "Choice" ) - ActionListItem { name : "akonadi_collection_sync" } - ScriptActionItem { name : "show_today"; title : KDE.i18n( "Show Today" ) } - ScriptActionItem { name : "day_layout"; title : KDE.i18n( "Day View" ) } - ScriptActionItem { name : "three_day_layout"; title : KDE.i18n( "Next Three Days View" ) } - ScriptActionItem { name : "week_layout"; title : KDE.i18n( "Week View" ) } - ScriptActionItem { name : "work_week_layout"; title : KDE.i18n( "Work Week View" ) } - ScriptActionItem { name : "month_layout"; title : KDE.i18n( "Month View" ) } - ScriptActionItem { name : "eventlist_layout"; title : KDE.i18n( "Event List View" ) } - ScriptActionItem { name : "timeline_layout"; title : KDE.i18n( "Timeline" ) } - } - - ActionList { - category : "single_calendar" - name : "single_calendar_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ActionListItem { name : "set_calendar_colour" } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Back To Folder Selection" ) } - } - - ActionList { - category : "multiple_calendar" - name : "multi_calendar_calendars_menu" - text : KDE.i18n( "Calendars" ) - ActionListItem { name : "akonadi_collection_sync" } - ScriptActionItem { name : "show_today"; title : KDE.i18n( "Show Today" ) } - ScriptActionItem { name : "day_layout"; title : KDE.i18n( "Day View" ) } - ScriptActionItem { name : "three_day_layout"; title : KDE.i18n( "Next Three Days View" ) } - ScriptActionItem { name : "week_layout"; title : KDE.i18n( "Week View" ) } - ScriptActionItem { name : "work_week_layout"; title : KDE.i18n( "Work Week View" ) } - ScriptActionItem { name : "month_layout"; title : KDE.i18n( "Month View" ) } - ScriptActionItem { name : "eventlist_layout"; title : KDE.i18n( "Event List View" ) } - ScriptActionItem { name : "timeline_layout"; title : KDE.i18n( "Timeline" ) } - } - - ActionList { - category : "multiple_calendar" - name : "multi_calendar_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Calendars" ) } - } - - ActionList { - category : "event_viewer" - name : "event_viewer_event_menu" - text : KDE.i18n( "Event" ) - ActionListItem { name : "publish_item_information" } - ActionListItem { name : "send_invitations_to_attendees" } - ActionListItem { name : "send_status_update" } - ActionListItem { name : "send_cancellation_to_attendees" } - ActionListItem { name : "request_update" } - /* doesn't do anything useful atm */ - /*ActionListItem { name : "request_change" }*/ - ActionListItem { name : "send_as_icalendar" } - ActionListItem { name : "mail_freebusy" } - ActionListItem { name : "upload_freebusy" } - } - - ActionList { - category : "event_viewer" - name : "event_viewer_attachments_menu" - text : KDE.i18n( "Attachments" ) - ActionListItem { name : "save_all_attachments" } - } - - ActionList { - category : "event_viewer" - name : "event_viewer_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_incidence_edit" } - ActionListItem { name : "akonadi_item_copy_to_dialog" } - ActionListItem { name : "akonadi_item_move_to_dialog" } - ActionListItem { name : "akonadi_item_delete" } - } - - ApplicationGeneralActions { - category : "standard" - name : "application_menu" - text : KDE.i18n( "Calendar" ) - type : "event" - - addNewActionName: "akonadi_event_create" - - //TODO enable when SearchWidget::query() is implemented - //searchActionTitle: KDE.i18n( "Search For Events" ) - configureActionTitle: KDE.i18n( "Configure Calendar" ) - } -} diff --git a/kdepim/mobile/calendar/Messages.sh b/kdepim/mobile/calendar/Messages.sh deleted file mode 100644 index 7d5b2629..00000000 --- a/kdepim/mobile/calendar/Messages.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -$EXTRACTRC --ignore-no-input `find . \( -name '*.ui' -or -name '*.rc' -or -name '*.kcfg' -or -name '*.kcfg.cmake' \) -and -not -name '*-mobile.rc'` >> rc.cpp || exit 11 -$XGETTEXT -ktranslate `find -name '*.cpp' -o -name '*.h'` -o $podir/korganizer-mobile.pot -$XGETTEXT -ktranslate `find . -name '*.qml'` -j -L Java -o $podir/korganizer-mobile.pot -rm -f rc.cpp diff --git a/kdepim/mobile/calendar/MonthViewComponent.qml b/kdepim/mobile/calendar/MonthViewComponent.qml deleted file mode 100644 index d054dda0..00000000 --- a/kdepim/mobile/calendar/MonthViewComponent.qml +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.akonadi 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.calendarviews 4.5 as CalendarViews -import org.kde.akonadi.events 4.5 as Events - -QML.Rectangle { - anchors.fill: parent - - function showMonth( date ) - { - month.showMonth( date ); - } - - QML.Rectangle { - height: 48 - width: 48 - z: 5 - color: "#00000000" - anchors.right : parent.right - anchors.rightMargin : 70 - anchors.bottom : parent.bottom - anchors.bottomMargin : 70 - QML.Image { - source : KDE.locate( "data", "mobileui/back-to-list-button.png" ); - QML.MouseArea { - anchors.fill : parent; - onClicked : { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - } - - CalendarViews.MonthView { - id: month - anchors { fill: parent; topMargin: 10; leftMargin: 40 } - calendar: calendarModel - swipeLength: 0.2 // Require at least 20% of screenwidth to trigger next or prev - - onDateClicked: { - agenda.showRange( date, 0 ); - guiStateManager.switchState( Events.EventsGuiStateManager.ViewDayState ); - } - - onItemSelected: { - if ( selectedItemId > 0 ) { - eventView.itemId = selectedItemId; - eventView.activeDate = activeDate; - application.setCurrentEventItemId(selectedItemId); - guiStateManager.pushUniqueState( KPIM.GuiStateManager.ViewSingleItemState ); - } - } - } -} - diff --git a/kdepim/mobile/calendar/TimelineView.qml b/kdepim/mobile/calendar/TimelineView.qml deleted file mode 100644 index fd949865..00000000 --- a/kdepim/mobile/calendar/TimelineView.qml +++ /dev/null @@ -1,73 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.calendarviews 4.5 as CalendarViews - -QML.Rectangle { - visible: guiStateManager.inViewTimelineState - anchors.fill: parent - - function showRange( date, range ) - { - timeline.showRange( date, range ); - } - - QML.Rectangle { - height: 48 - width: 48 - z: 5 - color: "#00000000" - anchors.right : parent.right - anchors.rightMargin : 70 - anchors.bottom : parent.bottom - anchors.bottomMargin : 70 - QML.Image { - source : KDE.locate( "data", "mobileui/back-to-list-button.png" ); - QML.MouseArea { - anchors.fill : parent; - onClicked : { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - } - - CalendarViews.TimelineView { - id: timeline - anchors { fill: parent; topMargin: 10; leftMargin: 40 } - calendar: calendarModel - swipeLength: 0.2 // Require at least 20% of screenwidth to trigger next or prev - - onItemSelected: { - if ( selectedItemId > 0 ) { - timelineView.itemId = selectedItemId; - timelineView.activeDate = activeDate; - application.setCurrentEventItemId(selectedItemId); - guiStateManager.pushUniqueState( KPIM.GuiStateManager.ViewSingleItemState ); - } - } - } -} - diff --git a/kdepim/mobile/calendar/agendaviewitem.cpp b/kdepim/mobile/calendar/agendaviewitem.cpp deleted file mode 100644 index ea0c02a9..00000000 --- a/kdepim/mobile/calendar/agendaviewitem.cpp +++ /dev/null @@ -1,187 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "agendaviewitem.h" - -#include -#include - -#include -#include -#include - -using namespace EventViews; - -AgendaViewItem::AgendaViewItem(QDeclarativeItem* parent) - : DeclarativeAkonadiItem( parent ) - , m_view( new AgendaView( QDate(), QDate(), - false /*interactive*/, - false /*side-by-side*/, - 0 /*parent*/) ) - , m_currentRange( Week ) -{ - // start with the oxygen palette (which is not necessarily the default on all platforms) - QPalette pal = KGlobalSettings::createApplicationPalette( KGlobal::config() ); - m_view->setPalette( pal ); - m_view->setDateRangeSelectionEnabled( false ); - - connect( m_view, SIGNAL(incidenceSelected(Akonadi::Item,QDate)), - SIGNAL(itemSelected(Akonadi::Item,QDate)) ); - connect( this, SIGNAL(nextItemRequest()), SLOT(gotoNext()) ); - connect( this, SIGNAL(previousItemRequest()), SLOT(gotoPrevious()) ); - - setWidget( m_view ); - showRange( QDate::currentDate(), Week ); - - preferences()->readConfig(); -} - -AgendaViewItem::~AgendaViewItem() -{ - preferences()->writeConfig(); - delete m_view; -} - -QDate AgendaViewItem::startDate() const -{ - return QDate( m_view->startDate() ); -} - -void AgendaViewItem::setStartDate(const QDate& startDate) -{ - kDebug() << startDate; - if ( startDate.isValid() ) - m_view->showDates( startDate, endDate() ); -} - -QDate AgendaViewItem::endDate() const -{ - return QDate( m_view->endDate() ); -} - -void AgendaViewItem::setEndDate(const QDate& endDate) -{ - kDebug() << endDate; - if ( endDate.isValid() ) - m_view->showDates( startDate(), endDate ); -} - -QObject* AgendaViewItem::calendar() const -{ - return m_view->calendar().data(); -} - -void AgendaViewItem::setCalendar(QObject* calendarObj) -{ - Akonadi::ETMCalendar *cal = qobject_cast( calendarObj ); - - kDebug() << calendarObj << cal; - if ( cal ) { - m_view->setCalendar( cal->weakPointer().toStrongRef().dynamicCast() ); - m_view->updateConfig(); - } -} - -void AgendaViewItem::showRange( const QDate &date, int range ) -{ - Q_ASSERT( range >= 0 && range <= LastRange ); - - m_currentRange = Range( range ); - switch( m_currentRange ) { - case Day: { - m_view->showDates( date, date ); - break; - } - case Week: { - int weekStartDay = KGlobal::locale()->weekStartDay(); - if ( weekStartDay > date.dayOfWeek() ) - weekStartDay = weekStartDay - 7; - m_view->showDates( date.addDays( weekStartDay - date.dayOfWeek() ), date.addDays( weekStartDay + 6 - date.dayOfWeek() ) ); - break; - } - case WorkWeek: { - int workingWeekStartDay = KGlobal::locale()->workingWeekStartDay(); - int workingWeekEndDay = KGlobal::locale()->workingWeekEndDay(); - m_view->showDates( date.addDays( workingWeekStartDay - date.dayOfWeek() ), date.addDays( workingWeekEndDay - date.dayOfWeek() ) ); - break; - } - case Next3Days: { - m_view->showDates( date, date.addDays( 3 ) ); - break; - } - default:; - } -} - -void AgendaViewItem::showToday() -{ - showRange( QDate::currentDate() , m_currentRange ); -} - - -qint64 AgendaViewItem::selectedItemId() const -{ - if ( m_view->selectedIncidences().size() < 1 ) - return -1; - return m_view->selectedIncidences().first().id(); -} - -void AgendaViewItem::clearSelection() -{ - m_view->clearSelection(); -} - -void AgendaViewItem::gotoNext() -{ - const QDate start = (m_currentRange == WorkWeek ? startDate().addDays( 7 ) - : endDate().addDays( 1 )); - const QDate end = start.addDays( startDate().daysTo( endDate() ) ); - m_view->blockSignals( true ); - m_view->showDates( start, end ); - m_view->clearSelection(); - m_view->blockSignals( false ); -} - -void AgendaViewItem::gotoPrevious() -{ - const QDate end = (m_currentRange == WorkWeek ? endDate().addDays( -7 ) - : startDate().addDays( -1 )); - const QDate start = end.addDays( - startDate().daysTo( endDate() ) ); - m_view->blockSignals( true ); - m_view->showDates( start, end ); - m_view->clearSelection(); - m_view->blockSignals( false ); -} - -void AgendaViewItem::setPreferences( const PrefsPtr &preferences ) -{ - m_view->setPreferences( preferences ); -} - -PrefsPtr AgendaViewItem::preferences() const -{ - return m_view->preferences(); -} - -void AgendaViewItem::updateConfig() -{ - m_view->updateConfig(); -} - - diff --git a/kdepim/mobile/calendar/agendaviewitem.h b/kdepim/mobile/calendar/agendaviewitem.h deleted file mode 100644 index 50219855..00000000 --- a/kdepim/mobile/calendar/agendaviewitem.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CALENDARVIEWS_AGENDAVIEWITEM_H -#define CALENDARVIEWS_AGENDAVIEWITEM_H - -#include - -#include "declarativeakonadiitem.h" - -#include "calendarviews/prefs.h" - -namespace Akonadi { -class Item; -} - -namespace EventViews { - -class AgendaView; - -class AgendaViewItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - Q_ENUMS( Range ) - Q_PROPERTY( QDate startDate READ startDate WRITE setStartDate ) - Q_PROPERTY( QDate endDate READ endDate WRITE setEndDate ) - Q_PROPERTY( QObject* calendar READ calendar WRITE setCalendar ) - Q_PROPERTY( qint64 selectedItemId READ selectedItemId NOTIFY itemSelected ) - Q_PROPERTY( int range READ range ) - - public: - enum Range { - Day = 0, - Week, - WorkWeek, - Next3Days, - LastRange - }; - - public: - explicit AgendaViewItem( QDeclarativeItem *parent = 0 ); - ~AgendaViewItem(); - - virtual qint64 itemId() const { return -1; } - virtual void setItemId( qint64 /*id*/ ) {} - - QDate startDate() const; - void setStartDate( const QDate &startDate ); - QDate endDate() const; - void setEndDate( const QDate &endDate ); - QObject *calendar() const; - void setCalendar( QObject* calendarObj ); - - /** Show the appropriate range for given date. */ - Q_INVOKABLE void showRange( const QDate &date, /* Range */ int range ); // TODO: Figure out how to export enums to QML - - Q_INVOKABLE void showToday(); - - int range() const { return m_currentRange; } - - qint64 selectedItemId() const; - - void setPreferences( const PrefsPtr &preferences ); - PrefsPtr preferences() const; - - public slots: - /** Unselects currently selected incidences */ - void clearSelection(); - - /** Show the following date range of equal length right after the current one. */ - void gotoNext(); - /** Show the preceding date range. */ - void gotoPrevious(); - - void updateConfig(); - - signals: - void itemSelected( Akonadi::Item item, const QDate &activeDate ); - - private: - AgendaView *m_view; - Range m_currentRange; -}; - -} - -#endif // CALENDARVIEWS_AGENDAVIEWITEM_H diff --git a/kdepim/mobile/calendar/calendarinterface.cpp b/kdepim/mobile/calendar/calendarinterface.cpp deleted file mode 100644 index a2cd7f9a..00000000 --- a/kdepim/mobile/calendar/calendarinterface.cpp +++ /dev/null @@ -1,186 +0,0 @@ -/* -*- mode: C++; c-file-style: "gnu" -*- - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net - Copyright (c) 2010 Andras Mantia - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - - - -#include "calendarinterface.h" -#include "mainview.h" - -#include -#include - -void CalendarInterface::showDate( const QDate &date ) -{ - emit showDateSignal(QVariant::fromValue( date ) ); -} - -void CalendarInterface::goDate( const QDate& ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - -void CalendarInterface::goDate( const QString& ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - -void CalendarInterface::openEventEditor( const QString& ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - -void CalendarInterface::openEventEditor( const QString &summary, - const QString &description, - const QStringList &attachments) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( summary ); - Q_UNUSED( description ); - Q_UNUSED( attachments ); -} - -void CalendarInterface::openEventEditor( const QString &summary, - const QString &description, - const QStringList &attachments, - const QStringList &attendees) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( summary ); - Q_UNUSED( description ); - Q_UNUSED( attachments ); - Q_UNUSED( attendees ); -} - -void CalendarInterface::openEventEditor( const QString &summary, - const QString &description, - const QString &uri, - const QString &file, - const QStringList &attendees, - const QString &attachmentMimetype) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( summary ); - Q_UNUSED( description ); - Q_UNUSED( uri ); - Q_UNUSED( file ); - Q_UNUSED( attendees ); - Q_UNUSED( attachmentMimetype ); -} - -void CalendarInterface::openEventEditor( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &attachmentMimetypes, - bool attachmentIsInline ) -{ - emit openIncidenceEditorSignal( summary, description, attachmentUris, attendees, - attachmentMimetypes, attachmentIsInline, - KCalCore::Incidence::TypeEvent ); -} - -void CalendarInterface::openJournalEditor( const QDate & ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - -void CalendarInterface::openJournalEditor( const QString &text, const QDate &date ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( text ); - Q_UNUSED( date ); -} - -void CalendarInterface::openJournalEditor( const QString &text ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( text ); -} - -void CalendarInterface::openTodoEditor( const QString& ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - -void CalendarInterface::openTodoEditor( const QString &summary, - const QString &description, - const QStringList &attachments ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( summary ); - Q_UNUSED( description ); - Q_UNUSED( attachments ); -} - - -void CalendarInterface::openTodoEditor( const QString &summary, - const QString &description, - const QStringList &attachments, - const QStringList &attendees ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( summary ); - Q_UNUSED( description ); - Q_UNUSED( attachments ); - Q_UNUSED( attendees ); -} - -void CalendarInterface::openTodoEditor( const QString &summary, - const QString &description, - const QString &uri, - const QString &file, - const QStringList &attendees, - const QString &attachmentMimetype ) -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; - Q_UNUSED( summary ); - Q_UNUSED( description ); - Q_UNUSED( uri ); - Q_UNUSED( file ); - Q_UNUSED( attendees ); - Q_UNUSED( attachmentMimetype ); -} - -void CalendarInterface::openTodoEditor( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &attachmentMimetypes, - bool attachmentIsInline ) -{ - emit openIncidenceEditorSignal( summary, description, attachmentUris, attendees, - attachmentMimetypes, attachmentIsInline, - KCalCore::Incidence::TypeTodo ); -} - -void CalendarInterface::showEventView() -{ - emit showEventViewSignal(); -} - -void CalendarInterface::showJournalView() -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - -void CalendarInterface::showTodoView() -{ - kWarning() << Q_FUNC_INFO << " is not yet implemented in korganzier-mobile"; -} - diff --git a/kdepim/mobile/calendar/calendarinterface.h b/kdepim/mobile/calendar/calendarinterface.h deleted file mode 100644 index fa0711f9..00000000 --- a/kdepim/mobile/calendar/calendarinterface.h +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- mode: C++; c-file-style: "gnu" -*- - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net - Copyright (c) 2010 Andras Mantia - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - - -#ifndef CALENDARINTERFACE_H -#define CALENDARINTERFACE_H - -#include -#include - -class QDate; - -/** Implement the www.kde.korganizer/Calendar interface for korganizer-mobile */ -class CalendarInterface : public QObject -{ - Q_OBJECT -public: - explicit CalendarInterface(QObject * parent = 0) :QObject(parent){} -public slots: - void showDate(const QDate& date); - void openEventEditor( const QString &); - void openEventEditor( const QString &summary, - const QString &description, - const QStringList &attachments ); - void openEventEditor( const QString &summary, - const QString &description, - const QStringList &attachments, - const QStringList &attendees ); - void openEventEditor( const QString &summary, - const QString &description, - const QString &uri, - const QString &file, - const QStringList &attendees, - const QString &attachmentMimetype ); - - void openEventEditor( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &attachmentMimetypes, - bool attachmentIsInline ); - - void openTodoEditor( const QString &); - void openTodoEditor( const QString &summary, - const QString &description, - const QStringList &attachments ); - void openTodoEditor( const QString &summary, - const QString &description, - const QStringList &attachments, - const QStringList &attendees ); - void openTodoEditor( const QString &summary, - const QString &description, - const QString &uri, - const QString &file, - const QStringList &attendees, - const QString &attachmentMimetype ); - - void openTodoEditor( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &attachmentMimetypes, - bool attachmentIsInline ); - - void openJournalEditor( const QDate &date ); - void openJournalEditor( const QString &text, const QDate &date ); - void openJournalEditor( const QString &text ); - - void showJournalView(); - void showTodoView(); - void showEventView(); - - void goDate( const QDate &); - void goDate( const QString &); - -signals: - void showDateSignal(const QVariant& date); - void showEventViewSignal(); - void openIncidenceEditorSignal( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &attachmentMimetypes, - bool attachmentIsInline, - KCalCore::Incidence::IncidenceType type ); -}; - -#endif // CALENDARINTERFACE_H diff --git a/kdepim/mobile/calendar/configwidget.cpp b/kdepim/mobile/calendar/configwidget.cpp deleted file mode 100644 index 26baef35..00000000 --- a/kdepim/mobile/calendar/configwidget.cpp +++ /dev/null @@ -1,294 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "configwidget.h" - -#include "settings.h" -#include "stylesheetloader.h" -#include "ui_configwidget.h" - -#include -#include -#include -#include - -using namespace CalendarSupport; - -ConfigWidget::ConfigWidget( QWidget *parent ) - : QWidget( parent ) -{ - mUi = new Ui_ConfigWidget; - mUi->setupUi( this ); - - mUi->kcfg_DayBegins->setProperty( "kcfg_property", QByteArray( "dateTime" ) ); - mUi->kcfg_DailyStartingHour->setProperty( "kcfg_property", QByteArray( "dateTime" ) ); - mUi->kcfg_DailyEndingHour->setProperty( "kcfg_property", QByteArray( "dateTime" ) ); - mUi->kcfg_DefaultAppointmentTime->setProperty( "kcfg_property", QByteArray( "dateTime" ) ); - - mUi->kcfg_AgendaViewColorUsage->addItem( i18n( "Category inside, calendar outside" ) ); - mUi->kcfg_AgendaViewColorUsage->addItem( i18n( "Calendar inside, category outside" ) ); - mUi->kcfg_AgendaViewColorUsage->addItem( i18n( "Only category" ) ); - mUi->kcfg_AgendaViewColorUsage->addItem( i18n( "Only calendar" ) ); - - mUi->kcfg_MonthViewColorUsage->addItem( i18n( "Category inside, calendar outside" ) ); - mUi->kcfg_MonthViewColorUsage->addItem( i18n( "Calendar inside, category outside" ) ); - mUi->kcfg_MonthViewColorUsage->addItem( i18n( "Only category" ) ); - mUi->kcfg_MonthViewColorUsage->addItem( i18n( "Only calendar" ) ); - - mHolidayCombo = mUi->kcfg_HolidayRegion; - mWorkDays << mUi->workingPeriodMonday; - mWorkDays << mUi->workingPeriodTuesday; - mWorkDays << mUi->workingPeriodWednesday; - mWorkDays << mUi->workingPeriodThursday; - mWorkDays << mUi->workingPeriodFriday; - mWorkDays << mUi->workingPeriodSaturday; - mWorkDays << mUi->workingPeriodSunday; - - mManager = new KConfigDialogManager( this, Settings::self() ); - - // fill holiday combobox - const QStringList regions = KHolidays::HolidayRegion::regionCodes(); - QMap regionsMap; - - foreach ( const QString & regionCode, regions ) { - const QString name = KHolidays::HolidayRegion::name( regionCode ); - const QString languageName = KGlobal::locale()->languageCodeToName( KHolidays::HolidayRegion::languageCode( regionCode ) ); - - QString label; - if ( languageName.isEmpty() ) { - label = name; - } else { - label = i18nc( "Holday region, region language", "%1 (%2)", name, languageName ); - } - - regionsMap.insert( label, regionCode ); - } - - mHolidayCombo->addItem( i18nc( "No holiday region", "None"), QString() ); - QMapIterator it( regionsMap ); - while ( it.hasNext() ) { - it.next(); - mHolidayCombo->addItem( it.key(), it.value() ); - } - - mUi->kcfg_DayBegins->installEventFilter( this ); - mUi->kcfg_DailyStartingHour->installEventFilter( this ); - mUi->kcfg_DailyEndingHour->installEventFilter( this ); - mUi->kcfg_DefaultAppointmentTime->installEventFilter( this ); - - connect( this, SIGNAL(dayBeginsFocus(QObject*)), SLOT(showClock(QObject*)) ); - connect( this, SIGNAL(dailyStartingHourFocus(QObject*)), SLOT(showClock(QObject*)) ); - connect( this, SIGNAL(dailyEndingHourFocus(QObject*)), SLOT(showClock(QObject*)) ); - connect( this, SIGNAL(defaultAppointmentTimeFocus(QObject*)), SLOT(showClock(QObject*)) ); -} - -ConfigWidget::~ConfigWidget() -{ - delete mUi; -} - -void ConfigWidget::setPreferences( const EventViews::PrefsPtr &preferences ) -{ - mViewPrefs = preferences; - load(); -} - -void ConfigWidget::load() -{ - loadFromExternalSettings(); - mManager->updateWidgets(); - - if ( !Settings::self()->holidayRegion().isEmpty() ) - mHolidayCombo->setCurrentIndex( mHolidayCombo->findData( Settings::self()->holidayRegion() ) ); - else - mHolidayCombo->setCurrentIndex( 0 ); - - for ( int i = 0; i < 7; ++i ) { - mWorkDays[ i ]->setChecked( ( 1 << i ) & ( Settings::self()->workWeekMask() ) ); - } -} - -void ConfigWidget::save() -{ - mManager->updateSettings(); - - Settings::self()->setHolidayRegion( mHolidayCombo->itemData( mHolidayCombo->currentIndex() ).toString() ); - - int mask = 0; - for ( int i = 0; i < 7; ++i ) { - if ( mWorkDays[ i ]->isChecked() ) { - mask = mask | ( 1 << i ); - } - } - - Settings::self()->setWorkWeekMask( mask ); - - saveToExternalSettings(); -} - -void ConfigWidget::loadFromExternalSettings() -{ - // Date and Time - Settings::self()->setHolidayRegion( KCalPrefs::instance()->holidays() ); - Settings::self()->setExcludeHolidays( KCalPrefs::instance()->excludeHolidays() ); - Settings::self()->setWorkWeekMask( KCalPrefs::instance()->workWeekMask() ); - Settings::self()->setDefaultAppointmentTime( KCalPrefs::instance()->startTime() ); - Settings::self()->setDefaultAppointmentDuration( KCalPrefs::instance()->defaultDuration() ); - Settings::self()->setRemindersForNewEvents( KCalPrefs::instance()->defaultEventReminders() ); - Settings::self()->setReminderDefaultTime( KCalPrefs::instance()->reminderTime() ); - Settings::self()->setReminderDefaultUnit( KCalPrefs::instance()->reminderTimeUnits() ); - Settings::self()->setDayBegins( mViewPrefs->dayBegins() ); - Settings::self()->setDailyStartingHour( mViewPrefs->workingHoursStart() ); - Settings::self()->setDailyEndingHour( mViewPrefs->workingHoursEnd() ); - - // Views - Settings::self()->setTodosUseCategoryColors( mViewPrefs->todosUseCategoryColors() ); - Settings::self()->setHourSize( mViewPrefs->hourSize() ); - Settings::self()->setShowIconsInAgendaView( mViewPrefs->enableAgendaItemIcons() ); - Settings::self()->setShowTodosInAgendaView( mViewPrefs->showTodosAgendaView() ); - Settings::self()->setShowCurrentTimeLine( mViewPrefs->marcusBainsEnabled() ); - Settings::self()->setAgendaViewColorUsage( mViewPrefs->agendaViewColors() ); - Settings::self()->setColorBusyDaysInAgendaView( mViewPrefs->colorAgendaBusyDays() ); - Settings::self()->setShowTodosInMonthView( mViewPrefs->showTodosMonthView() ); - Settings::self()->setMonthViewColorUsage( mViewPrefs->monthViewColors() ); - Settings::self()->setColorBusyDaysInMonthView( mViewPrefs->colorMonthBusyDays() ); - - // Colors - Settings::self()->setHolidayColor( mViewPrefs->holidayColor() ); - Settings::self()->setAgendaViewBackgroundColor( mViewPrefs->agendaViewBackgroundColor() ); - Settings::self()->setBusyDaysBackgroundColor( mViewPrefs->viewBgBusyColor() ); - Settings::self()->setAgendaViewTimeLineColor( mViewPrefs->agendaMarcusBainsLineLineColor() ); - Settings::self()->setWorkingHoursColor( mViewPrefs->workingHoursColor() ); - Settings::self()->setTodoDueColor( mViewPrefs->todoDueTodayColor() ); - Settings::self()->setTodoOverdueColor( mViewPrefs->todoOverdueColor() ); - - // Group scheduling - Settings::self()->setUseGroupwareCommunication( KCalPrefs::instance()->useGroupwareCommunication() ); -} - -void ConfigWidget::saveToExternalSettings() -{ - // Date and Time - KCalPrefs::instance()->setHolidays( Settings::self()->holidayRegion() ); - KCalPrefs::instance()->setExcludeHolidays( Settings::self()->excludeHolidays() ); - KCalPrefs::instance()->setWorkWeekMask( Settings::self()->workWeekMask() ); - KCalPrefs::instance()->setStartTime( Settings::self()->defaultAppointmentTime() ); - KCalPrefs::instance()->setDefaultDuration( Settings::self()->defaultAppointmentDuration() ); - KCalPrefs::instance()->setDefaultEventReminders( Settings::self()->remindersForNewEvents() ); - KCalPrefs::instance()->setReminderTime( Settings::self()->reminderDefaultTime() ); - KCalPrefs::instance()->setReminderTimeUnits( Settings::self()->reminderDefaultUnit() ); - mViewPrefs->setDayBegins( Settings::self()->dayBegins() ); - mViewPrefs->setWorkingHoursStart( Settings::self()->dailyStartingHour() ); - mViewPrefs->setWorkingHoursEnd( Settings::self()->dailyEndingHour() ); - - // Views - mViewPrefs->setTodosUseCategoryColors( Settings::self()->todosUseCategoryColors() ); - mViewPrefs->setHourSize( Settings::self()->hourSize() ); - mViewPrefs->setEnableAgendaItemIcons( Settings::self()->showIconsInAgendaView() ); - mViewPrefs->setShowTodosAgendaView( Settings::self()->showTodosInAgendaView() ); - mViewPrefs->setMarcusBainsEnabled( Settings::self()->showCurrentTimeLine() ); - mViewPrefs->setAgendaViewColors( Settings::self()->agendaViewColorUsage() ); - mViewPrefs->setColorAgendaBusyDays( Settings::self()->colorBusyDaysInAgendaView() ); - mViewPrefs->setShowTodosMonthView( Settings::self()->showTodosInMonthView() ); - mViewPrefs->setMonthViewColors( Settings::self()->monthViewColorUsage() ); - mViewPrefs->setColorMonthBusyDays( Settings::self()->colorBusyDaysInMonthView() ); - - // Colors - mViewPrefs->setHolidayColor( Settings::self()->holidayColor() ); - mViewPrefs->setAgendaViewBackgroundColor( Settings::self()->agendaViewBackgroundColor() ); - mViewPrefs->setViewBgBusyColor( Settings::self()->busyDaysBackgroundColor() ); - mViewPrefs->setAgendaMarcusBainsLineLineColor( Settings::self()->agendaViewTimeLineColor() ); - mViewPrefs->setWorkingHoursColor( Settings::self()->workingHoursColor() ); - mViewPrefs->setTodoDueTodayColor( Settings::self()->todoDueColor() ); - mViewPrefs->setTodoOverdueColor( Settings::self()->todoOverdueColor() ); - - // Group scheduling - KCalPrefs::instance()->setUseGroupwareCommunication( Settings::self()->useGroupwareCommunication() ); - - Settings::self()->writeConfig(); - KCalPrefs::instance()->writeConfig(); - mViewPrefs->writeConfig(); -} - -void ConfigWidget::showClock( QObject *object ) -{ - setFocus(); - mFocusedTimeWidget = qobject_cast( object ); - if ( !mFocusedTimeWidget ) - return; - - const QTime time = mFocusedTimeWidget->time(); - emit showClockWidget( time.hour(), time.minute() ); -} - -void ConfigWidget::setNewTime( int hour, int minute ) -{ - if ( mFocusedTimeWidget == 0 ) - return; - - mFocusedTimeWidget->setTime( QTime( hour, minute ) ); -} - -bool ConfigWidget::eventFilter( QObject *object, QEvent *event ) -{ - if ( event->type() == QEvent::FocusIn ) { - if ( object == mUi->kcfg_DayBegins ) { - emit dayBeginsFocus( object ); - } else if ( object == mUi->kcfg_DailyStartingHour ) { - emit dailyStartingHourFocus( object ); - } else if ( object == mUi->kcfg_DailyEndingHour ) { - emit dailyEndingHourFocus( object ); - } else if ( object == mUi->kcfg_DefaultAppointmentTime ) { - emit defaultAppointmentTimeFocus( object ); - } - - return true; - } else { - // standard event processing - return QObject::eventFilter( object, event ); - } -} - -DeclarativeConfigWidget::DeclarativeConfigWidget( QGraphicsItem *parent ) - : DeclarativeWidgetBase< ConfigWidget, MainView, &MainView::setConfigWidget>( parent ) -{ - connect( this, SIGNAL(configChanged()), widget(), SIGNAL(configChanged()) ); - connect( widget(), SIGNAL(showClockWidget(int,int)), this, SIGNAL(showClockWidget(int,int)) ); -} - -DeclarativeConfigWidget::~DeclarativeConfigWidget() -{ -} - -void DeclarativeConfigWidget::load() -{ - widget()->load(); -} - -void DeclarativeConfigWidget::save() -{ - widget()->save(); - emit configChanged(); -} - -void DeclarativeConfigWidget::setNewTime( int hour, int minute ) -{ - widget()->setNewTime( hour, minute ); -} - diff --git a/kdepim/mobile/calendar/configwidget.h b/kdepim/mobile/calendar/configwidget.h deleted file mode 100644 index 47c93158..00000000 --- a/kdepim/mobile/calendar/configwidget.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef CONFIGWIDGET_H -#define CONFIGWIDGET_H - -#include "declarativewidgetbase.h" -#include "mainview.h" - -#include "calendarviews/eventview.h" -#include "calendarviews/prefs.h" - -#include -#include - -class KComboBox; -class KConfigDialogManager; -class KTimeComboBox; -class QCheckBox; -class Ui_ConfigWidget; - -class ConfigWidget : public QWidget -{ - Q_OBJECT - - public: - explicit ConfigWidget( QWidget *parent = 0 ); - ~ConfigWidget(); - - void setPreferences( const EventViews::PrefsPtr &preferences ); - - public Q_SLOTS: - void load(); - void save(); - - void setNewTime( int hour, int minute ); - - Q_SIGNALS: - void configChanged(); - void showClockWidget( int hour, int minute ); - - void dayBeginsFocus( QObject *object ); - void dailyStartingHourFocus( QObject *object ); - void dailyEndingHourFocus( QObject *object ); - void defaultAppointmentTimeFocus( QObject *object ); - - protected: - bool eventFilter( QObject *object, QEvent *event ); - - private Q_SLOTS: - void showClock( QObject *object ); - - private: - void loadFromExternalSettings(); - void saveToExternalSettings(); - - Ui_ConfigWidget *mUi; - KConfigDialogManager *mManager; - KComboBox *mHolidayCombo; - QVector mWorkDays; - EventViews::PrefsPtr mViewPrefs; - KTimeComboBox *mFocusedTimeWidget; -}; - -class DeclarativeConfigWidget : -#ifndef Q_MOC_RUN -public DeclarativeWidgetBase -#else -public QGraphicsProxyWidget -#endif -{ - Q_OBJECT - - public: - explicit DeclarativeConfigWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeConfigWidget(); - - public Q_SLOTS: - void load(); - void save(); - - void setNewTime( int hour, int minute ); - - Q_SIGNALS: - void configChanged(); - void showClockWidget( int hour, int minute ); -}; - -#endif diff --git a/kdepim/mobile/calendar/configwidget.ui b/kdepim/mobile/calendar/configwidget.ui deleted file mode 100644 index 943bfbf7..00000000 --- a/kdepim/mobile/calendar/configwidget.ui +++ /dev/null @@ -1,580 +0,0 @@ - - - ConfigWidget - - - - 0 - 0 - 501 - 1132 - - - - - - - - - - 75 - true - - - - Time and Date - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - Day begins at: - - - - - - - - - - Use holiday region: - - - - - - - - - - Working Period: - - - - - - - - 0 - - - - - Monday - - - - - - - Tuesday - - - - - - - Wednesday - - - - - - - Thursday - - - - - - - Friday - - - - - - - Saturday - - - - - - - Sunday - - - - - - - - - - - - - Daily starting hour: - - - - - - - Daily ending hour: - - - - - - - - - - - - Exclude holidays - - - - - - - - - - - - 75 - true - - - - New Events - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - - Default appointment time: - - - - - - - - - - Default duration: - - - - - - - hh:mm - - - - - - - Default reminder time: - - - - - - - - 0 - - - - - - - - - minute(s) - - - - - hour(s) - - - - - day(s) - - - - - - - - - - - - - Enable reminders for new appointments - - - - - - - - - - - - 75 - true - - - - Views - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - To-dos use category colors - - - - - - - - - Hour size: - - - - - - - pixels - - - 4 - - - 30 - - - 10 - - - - - - - - - Show icons in agenda view - - - - - - - Show to-dos in agenda view - - - - - - - Show current time line - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - - - - Agenda view color usage: - - - - - - - - - Color busy days in agenda view - - - - - - - Show to-dos in month view - - - - - - - - - Month view color usage: - - - - - - - - - - - - Color busy days in month view - - - - - - - - - - - - 75 - true - - - - Colors - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - - Holiday color: - - - - - - - - - - Agenda view background color: - - - - - - - - - - Busy days background color: - - - - - - - - - - Agenda view current time line color: - - - - - - - - - - Working hours color: - - - - - - - - - - To-do due today color: - - - - - - - - - - To-do overdue color: - - - - - - - - - - - - - - - - - 75 - true - - - - Group Scheduling - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Use Groupware communication - - - - - - - - - - KTimeComboBox - QComboBox -
ktimecombobox.h
-
- - KPIM::KColorCombo - QComboBox -
kcolorcombo.h
-
- - KComboBox - QComboBox -
kcombobox.h
-
-
- - -
diff --git a/kdepim/mobile/calendar/declarativewidgetwrapper.cpp b/kdepim/mobile/calendar/declarativewidgetwrapper.cpp deleted file mode 100644 index 2d4487df..00000000 --- a/kdepim/mobile/calendar/declarativewidgetwrapper.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "declarativewidgetwrapper.h" - -#include - -using namespace Qt; - -DeclarativeWidgetWrapperBase::DeclarativeWidgetWrapperBase(QWidget* widget, QDeclarativeItem* parent) : - QDeclarativeItem(parent), - m_proxy( new QGraphicsProxyWidget( this ) ) -{ - m_proxy->setWidget( widget ); - QPalette pal = widget->palette(); - pal.setColor( QPalette::Background, QColor( 0, 0, 0, 0 ) ); - widget->setPalette( pal ); -} - -void DeclarativeWidgetWrapperBase::geometryChanged(const QRectF& newGeometry, const QRectF& oldGeometry) -{ - QDeclarativeItem::geometryChanged( newGeometry, oldGeometry ); - m_proxy->resize( newGeometry.size() ); -} - diff --git a/kdepim/mobile/calendar/declarativewidgetwrapper.h b/kdepim/mobile/calendar/declarativewidgetwrapper.h deleted file mode 100644 index acd844cd..00000000 --- a/kdepim/mobile/calendar/declarativewidgetwrapper.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef DECLARATIVEWIDGETWRAPPER_H -#define DECLARATIVEWIDGETWRAPPER_H - -#include -#include - -class QGraphicsProxyWidget; - -namespace Qt { - -class DeclarativeWidgetWrapperBase : public QDeclarativeItem -{ - Q_OBJECT - public: - DeclarativeWidgetWrapperBase( QWidget *widget, QDeclarativeItem *parent ); - - protected: - void geometryChanged( const QRectF &newGeometry, const QRectF &oldGeometry ); - - virtual QWidget* widget() const = 0; - - private: - QGraphicsProxyWidget *m_proxy; -}; - -template -class DeclarativeWidgetWrapper : public DeclarativeWidgetWrapperBase -{ - public: - explicit DeclarativeWidgetWrapper( QDeclarativeItem* parent ) : - DeclarativeWidgetWrapperBase( m_widget = new WidgetT, parent ) - { - StyleSheetLoader::applyStyle( m_widget ); - } - - protected: - WidgetT* widget() const { return m_widget; } - WidgetT* m_widget; -}; - -} - -#endif // DECLARATIVEWIDGETWRAPPER_H - diff --git a/kdepim/mobile/calendar/eventlistproxy.cpp b/kdepim/mobile/calendar/eventlistproxy.cpp deleted file mode 100644 index fe578cee..00000000 --- a/kdepim/mobile/calendar/eventlistproxy.cpp +++ /dev/null @@ -1,165 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "eventlistproxy.h" - -#include - -#include -#include -#include - -#include -#include -#include - -#include - -EventListProxy::EventListProxy(QObject* parent) : ListProxy(parent) -{ - setDynamicSortFilter( true ); - sort( 0, Qt::DescendingOrder ); - - mCurrentDateTimeReference = QDateTime::currentMSecsSinceEpoch(); - mToday = KDateTime::currentLocalDateTime(); -} - -QVariant EventListProxy::data(const QModelIndex& index, int role) const -{ - const Akonadi::Item item = QSortFilterProxyModel::data( index, Akonadi::EntityTreeModel::ItemRole ).value(); - if ( item.isValid() && item.hasPayload() ) { - const KCalCore::Incidence::Ptr incidence = item.payload(); - switch ( role ) { - case SummaryRole: - return incidence->summary(); - case BeginRole: - return KGlobal::locale()->formatDateTime( incidence->dtStart(), KLocale::FancyShortDate ); - case DurationRole: - return KCalUtils::IncidenceFormatter::durationString( incidence ); - } - } - return QSortFilterProxyModel::data(index, role); -} - -void EventListProxy::setSourceModel( QAbstractItemModel *model ) -{ - if ( sourceModel() ) - disconnect( sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), - this, SLOT(dataChanged(QModelIndex,QModelIndex)) ); - - ListProxy::setSourceModel( model ); - - connect( sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), - this, SLOT(dataChanged(QModelIndex,QModelIndex)) ); - - QHash names = roleNames(); - names.insert( Akonadi::EntityTreeModel::ItemIdRole, "itemId" ); - names.insert( SummaryRole, "summary" ); - names.insert( BeginRole, "begin" ); - names.insert( DurationRole, "duration" ); - setRoleNames( names ); -} - -KDateTime EventListProxy::startDateTimeForItem( const Akonadi::Item &item ) const -{ - const QHash::const_iterator it = mDateTimeHash.constFind( item.id() ); - if ( it != mDateTimeHash.constEnd() ) - return (*it).startDateTime; - - const KCalCore::Event::Ptr event = item.payload(); - - DateTimeHashEntry entry; - entry.startDateTime = event->dtStart(); - entry.endDateTime = event->dtEnd(); - - mDateTimeHash.insert( item.id(), entry ); - - return entry.startDateTime; -} - -KDateTime EventListProxy::endDateTimeForItem( const Akonadi::Item &item ) const -{ - const QHash::const_iterator it = mDateTimeHash.constFind( item.id() ); - if ( it != mDateTimeHash.constEnd() ) - return (*it).endDateTime; - - const KCalCore::Event::Ptr event = item.payload(); - - DateTimeHashEntry entry; - entry.startDateTime = event->dtStart(); - entry.endDateTime = event->dtEnd(); - - mDateTimeHash.insert( item.id(), entry ); - - return entry.endDateTime; -} - -bool EventListProxy::lessThan(const QModelIndex& left, const QModelIndex& right) const -{ - const Akonadi::Item leftItem = left.data( Akonadi::EntityTreeModel::ItemRole ).value(); - const Akonadi::Item rightItem = right.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( !leftItem.hasPayload() || !rightItem.hasPayload() ) - return leftItem.id() < rightItem.id(); - - const KDateTime leftDateTimeStart = startDateTimeForItem( leftItem ); - const KDateTime leftDateTimeEnd = endDateTimeForItem( leftItem ); - const KDateTime rightDateTimeStart = startDateTimeForItem( rightItem ); - const KDateTime rightDateTimeEnd = endDateTimeForItem( rightItem ); - - if ( leftDateTimeStart == rightDateTimeStart ) - return leftItem.id() < rightItem.id(); - - if ( (mCurrentDateTimeReference + 60000) < QDateTime::currentMSecsSinceEpoch() ) { - mCurrentDateTimeReference = QDateTime::currentMSecsSinceEpoch(); - mToday = KDateTime::currentLocalDateTime(); - } - - const bool leftIsFuture = (leftDateTimeEnd >= mToday); - const bool rightIsFuture = (rightDateTimeEnd >= mToday); - - if ( leftIsFuture != rightIsFuture ) { - return !leftIsFuture; - } - - if ( leftIsFuture ) - return leftDateTimeStart > rightDateTimeStart; - else - return leftDateTimeStart < rightDateTimeStart; -} - -void EventListProxy::dataChanged( const QModelIndex &topLeft, const QModelIndex &bottomRight ) -{ - QItemSelection selection; - selection.select( topLeft, bottomRight ); - - foreach ( const QModelIndex &index, selection.indexes() ) { - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( !item.hasPayload() ) - continue; - - const KCalCore::Event::Ptr event = item.payload(); - - DateTimeHashEntry entry; - entry.startDateTime = event->dtStart(); - entry.endDateTime = event->dtEnd(); - - mDateTimeHash.insert( item.id(), entry ); - } -} - diff --git a/kdepim/mobile/calendar/eventlistproxy.h b/kdepim/mobile/calendar/eventlistproxy.h deleted file mode 100644 index d053ecdd..00000000 --- a/kdepim/mobile/calendar/eventlistproxy.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EVENTLISTPROXY_H -#define EVENTLISTPROXY_H - -#include "listproxy.h" - -#include -#include - -/** Proxy model to provide roles for accessing KMime::Message properties from QML. */ -class EventListProxy : public ListProxy -{ - Q_OBJECT - - public: - explicit EventListProxy(QObject* parent = 0); - enum Role { - SummaryRole = Akonadi::EntityTreeModel::UserRole, - BeginRole, - DurationRole - }; - - QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - void setSourceModel(QAbstractItemModel* sourceModel); - bool lessThan(const QModelIndex& left, const QModelIndex& right) const; - - private Q_SLOTS: - void dataChanged( const QModelIndex&, const QModelIndex& ); - - private: - KDateTime startDateTimeForItem( const Akonadi::Item &item ) const; - KDateTime endDateTimeForItem( const Akonadi::Item &item ) const; - - struct DateTimeHashEntry - { - KDateTime startDateTime; - KDateTime endDateTime; - }; - - mutable QHash mDateTimeHash; - mutable qint64 mCurrentDateTimeReference; - mutable KDateTime mToday; -}; - -#endif // EVENTLISTPROXY_H diff --git a/kdepim/mobile/calendar/eventsexporthandler.cpp b/kdepim/mobile/calendar/eventsexporthandler.cpp deleted file mode 100644 index 72b6ff6c..00000000 --- a/kdepim/mobile/calendar/eventsexporthandler.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "eventsexporthandler.h" - -#include -#include -#include -#include -#include -#include - -QString EventsExportHandler::dialogText() const -{ - return i18n( "Which events shall be exported?" ); -} - -QString EventsExportHandler::dialogAllText() const -{ - return i18n( "All Events" ); -} - -QString EventsExportHandler::dialogLocalOnlyText() const -{ - return i18n( "Events in current folder" ); -} - -QStringList EventsExportHandler::mimeTypes() const -{ - return QStringList( KCalCore::Event::eventMimeType() ); -} - -bool EventsExportHandler::exportItems( const Akonadi::Item::List &items ) -{ - const QString fileName = KFileDialog::getSaveFileName( KUrl( "calendar.ics" ), QLatin1String( "*.ics" ) ); - if ( fileName.isEmpty() ) - return true; - - KCalCore::MemoryCalendar::Ptr calendar( new KCalCore::MemoryCalendar( QLatin1String( "UTC" ) ) ); - calendar->startBatchAdding(); - foreach ( const Akonadi::Item &item, items ) { - if ( item.hasPayload() ) - calendar->addIncidence( item.payload() ); - } - calendar->endBatchAdding(); - - KCalCore::FileStorage::Ptr storage( new KCalCore::FileStorage( calendar, fileName, new KCalCore::ICalFormat() ) ); - - if ( storage->open() ) { - storage->save(); - storage->close(); - } else - return false; - - return true; -} diff --git a/kdepim/mobile/calendar/eventsexporthandler.h b/kdepim/mobile/calendar/eventsexporthandler.h deleted file mode 100644 index 936fd844..00000000 --- a/kdepim/mobile/calendar/eventsexporthandler.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EVENTSEXPORTHANDLER_H -#define EVENTSEXPORTHANDLER_H - -#include "../lib/exporthandlerbase.h" - -class EventsExportHandler : public ExportHandlerBase -{ - protected: - virtual QString dialogText() const; - virtual QString dialogAllText() const; - virtual QString dialogLocalOnlyText() const; - - virtual QStringList mimeTypes() const; - virtual bool exportItems( const Akonadi::Item::List &items ); -}; - -#endif // EVENTSEXPORTHANDLER_H - diff --git a/kdepim/mobile/calendar/eventsfilterproxymodel.cpp b/kdepim/mobile/calendar/eventsfilterproxymodel.cpp deleted file mode 100644 index d77651df..00000000 --- a/kdepim/mobile/calendar/eventsfilterproxymodel.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "eventsfilterproxymodel.h" - -#include -#include - -static bool eventMatchesFilter( const KCalCore::Event::Ptr &event, const QString &filterString ); - -using namespace Akonadi; - -class EventsFilterProxyModel::Private -{ - public: - QString mFilter; -}; - -EventsFilterProxyModel::EventsFilterProxyModel( QObject *parent ) - : QSortFilterProxyModel( parent ), d( new Private ) -{ - setSortLocaleAware( true ); - setDynamicSortFilter( true ); -} - -EventsFilterProxyModel::~EventsFilterProxyModel() -{ - delete d; -} - -void EventsFilterProxyModel::setFilterString( const QString &filter ) -{ - d->mFilter = filter; - invalidateFilter(); -} - -bool EventsFilterProxyModel::filterAcceptsRow( int row, const QModelIndex &parent ) const -{ - if ( d->mFilter.isEmpty() ) - return true; - - const QModelIndex index = sourceModel()->index( row, 0, parent ); - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.hasPayload() ) { - const KCalCore::Event::Ptr event = item.payload(); - return eventMatchesFilter( event, d->mFilter ); - } - - return true; -} - -static bool eventMatchesFilter( const KCalCore::Event::Ptr &event, const QString &filterString ) -{ - if ( event->summary().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - if ( event->description().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - return false; -} - diff --git a/kdepim/mobile/calendar/eventsfilterproxymodel.h b/kdepim/mobile/calendar/eventsfilterproxymodel.h deleted file mode 100644 index aee36178..00000000 --- a/kdepim/mobile/calendar/eventsfilterproxymodel.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_EVENTSFILTERPROXYMODEL_H -#define AKONADI_EVENTSFILTERPROXYMODEL_H - -#include - -namespace Akonadi { - -/** - * @short A proxy model for \a EntityTreeModel based event models. - * - * This class provides a filter proxy model for an EntityTreeModel. - * The list of shown events can be limited by setting a filter pattern. - * Only events that contain this pattern as part of their data will be listed. - * - * Example: - * - * @code - * - * Akonadi::EventsFilterProxyModel *filter = new Akonadi::EventsFilterProxyModel; - * filter->setSourceModel( model ); - * - * Akonadi::EntityTreeView *view = new Akonadi::EntityTreeView; - * view->setModel( filter ); - * - * QLineEdit *filterEdit = new QLineEdit; - * connect( filterEdit, SIGNAL( textChanged( const QString& ) ), - * filter, SLOT( setFilterString( const QString& ) ) ); - * - * @endcode - * - * @author Tobias Koenig - */ -class EventsFilterProxyModel : public QSortFilterProxyModel -{ - Q_OBJECT - - public: - /** - * Creates a new events filter proxy model. - * - * @param parent The parent object. - */ - explicit EventsFilterProxyModel( QObject *parent = 0 ); - - /** - * Destroys the events filter proxy model. - */ - ~EventsFilterProxyModel(); - - public Q_SLOTS: - /** - * Sets the @p filter that is used to filter for matching events. - */ - void setFilterString( const QString &filter ); - - protected: - //@cond PRIVATE - virtual bool filterAcceptsRow( int row, const QModelIndex &parent ) const; - //@endcond - - private: - //@cond PRIVATE - class Private; - Private* const d; - //@endcond -}; - -} - -#endif // AKONADI_EVENTSFILTERPROXYMODEL_H diff --git a/kdepim/mobile/calendar/eventsguistatemanager.cpp b/kdepim/mobile/calendar/eventsguistatemanager.cpp deleted file mode 100644 index c5a0dada..00000000 --- a/kdepim/mobile/calendar/eventsguistatemanager.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "eventsguistatemanager.h" - -bool EventsGuiStateManager::inViewDayState() const -{ - return (currentState() == ViewDayState); -} - -bool EventsGuiStateManager::inViewWeekState() const -{ - return (currentState() == ViewWeekState); -} - -bool EventsGuiStateManager::inViewMonthState() const -{ - return (currentState() == ViewMonthState); -} - -bool EventsGuiStateManager::inViewEventListState() const -{ - return (currentState() == ViewEventListState); -} - -bool EventsGuiStateManager::inViewTimelineState() const -{ - return (currentState() == ViewTimelineState); -} - -void EventsGuiStateManager::emitChangedSignal() -{ - GuiStateManager::emitChangedSignal(); - - emit guiStateChanged(); -} - diff --git a/kdepim/mobile/calendar/eventsguistatemanager.h b/kdepim/mobile/calendar/eventsguistatemanager.h deleted file mode 100644 index ff5b3e47..00000000 --- a/kdepim/mobile/calendar/eventsguistatemanager.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EVENTSGUISTATEMANAGER_H -#define EVENTSGUISTATEMANAGER_H - -#include "../lib/guistatemanager.h" - -class EventsGuiStateManager : public GuiStateManager -{ - Q_OBJECT - - Q_PROPERTY( bool inViewDayState READ inViewDayState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inViewWeekState READ inViewWeekState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inViewMonthState READ inViewMonthState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inViewEventListState READ inViewEventListState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inViewTimelineState READ inViewTimelineState NOTIFY guiStateChanged ) - - Q_ENUMS( GuiState ) - - public: - enum GuiState { - ViewDayState = GuiStateManager::UserState, - ViewWeekState, - ViewMonthState, - ViewEventListState, - ViewTimelineState - }; - - /** - * Returns whether the current state is the view day state. - */ - bool inViewDayState() const; - - /** - * Returns whether the current state is the view week state. - */ - bool inViewWeekState() const; - - /** - * Returns whether the current state is the view month state. - */ - bool inViewMonthState() const; - - /** - * Returns whether the current state is the view event list state. - */ - bool inViewEventListState() const; - - /** - * Returns whether the current state is the view timeline state. - */ - bool inViewTimelineState() const; - - Q_SIGNALS: - void guiStateChanged(); - - protected: - virtual void emitChangedSignal(); -}; - -#endif diff --git a/kdepim/mobile/calendar/eventsimporthandler.cpp b/kdepim/mobile/calendar/eventsimporthandler.cpp deleted file mode 100644 index f0fb3ad4..00000000 --- a/kdepim/mobile/calendar/eventsimporthandler.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "eventsimporthandler.h" - -#include -#include -#include -#include -#include -#include - -QString EventsImportHandler::fileDialogNameFilter() const -{ - return QLatin1String( "*.ics|iCals" ); -} - -QString EventsImportHandler::fileDialogTitle() const -{ - return i18n( "Select iCal to Import" ); -} - -QString EventsImportHandler::collectionDialogText() const -{ - return i18n( "Select the calendar the imported event(s) shall be saved in:" ); -} - -QString EventsImportHandler::collectionDialogTitle() const -{ - return i18n( "Select Calendar" ); -} - -QString EventsImportHandler::importDialogText( int count, const QString &collectionName ) const -{ - return i18np( "Importing one event to %2", "Importing %1 events to %2", count, collectionName ); -} - -QString EventsImportHandler::importDialogTitle() const -{ - return i18n( "Import Events" ); -} - -QStringList EventsImportHandler::mimeTypes() const -{ - return QStringList( KCalCore::Event::eventMimeType() ); -} - -Akonadi::Item::List EventsImportHandler::createItems( const QStringList &fileNames, bool *ok ) -{ - *ok = true; - - Akonadi::Item::List items; - - KCalCore::Event::List events; - - foreach ( const QString &fileName, fileNames ) { - KCalCore::MemoryCalendar::Ptr calendar( new KCalCore::MemoryCalendar( QLatin1String( "UTC" ) ) ); - KCalCore::FileStorage::Ptr storage( new KCalCore::FileStorage( calendar, fileName, new KCalCore::ICalFormat() ) ); - - if ( storage->load() ) { - events << calendar->events(); - } else { - const QString caption( i18n( "iCal Import Failed" ) ); - const QString msg = i18nc( "@info", - "Error when trying to read the iCal %1:", - fileName ); - KMessageBox::error( 0, msg, caption ); - *ok = false; - } - } - - if ( events.isEmpty() ) { - if ( !(*ok) && fileNames.count() > 1 ) - KMessageBox::information( 0, i18n( "No events were imported, due to errors with the iCals." ) ); - else if ( *ok ) - KMessageBox::information( 0, i18n( "The iCal does not contain any events." ) ); - - return items; // nothing to import - } - - foreach ( const KCalCore::Event::Ptr &event, events ) { - Akonadi::Item item; - item.setPayload( event ); - item.setMimeType( KCalCore::Event::eventMimeType() ); - - items << item; - } - - return items; -} diff --git a/kdepim/mobile/calendar/eventsimporthandler.h b/kdepim/mobile/calendar/eventsimporthandler.h deleted file mode 100644 index 7a97334c..00000000 --- a/kdepim/mobile/calendar/eventsimporthandler.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EVENTSIMPORTHANDLER_H -#define EVENTSIMPORTHANDLER_H - -#include "../lib/importhandlerbase.h" - -class EventsImportHandler : public ImportHandlerBase -{ - protected: - virtual QString fileDialogNameFilter() const; - virtual QString fileDialogTitle() const; - virtual QString collectionDialogText() const; - virtual QString collectionDialogTitle() const; - virtual QString importDialogText( int count, const QString &collectionName ) const; - virtual QString importDialogTitle() const; - - virtual QStringList mimeTypes() const; - virtual Akonadi::Item::List createItems( const QStringList &fileNames, bool *ok ); -}; - -#endif // EVENTSIMPORTHANDLER_H diff --git a/kdepim/mobile/calendar/hi48-apps-korganizer-mobile.png b/kdepim/mobile/calendar/hi48-apps-korganizer-mobile.png deleted file mode 100644 index 088c8044e429bfc1d9da3fb4ab56819276bf4056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3427 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 diff --git a/kdepim/mobile/calendar/hi80-apps-korganizer-mobile-harmattan.png b/kdepim/mobile/calendar/hi80-apps-korganizer-mobile-harmattan.png deleted file mode 100644 index d15897437b0ac2fd86fc745dc69f0b2f05f886d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6695 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 diff --git a/kdepim/mobile/calendar/korganizer-mobile-background.png b/kdepim/mobile/calendar/korganizer-mobile-background.png deleted file mode 100644 index d933273477f16a96be94998608fa69b221bee6a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620922 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∨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%0DE9L&MYGt9mBz4uzb^^FpL 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�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 U!X6=u=>Px#07*qoM6N<$g8kL`{r~^~ diff --git a/kdepim/mobile/calendar/korganizer-mobile.desktop b/kdepim/mobile/calendar/korganizer-mobile.desktop deleted file mode 100644 index 65659c3d..00000000 --- a/kdepim/mobile/calendar/korganizer-mobile.desktop +++ /dev/null @@ -1,130 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Calendar -Name[af]=Kalender -Name[ar]=التقويم -Name[bg]=Calendar -Name[br]=Deiziadur -Name[bs]=Kalendar -Name[ca]=Calendari -Name[ca@valencia]=Calendari -Name[cs]=Kalendář -Name[cy]=Calendr -Name[da]=Kalender -Name[de]=Kalender -Name[el]=Ημερολόγιο -Name[en_GB]=Calendar -Name[eo]=Kalendaro -Name[es]=Calendario -Name[et]=Kalender -Name[eu]=Egutegia -Name[fa]=تقویم -Name[fi]=Kalenteri -Name[fr]=Calendrier -Name[fy]=Aginda -Name[ga]=Féilire -Name[gl]=Calendario -Name[he]=לוח שנה -Name[hu]=Naptár -Name[ia]=Calendario -Name[is]=Dagatal -Name[it]=Calendario -Name[ja]=カレンダー -Name[ka]=კალენდარი -Name[kk]=Күнтізбе -Name[km]=ប្រតិទិន -Name[ko]=달력 -Name[lt]=Kalendorius -Name[lv]=Kalendārs -Name[mai]=कैलेंडर -Name[mk]=Календар -Name[mr]=दिनदर्शिका -Name[ms]=Kalendar -Name[nb]=Kalender -Name[nds]=Kalenner -Name[ne]=क्यालेन्डर -Name[nl]=Agenda -Name[nn]=Kalender -Name[oc]=Calendièr -Name[pa]=ਕੈਲੰਡਰ -Name[pl]=Kalendarz -Name[pt]=Calendário -Name[pt_BR]=Calendário -Name[ro]=Calendar -Name[ru]=Календарь -Name[se]=Kaleandar -Name[sk]=Kalendár -Name[sl]=Koledar -Name[sr]=Календар -Name[sr@ijekavian]=Календар -Name[sr@ijekavianlatin]=Kalendar -Name[sr@latin]=Kalendar -Name[sv]=Kalender -Name[ta]=நாள்காட்டி -Name[tg]=Тақвим -Name[th]=ปฏิทิน -Name[tr]=Takvim -Name[ug]=يىلنامە -Name[uk]=Календар -Name[uz]=Kalendar -Name[uz@cyrillic]=Календар -Name[wa]=Calindrî -Name[x-test]=xxCalendarxx -Name[zh_CN]=日历 -Name[zh_TW]=行事曆 -Exec=korganizer-mobile - -Icon=korganizer-mobile -Type=Application -MimeType=text/calendar; -Categories=Qt;KDE;Office;Calendar; -X-KDE-ServiceTypes=DBUS/Organizer -X-KDE-StartupNotify=true -X-DBUS-StartupType=Unique -X-DBUS-ServiceName=org.kde.korganizer -Keywords=mobile -Keywords[bs]=mobilni -Keywords[ca]=mòbil -Keywords[ca@valencia]=mòbil -Keywords[cs]=mobilní -Keywords[da]=mobil -Keywords[de]=Mobil -Keywords[el]=κινητό -Keywords[en_GB]=mobile -Keywords[es]=móvil -Keywords[et]=mobiil -Keywords[fi]=mobile -Keywords[fr]=mobile -Keywords[ga]=móibíleach, soghluaiste -Keywords[gl]=móbil -Keywords[hu]=mobil -Keywords[ia]=mobile -Keywords[it]=mobile -Keywords[ja]=モバイル -Keywords[kk]=mobile -Keywords[km]=ចល័ត -Keywords[lt]=mobilus -Keywords[mr]=मोबाईल -Keywords[nb]=mobil -Keywords[nds]=mobil -Keywords[nl]=mobiel -Keywords[pa]=ਮੋਬਾਇਲ -Keywords[pl]=telefon komórkowy -Keywords[pt]=móvel -Keywords[pt_BR]=móvel -Keywords[ro]=mobil -Keywords[ru]=mobile -Keywords[sk]=mobil -Keywords[sl]=mobilno -Keywords[sr]=мобилни -Keywords[sr@ijekavian]=мобилни -Keywords[sr@ijekavianlatin]=mobilni -Keywords[sr@latin]=mobilni -Keywords[sv]=mobil -Keywords[tr]=mobil -Keywords[ug]=يان تېلېفون -Keywords[uk]=мобільний -Keywords[wa]=axhlåve -Keywords[x-test]=xxmobilexx -Keywords[zh_CN]=mobile, 移动版 -Keywords[zh_TW]=行動版 diff --git a/kdepim/mobile/calendar/korganizer-mobile.ico b/kdepim/mobile/calendar/korganizer-mobile.ico deleted file mode 100644 index a406ec3e37d20b8acc7e0b562e6cb5f2993db95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7926 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 a+`vP>5#xS4vm5chz7GZZcs%jX;` - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.qt 4.7 // Qt widget wrappers -import org.kde 4.5 -import org.kde.akonadi 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.kcal 4.5 as KCal -import org.kde.calendarviews 4.5 as CalendarViews -import org.kde.akonadi.events 4.5 as Events -import org.kde.akonadi.calendar 4.5 as Calendar -import "../mobileui/ScreenFunctions.js" as Screen - -KPIM.MainView { - id: korganizerMobile - - Connections { - target: guiStateManager - onGuiStateChanged: { updateContextActionStates() } - } - - Component.onCompleted : updateContextActionStates(); - - function updateContextActionStates() - { - if ( guiStateManager.inHomeScreenState ) { - korganizerActions.showOnlyCategory( "home" ) - } else if ( guiStateManager.inAccountScreenState ) { - korganizerActions.showOnlyCategory( "account" ) - } else if ( guiStateManager.inSingleFolderScreenState ) { - korganizerActions.showOnlyCategory( "single_folder" ) - } else if ( guiStateManager.inMultipleFolderScreenState || guiStateManager.inSearchResultScreenState ) { - korganizerActions.showOnlyCategory( "multiple_folder" ) - } else if ( guiStateManager.inViewSingleItemState ) { - korganizerActions.showOnlyCategory( "event_viewer" ) - } else if ( guiStateManager.inViewDayState || guiStateManager.inViewWeekState || guiStateManager.inViewMonthState|| guiStateManager.inViewTimelineState || guiStateManager.inViewEventListState ) { - if ( collectionView.numSelected > 1 ) - korganizerActions.showOnlyCategory( "multiple_calendar" ) - else - korganizerActions.showOnlyCategory( "single_calendar" ) - } - } - - function showDate(date) - { - agenda.showRange( date, 0 /* "Day" */ ); - guiStateManager.pushState( Events.EventsGuiStateManager.ViewDayState ); - application.bringToFront(); - } - - KCal.IncidenceView { - id: eventView - anchors { fill: parent; topMargin: 40; leftMargin: 40 } - visible: guiStateManager.inViewSingleItemState - z: 0 - - itemId: -1 - swipeLength: 0.2 // Require at least 20% of screenwidth to trigger next or prev - - onNextItemRequest: { - // Only go to the next message when currently a valid item is set. - if ( eventView.itemId >= 0 ) - { - itemList.nextItem(); - application.setCurrentEventItemId(eventView.itemId); - } - } - - onPreviousItemRequest: { - // Only go to the previous message when currently a valid item is set. - if ( eventView.itemId >= 0 ) - { - itemList.previousItem(); - application.setCurrentEventItemId(eventView.itemId); - } - } - - KPIM.ItemEditButton { - actionName: "akonadi_incidence_edit" - anchors.bottom: backButton.top - anchors.right: parent.right - anchors.margins: 12 - onClicked: { - application.editIncidence( parent.item, parent.activeDate ); - guiStateManager.popState(); - } - } - - KPIM.Button { - id: backButton - anchors.bottom: parent.bottom - anchors.right: parent.right - anchors.margins: 12 - width: 70 - height: 70 - icon: KDE.locate( "data", "mobileui/back-to-list-button.png" ); - onClicked: { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inViewMonthState ? "MonthViewComponent.qml" : "" - - onLoaded: { - item.showMonth( dateEdit.date ); - } - } - - Rectangle { - id: agendaView - visible: guiStateManager.inViewDayState || guiStateManager.inViewWeekState - anchors.fill: parent - color: "#D2D1D0" // TODO: make palette work correctly. palette.window - - Rectangle { - id : backToMessageListButton - height: 48 - width: 48 - z: 5 - color: "#00000000" - anchors.right : parent.right - anchors.rightMargin : 70 - anchors.bottom : parent.bottom - anchors.bottomMargin : 70 - Image { - source : KDE.locate( "data", "mobileui/back-to-list-button.png" ); - MouseArea { - anchors.fill : parent; - onClicked : { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - } - - CalendarViews.AgendaView { - id: agenda - anchors { fill: parent; topMargin: 10; leftMargin: 40 } - calendar: calendarModel - swipeLength: 0.2 // Require at least 20% of screenwidth to trigger next or prev - - onItemSelected: { - if ( selectedItemId > 0 ) { - eventView.itemId = selectedItemId; - eventView.activeDate = activeDate; - application.setCurrentEventItemId(selectedItemId); - guiStateManager.pushUniqueState( KPIM.GuiStateManager.ViewSingleItemState ); - clearSelection(); - } - } - } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inViewTimelineState ? "TimelineView.qml" : "" - onLoaded: { item.showRange( dateEdit.date, 4 /* Next 7 days */ ); } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inViewEventListState ? "EventListComponent.qml" : "" - } - - Item { - id : mainWorkView - visible: { guiStateManager.inHomeScreenState || - guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState - } - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - width: 1/3 * parent.width - - Image { - id: backgroundImage - x: 0 - y: 0 -// FIXME: too big, costs about 1.5Mb RAM -// source: "korganizer-mobile-background.png" - } - - AkonadiBreadcrumbNavigationView { - id : collectionView - anchors.top: parent.top - anchors.bottom : selectButton.top - anchors.left: parent.left - anchors.right: parent.right - itemHeight: Screen.partition( height, 7 ) - - breadcrumbComponentFactory : _breadcrumbNavigationFactory - - multipleSelectionText : KDE.i18nc("%1 is e.g. 3 folders, %2 is e.g. from 2 accounts, %3 is e.g. 9 events", - "You have selected \n%1\n%2\n%3", - KDE.i18np("1 folder","%1 folders",collectionView.numSelected), - KDE.i18np("from 1 account","from %1 accounts",application.numSelectedAccounts), - KDE.i18np("1 event","%1 events", calendarModel.incidencesCount)) - - onSelectedClicked : { - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ); - } - - KPIM.AgentStatusIndicator { - anchors { top: parent.top; right: parent.right; rightMargin: 10; topMargin: 10 } - } - } - - KPIM.Button2 { - id : selectButton - anchors.left: collectionView.left - anchors.right: collectionView.right - anchors.bottom : parent.bottom - anchors.bottomMargin : collectionView.hasSelection ? -selectButton.height : 0 - buttonText : KDE.i18n("Select") - opacity : collectionView.hasSelection ? 0 : 1 - onClicked : { - application.persistCurrentSelection("preFavSelection"); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ); - } - } - } - - KPIM.StartCanvas { - id: homePage - anchors.left: mainWorkView.right - anchors.right: parent.right - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.topMargin: 12 - visible: mainWorkView.visible && !collectionView.hasSelection - - showAccountsList : false - favoritesModel : favoritesList - - contextActions : [ - Column { - anchors.fill: parent - height : 70 - KPIM.Button2 { - id: newAppointmentButton2 - width: 2/3 * parent.width - anchors.horizontalCenter: parent.horizontalCenter - buttonText: KDE.i18n( "New Appointment" ) - // TODO: Make sure that the correct default calendar is selected in - // the incidence editor. - onClicked : { application.newEvent(); } - - } - } - ] - } - - Item { - id : calendarPage - anchors.left: mainWorkView.right - anchors.right: parent.right - anchors.top: parent.top - anchors.bottom: parent.bottom - visible: mainWorkView.visible && collectionView.hasSelection - - Column { - anchors.top: parent.top - anchors.left: parent.left - anchors.right: parent.right - height: parent.height - spacing: 10 - Row { - height: 480 / 6 - width: parent.width - QmlDateEdit { - id: dateEdit - width: parent.width - height: 480 / 6 - // MM.dd.yyyy - displayFormat: KDE.i18n( "yyyy-MM-dd" ) - } - } - Row { - spacing: 2 - width: parent.width - 5 - - KPIM.Button2 { - id: dayButton - buttonText: KDE.i18n( "Day view" ) - width: parent.width / 4 - onClicked: { - agenda.showRange( dateEdit.date, 0 /* "Day" */ ); - guiStateManager.pushState( Events.EventsGuiStateManager.ViewDayState ); - } - } - KPIM.Button2 { - id: weekButton - buttonText: KDE.i18n( "Week view" ) - width: parent.width / 4 - onClicked: { - agenda.showRange( dateEdit.date, 1 /* "Week" */ ); - guiStateManager.pushState( Events.EventsGuiStateManager.ViewWeekState ); - } - } - KPIM.Button2 { - id: monthButton - buttonText: KDE.i18n( "Month view" ) - width: parent.width / 4 - onClicked: { - guiStateManager.pushState( Events.EventsGuiStateManager.ViewMonthState ); - } - } - - KPIM.Button2 { - id: timelineButton - buttonText: KDE.i18n( "Timeline" ) - width: parent.width / 4 - onClicked: { - guiStateManager.pushState( Events.EventsGuiStateManager.ViewTimelineState ); - } - } - } - - KPIM.Button2 { - id: newAppointmentButton - width: 2/3 * parent.width - anchors.horizontalCenter: parent.horizontalCenter - buttonText: KDE.i18n( "New Appointment" ) - // TODO: Make sure that the correct default calendar is selected in - // the incidence editor. - onClicked : { application.newEventWithDate( dateEdit.date ); } - - } - } - } - - SlideoutPanelContainer { - anchors.fill: parent - z: 100 - - visible: !guiStateManager.inBulkActionScreenState && - !guiStateManager.inMultipleFolderSelectionScreenState && - !guiStateManager.inConfigScreenState && - !guiStateManager.inSearchScreenState - - SlideoutPanel { - id: actionPanel - titleText: KDE.i18n( "Actions" ) - handlePosition : 125 - handleHeight: 150 - anchors.fill : parent - - Component.onCompleted: { - actionPanel.expanded.connect( korganizerActions, korganizerActions.refresh ); - } - - content : [ - KorganizerActions { - id : korganizerActions - anchors.fill : parent - - scriptActions : [ - KPIM.ScriptAction { - name : "show_about_dialog" - script : { - actionPanel.collapse(); - aboutDialog.visible = true - } - }, - KPIM.ScriptAction { - name : "configure" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.ConfigScreenState ); - } - }, -//TODO enable when SearchWidget::query() is implemented -// KPIM.ScriptAction { -// name : "search_event" -// script : { -// actionPanel.collapse(); -// guiStateManager.pushState( KPIM.GuiStateManager.SearchScreenState ); -// } -// }, - KPIM.ScriptAction { - name : "to_selection_screen" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ); - } - }, - KPIM.ScriptAction { - name : "add_as_favorite" - script : { - actionPanel.collapse(); - application.saveFavorite(); - } - }, - KPIM.ScriptAction { - name : "day_layout" - script: { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewWeekState ); - agenda.showRange( dateEdit.date, 0 /* "Day" */ ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "three_day_layout" - script : { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewWeekState ); - agenda.showRange( dateEdit.date, 3 /** 3 days*/ ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "week_layout" - script: { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewWeekState ); - agenda.showRange( dateEdit.date, 1 /* "Week" */ ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "work_week_layout" - script: { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewWeekState ); - agenda.showRange( dateEdit.date, 2 /* "WorkWeek" */ ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "month_layout" - script: { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewMonthState ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "eventlist_layout" - script: { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewEventListState ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "timeline_layout" - script: { - guiStateManager.switchState( Events.EventsGuiStateManager.ViewTimelineState ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "show_today" - script : { - agenda.showToday(); - guiStateManager.switchState( Events.EventsGuiStateManager.ViewDayState ); - actionPanel.collapse(); - } - }, - KPIM.ScriptAction { - name : "start_maintenance" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ); - } - } - ] - - onDoCollapse : actionPanel.collapse(); - } - ] - } - SlideoutPanel { - anchors.fill: parent - handlePosition : actionPanel.handlePosition + actionPanel.handleHeight - id: attachmentPanel - visible: (eventView.attachmentModel.attachmentCount >= 1) && guiStateManager.inViewSingleItemState - titleIcon: KDE.iconPath( "mail-attachment", 48 ); - handleHeight: parent.height - actionPanel.handlePosition - actionPanel.handleHeight - anchors.topMargin - anchors.bottomMargin - content: [ - KPIM.AttachmentList { - id: attachmentView - model: eventView.attachmentModel - anchors.fill: parent - - onOpenAttachment: { - application.openAttachment(url, mimeType); - } - - onSaveAttachment: { - application.saveAttachment(url, fileName); - } - } - ] - } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inMultipleFolderSelectionScreenState ? KDE.locate( "module", "imports/org/kde/pim/mobileui/MultipleSelectionScreen.qml" ) : "" - onLoaded: { item.backgroundImage = backgroundImage.source; } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inBulkActionScreenState ? "BulkActionComponent.qml" : "" - onLoaded: { - item.backgroundImage = backgroundImage.source - item.itemHeight = Screen.partition( item.height, 7 ) - } - } - - KPIM.SearchResultScreen { - id : searchResultScreen - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right : parent.right - - itemView: EventListView { - id: searchEventListView - model: itemModel - checkModel : _itemActionModel - navigationModel : _itemNavigationModel - anchors.fill : parent - itemHeight: Screen.partition( height, 7 ) - } - - resultText: KDE.i18np( "One event found", "%1 events found", searchEventListView.count ) - } - - Connections { - target: homePage - onAccountSelected : { - application.setSelectedAccount(row); - } - } - - Connections { - target: homePage - onFavoriteSelected : { - application.loadFavorite(favName); - } - } - - Connections { - target: eventView - onIncidenceRemoved : { - if ( guiStateManager.inViewSingleItemState ) { - guiStateManager.popState(); - } - } - } - - Loader { - id : aboutDialog - anchors.fill: parent - visible: false - source: visible ? KDE.locate( "module", "imports/org/kde/pim/mobileui/AboutDialog.qml" ) : "" - onLoaded: { item.backgroundSource = backgroundImage.source; } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inConfigScreenState ? "ConfigDialog.qml" : "" - onLoaded: item.load(); - } - - KPIM.SearchDialog { - id: searchDialog - searchWidget: Calendar.SearchWidget { - anchors.fill: parent - } - } -} diff --git a/kdepim/mobile/calendar/korganizer-mobile.rc b/kdepim/mobile/calendar/korganizer-mobile.rc deleted file mode 100644 index 4105c5b0..00000000 --- a/kdepim/mobile/calendar/korganizer-mobile.rc +++ /dev/null @@ -1 +0,0 @@ -KORGANIZER_MOBILE_ICON ICON "korganizer-mobile.ico" diff --git a/kdepim/mobile/calendar/main.cpp b/kdepim/mobile/calendar/main.cpp deleted file mode 100644 index ddd029b7..00000000 --- a/kdepim/mobile/calendar/main.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* -* Copyright (c) 2010 Volker Krause -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ - -#include -#include -#include - -#include - -#include "mainview.h" - -#ifdef MAIL_SERIALIZER_PLUGIN_STATIC -#include - -Q_IMPORT_PLUGIN(akonadi_serializer_mail) -Q_IMPORT_PLUGIN(akonadi_serializer_addressee) -Q_IMPORT_PLUGIN(akonadi_serializer_contactgroup) -Q_IMPORT_PLUGIN(akonadi_serializer_kcalcore) -#endif - -using namespace Akonadi; -using namespace CalendarSupport; -using namespace IncidenceEditorNG; - -int main( int argc, char **argv ) -{ - const QByteArray& ba = QByteArray( "korganizer-mobile" ); - const KLocalizedString name = ki18n( "Kontact Touch Calendar" ); - - // NOTE: This is necessary to avoid a crash, but will result in an empty config. - // To make this really configurable do something like KOrganizerEditorConfig - // in incidinceeditors/groupwareintegration.cpp - EditorConfig::setEditorConfig( new KOrganizerEditorConfig ); - - KAboutData aboutData( ba, ba, name, ba, name ); - aboutData.setProductName( "KOrganizer Mobile/calendar" ); //has to match the bugzilla product name - - KCmdLineArgs::init( argc, argv, &aboutData ); - KDeclarativeApplication app; - - KGlobal::locale()->insertCatalog( QLatin1String("libkcalutils") ); - KGlobal::locale()->insertCatalog( QLatin1String("libincidenceeditors") ); - KGlobal::locale()->insertCatalog( QLatin1String("calendarsupport") ); - - return app.exec(); -} - diff --git a/kdepim/mobile/calendar/mainview.cpp b/kdepim/mobile/calendar/mainview.cpp deleted file mode 100644 index 93a1289e..00000000 --- a/kdepim/mobile/calendar/mainview.cpp +++ /dev/null @@ -1,762 +0,0 @@ -/* -* Copyright (c) 2010 Volker Krause -* Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com -* Copyright (c) 2010 Andras Mantia -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ - -#include "mainview.h" - -#include "actionhelper.h" -#include "agendaviewitem.h" -#include "calendaradaptor.h" -#include "calendarinterface.h" -#include "calendar/clockhelper.h" -#include "calendar/groupwareuidelegate.h" -#include "calendar/incidenceview.h" -#include "calendar/kcalitembrowseritem.h" -#include "configwidget.h" -#include "eventlistproxy.h" -#include "eventsexporthandler.h" -#include "eventsfilterproxymodel.h" -#include "eventsguistatemanager.h" -#include "eventsimporthandler.h" -#include "monthviewitem.h" -#include "searchwidget.h" -#include "settings.h" -#include "timelineviewitem.h" -#include "qmldateedit.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -Q_DECLARE_METATYPE(KCalCore::iTIPMethod) - -using namespace Akonadi; -using CalendarSupport::KCalPrefs; - -QML_DECLARE_TYPE( CalendarSupport::KCal::KCalItemBrowserItem ) -QML_DECLARE_TYPE( DeclarativeConfigWidget ) -QML_DECLARE_TYPE( DeclarativeSearchWidget ) -QML_DECLARE_TYPE( Qt::QmlDateEdit ) -QML_DECLARE_TYPE( EventsGuiStateManager ) -QML_DECLARE_TYPE( EventViews::AgendaViewItem ) -QML_DECLARE_TYPE( EventViews::MonthViewItem ) -QML_DECLARE_TYPE( EventViews::TimelineViewItem ) - -EventViews::PrefsPtr MainView::m_calendarPrefs; - -MainView::MainView( QWidget* parent ) - : KDeclarativeMainView( QLatin1String("korganizer-mobile"), new EventListProxy, parent ), - m_identityManager( 0 ), - m_changer( 0 ), - mActionManager( 0 ) -{ - m_calendarPrefs = EventViews::PrefsPtr( new EventViews::Prefs ); - m_calendarPrefs->readConfig(); - mITIPHandler = new Akonadi::ITIPHandler( this ); - - Akonadi::CollectionPropertiesDialog::registerPage( new CalendarSupport::CollectionGeneralPageFactory ); -} - -MainView::~MainView() -{ - m_calendarPrefs->writeConfig(); - m_calendar->deleteLater(); - delete m_identityManager; -} - -EventViews::PrefsPtr MainView::preferences() -{ - return m_calendarPrefs; -} - -void MainView::doDelayedInit() -{ - setWindowTitle( i18n( "Calendar" ) ); - - addMimeType( KCalCore::Event::eventMimeType() ); - addMimeType( KCalCore::Todo::todoMimeType() ); - itemFetchScope().fetchFullPayload(); - - qmlRegisterType( "org.kde.kcal", 4, 5, "IncidenceView" ); - qmlRegisterType( "org.kde.akonadi.calendar", 4, 5, "ConfigWidget" ); - qmlRegisterType( "org.kde.akonadi.calendar", 4, 5, "SearchWidget" ); - qmlRegisterType( "org.kde.calendarviews", 4, 5, "AgendaView" ); - qmlRegisterType( "org.kde.calendarviews", 4, 5, "MonthView" ); - qmlRegisterType( "org.kde.calendarviews", 4, 5, "TimelineView" ); - qmlRegisterType( "org.qt", 4, 7, "QmlDateEdit" ); - qmlRegisterType( "ClockHelper", 4, 5, "ClockHelper" ); - qmlRegisterUncreatableType( "org.kde.akonadi.events", 4, 5, "EventsGuiStateManager", QLatin1String( "This type is only exported for its enums" ) ); - - m_calendar = Akonadi::ETMCalendar::Ptr( new Akonadi::ETMCalendar() ); - m_calendar->setWeakPointer( m_calendar ); - engine()->rootContext()->setContextProperty( QLatin1String("calendarModel"), QVariant::fromValue( static_cast( m_calendar.data() ) ) ); - Akonadi::FreeBusyManager::self()->setCalendar( m_calendar ); - - // TODO: set a groupware delegate to handle counter proposals - - m_changer = new Akonadi::IncidenceChanger( this ); - - m_identityManager = new CalendarSupport::IdentityManager; - - // FIXME: My suspicion is that this is wrong. I.e. the collection selection is - // not correct resulting in no items showing up in the monthview. - CalendarSupport::CollectionSelection *collectionselection; - collectionselection = new CalendarSupport::CollectionSelection( regularSelectionModel(), this ); - EventViews::EventView::setGlobalCollectionSelection( collectionselection ); - - QDBusConnection::sessionBus().registerService( QLatin1String("org.kde.korganizer") ); //register also as the real korganizer, so kmail can communicate with it - - KAction *action = new KAction( i18n( "Import Events" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(importItems()) ); - actionCollection()->addAction( QLatin1String( "import_events" ), action ); - - action = new KAction( i18n( "Export Events From This Account" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_account_events" ), action ); - - action = new KAction( i18n( "Export Displayed Events" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_selected_events" ), action ); - - action = new KAction( i18n( "Archive Old Events" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(archiveOldEntries()) ); - actionCollection()->addAction( QLatin1String( "archive_old_entries" ), action ); - - action = new KAction( i18n( "Publish Item Information" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(publishItemInformation()) ); - actionCollection()->addAction( QLatin1String( "publish_item_information" ), action ); - - action = new KAction( i18n( "Send Invitations To Attendees" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(sendInvitation()) ); - actionCollection()->addAction( QLatin1String( "send_invitations_to_attendees" ), action ); - - action = new KAction( i18n( "Send Status Update" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(sendStatusUpdate()) ); - actionCollection()->addAction( QLatin1String( "send_status_update" ), action ); - - action = new KAction( i18n( "Send Cancellation To Attendees" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(sendCancellation()) ); - actionCollection()->addAction( QLatin1String( "send_cancellation_to_attendees" ), action ); - - action = new KAction( i18n( "Request Update" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(requestUpdate()) ); - actionCollection()->addAction( QLatin1String( "request_update" ), action ); - - action = new KAction( i18n( "Request Change" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(requestChange()) ); - actionCollection()->addAction( QLatin1String( "request_change" ), action ); - - action = new KAction( i18n( "Send As ICalendar" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(sendAsICalendar()) ); - actionCollection()->addAction( QLatin1String( "send_as_icalendar" ), action ); - - action = new KAction( i18n( "Mail Free Busy Information" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(mailFreeBusy()) ); - actionCollection()->addAction( QLatin1String( "mail_freebusy" ), action ); - - action = new KAction( i18n( "Upload Free Busy Information" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(uploadFreeBusy()) ); - actionCollection()->addAction( QLatin1String( "upload_freebusy" ), action ); - - action = new KAction( i18n( "Save All" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(saveAllAttachments()) ); - actionCollection()->addAction( QLatin1String( "save_all_attachments" ), action ); - - action = new KAction( i18n( "Set Color Of Calendar" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(changeCalendarColor()) ); - actionCollection()->addAction( QLatin1String( "set_calendar_colour" ), action ); - - action = new KAction( i18n( "Configure Categories" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(configureCategories()) ); - actionCollection()->addAction( QLatin1String( "configure_categories" ), action ); - - connect( this, SIGNAL(statusChanged(QDeclarativeView::Status)), - this, SLOT(qmlLoadingStateChanged(QDeclarativeView::Status)) ); - - //register DBUS interface - m_calendarIface = new CalendarInterface( this ); - new CalendarAdaptor( m_calendarIface ); - QDBusConnection::sessionBus().registerObject( QLatin1String("/Calendar"), m_calendarIface ); - - KPIM::ReminderClient::startDaemon(); -} - -void MainView::qmlLoadingStateChanged( QDeclarativeView::Status status ) -{ - if ( status != Ready ) // We wait until the QML is completely loaded - return; - - connect( m_calendarIface, SIGNAL(showDateSignal(QVariant)), - rootObject(), SLOT(showDate(QVariant)) ); - connect( m_calendarIface, SIGNAL(openIncidenceEditorSignal(QString,QString,QStringList,QStringList,QStringList,bool,KCalCore::Incidence::IncidenceType)), - this, SLOT(openIncidenceEditor(QString,QString,QStringList,QStringList,QStringList,bool,KCalCore::Incidence::IncidenceType)) ); - - // setup the shared settings object - EventViews::AgendaViewItem *agendaViewItem = rootObject()->findChild(); - Q_ASSERT( agendaViewItem ); - if ( agendaViewItem ) - agendaViewItem->setPreferences( m_calendarPrefs ); -} - -void MainView::setConfigWidget(ConfigWidget* configWidget) -{ - Q_ASSERT( configWidget ); - configWidget->setPreferences( m_calendarPrefs ); - - EventViews::AgendaViewItem *agendaViewItem = rootObject()->findChild(); - if ( agendaViewItem ) - connect( configWidget, SIGNAL(configChanged()), agendaViewItem, SLOT(updateConfig()) ); - EventViews::MonthViewItem *monthViewItem = rootObject()->findChild(); - if ( monthViewItem ) - connect( configWidget, SIGNAL(configChanged()), monthViewItem, SLOT(updateConfig()) ); -} - -void MainView::finishEdit( QObject *editor ) -{ - m_openItemEditors.remove( editor ); -} - -void MainView::showRegularCalendar() -{ - //m_calendar->setUnfilteredModel( itemModel() ); -} - -void MainView::setCurrentEventItemId( qint64 id ) -{ - const QModelIndexList list = EntityTreeModel::modelIndexesForItem(itemSelectionModel()->model(), Item(id)); - if (list.isEmpty()) - return; - - const QModelIndex idx = list.first(); - itemSelectionModel()->select( QItemSelection(idx, idx), QItemSelectionModel::ClearAndSelect ); - itemActionModel()->select( QItemSelection( idx, idx ), QItemSelectionModel::ClearAndSelect ); -} - -void MainView::newEvent() -{ - newEventWithDate( QDate::currentDate() ); -} - -void MainView::newEventWithDate( const QDate &date ) -{ - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Calendar" ) ); - Item item; - item.setMimeType( KCalCore::Event::eventMimeType() ); - KCalCore::Event::Ptr event( new KCalCore::Event ); - - IncidenceEditorNG::IncidenceDefaults defaults; - - { - KDateTime dateTime = KDateTime::currentLocalDateTime(); - dateTime.setDate( date ); - defaults.setStartDateTime( dateTime ); - } - // Set the full emails manually here, to avoid that we get dependencies on - // KCalPrefs all over the place. - defaults.setFullEmails( CalendarSupport::KCalPrefs::instance()->fullEmails() ); - // NOTE: At some point this should be generalized. That is, we now use the - // freebusy url as a hack, but this assumes that the user has only one - // groupware account. Which doesn't have to be the case necessarily. - // This method should somehow depend on the calendar selected to which - // the incidence is added. - if ( KCalPrefs::instance()->useGroupwareCommunication() ) - defaults.setGroupWareDomain( KUrl( Akonadi::CalendarSettings::self()->freeBusyRetrieveUrl() ).host() ); - - defaults.setDefaults( event ); - - item.setPayload( event ); - editor->load( item ); - - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndex index = regularSelectionModel()->selectedIndexes().first(); - const Akonadi::Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - editor->setDefaultCollection( collection ); - } - - editor->show(); -} - -void MainView::newTodo() -{ - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Calendar" ) ); - Item item; - item.setMimeType( KCalCore::Todo::todoMimeType() ); - KCalCore::Todo::Ptr todo( new KCalCore::Todo ); - - // make it due one day from now - todo->setDtStart( KDateTime::currentLocalDateTime() ); - todo->setDtDue( KDateTime::currentLocalDateTime().addDays( 1 ) ); - - item.setPayload( todo ); - editor->load( item ); - - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndex index = regularSelectionModel()->selectedIndexes().first(); - const Akonadi::Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - editor->setDefaultCollection( collection ); - } - - editor->show(); -} - -void MainView::openIncidenceEditor( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &attachmentMimeTypes, - bool attachmentsAreInline, - KCalCore::Incidence::IncidenceType type ) -{ - kDebug(); - - IncidenceEditorNG::IncidenceDefaults defaults = IncidenceEditorNG::IncidenceDefaults::minimalIncidenceDefaults( attachmentsAreInline ); - // if attach or attendee list is empty, these methods don't do anything, so - // it's safe to call them in every case - defaults.setAttachments( attachmentUris, attachmentMimeTypes, QStringList(), attachmentsAreInline ); - defaults.setAttendees( attendees ); - - KCalCore::Incidence::Ptr incidence; - - if ( type == KCalCore::Incidence::TypeTodo ) { - incidence = KCalCore::Incidence::Ptr( new KCalCore::Todo ); - } else if ( type == KCalCore::Incidence::TypeEvent ) { - incidence = KCalCore::Incidence::Ptr( new KCalCore::Event ); - } else { - Q_ASSERT_X( false, "openIncidenceEditor", "Unexpected incidence type" ); - return; - } - - defaults.setDefaults( incidence ); - incidence->setSummary( summary ); - incidence->setDescription( description ); - - Akonadi::Item item; - item.setPayload( incidence ); - item.setMimeType( incidence->mimeType() ); - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Calendar" ) ); - editor->load( item ); - editor->show(); -} - -void MainView::editIncidence() -{ - const CalendarSupport::KCal::KCalItemBrowserItem *eventView = rootObject()->findChild(); - Q_ASSERT( eventView ); - if ( eventView ) - editIncidence( eventView->item(), eventView->activeDate() ); -} - -void MainView::editIncidence( const Akonadi::Item &item, const QDate &date ) -{ - if ( m_openItemEditors.values().contains( item.id() ) ) - return; // An editor for this item is already open. - - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Calendar" ) ); - editor->load( item, date ); - - m_openItemEditors.insert( editor, item.id() ); - connect( editor, SIGNAL(destroyed(QObject*)), SLOT(finishEdit(QObject*)) ); - - editor->show(); -} - -void MainView::deleteIncidence() -{ - const QModelIndexList indexes = itemActionModel()->selectedRows(); - if ( indexes.isEmpty() ) - return; - - const Akonadi::Item item = indexes.first().data( Akonadi::EntityTreeModel::ItemRole ).value(); - deleteIncidence( item ); -} - -void MainView::deleteIncidence( const Akonadi::Item &item ) -{ - m_changer->deleteIncidence( item ); -} - -void MainView::setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ) -{ - mActionManager = new Akonadi::StandardCalendarActionManager( actionCollection(), this ); - mActionManager->setCollectionSelectionModel( collectionSelectionModel ); - mActionManager->setItemSelectionModel( itemSelectionModel ); - - mActionManager->createAllActions(); - mActionManager->interceptAction( Akonadi::StandardActionManager::CreateResource ); - mActionManager->interceptAction( Akonadi::StandardActionManager::DeleteItems ); - mActionManager->interceptAction( Akonadi::StandardCalendarActionManager::CreateEvent ); - mActionManager->interceptAction( Akonadi::StandardCalendarActionManager::CreateTodo ); - mActionManager->interceptAction( Akonadi::StandardCalendarActionManager::EditIncidence ); - - connect( mActionManager->action( Akonadi::StandardActionManager::CreateResource ), SIGNAL(triggered(bool)), - this, SLOT(launchAccountWizard()) ); - connect( mActionManager->action( Akonadi::StandardActionManager::DeleteItems ), SIGNAL(triggered(bool)), - this, SLOT(deleteIncidence()) ); - connect( mActionManager->action( Akonadi::StandardCalendarActionManager::CreateEvent ), SIGNAL(triggered(bool)), - this, SLOT(newEvent()) ); - connect( mActionManager->action( Akonadi::StandardCalendarActionManager::CreateTodo ), SIGNAL(triggered(bool)), - this, SLOT(newTodo()) ); - connect( mActionManager->action( Akonadi::StandardCalendarActionManager::EditIncidence ), SIGNAL(triggered(bool)), - this, SLOT(editIncidence()) ); - connect( mActionManager, SIGNAL(actionStateUpdated()), SLOT(updateActionTexts()) ); - - ActionHelper::adaptStandardActionTexts( mActionManager ); - - mActionManager->action( Akonadi::StandardCalendarActionManager::CreateEvent )->setText( i18n( "New Event" ) ); - mActionManager->action( StandardActionManager::CollectionProperties )->setText( i18n( "Calendar Properties" ) ); - mActionManager->action( StandardActionManager::CreateCollection )->setText( i18n( "New Sub Calendar" ) ); - mActionManager->action( StandardActionManager::CreateCollection )->setProperty( "ContentMimeTypes", QStringList( KCalCore::Event::eventMimeType() ) ); - mActionManager->setActionText( StandardActionManager::SynchronizeCollections, ki18np( "Synchronize This Calendar", "Synchronize These Calendars" ) ); - mActionManager->setActionText( StandardActionManager::DeleteCollections, ki18np( "Delete Calendar", "Delete Calendars" ) ); - mActionManager->action( StandardActionManager::MoveCollectionToDialog )->setText( i18n( "Move Calendar To" ) ); - mActionManager->action( StandardActionManager::CopyCollectionToDialog )->setText( i18n( "Copy Calendar To" ) ); - - actionCollection()->action( QLatin1String("synchronize_all_items") )->setText( i18n( "Synchronize All Accounts" ) ); - - const QStringList pages = QStringList() << QLatin1String( "CalendarSupport::CollectionGeneralPage" ) - << QLatin1String( "Akonadi::CachePolicyPage" ); - - mActionManager->setCollectionPropertiesPageNames( pages ); -} - -void MainView::updateActionTexts() -{ - const Akonadi::Item::List items = mActionManager->selectedItems(); - if ( items.count() < 1 ) - return; - - const int itemCount = items.count(); - const Akonadi::Item item = items.first(); - const QString mimeType = item.mimeType(); - if ( mimeType == KCalCore::Event::eventMimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Event", "Copy %1 Events" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Event To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Event", "Delete %1 Events" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Event To" ) ); - actionCollection()->action( QLatin1String("akonadi_incidence_edit") )->setText( i18n( "Edit Event" ) ); - } else if ( mimeType == KCalCore::Todo::todoMimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Task", "Copy %1 Tasks" ).subs( itemCount ).toString() ); - actionCollection()->action(QLatin1String( "akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Task To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Task", "Delete %1 Tasks" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Task To" ) ); - actionCollection()->action( QLatin1String("akonadi_incidence_edit") )->setText( i18n( "Edit Task" ) ); - } else if ( mimeType == KCalCore::Journal::journalMimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Journal", "Copy %1 Journals" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Journal To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Journal", "Delete %1 Journals" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog" ))->setText( i18n( "Move Journal To" ) ); - actionCollection()->action( QLatin1String("akonadi_incidence_edit") )->setText( i18n( "Edit Journal" ) ); - } -} - -void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel ) -{ - Akonadi::AgentActionManager *manager = createAgentActionManager( selectionModel ); - - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::DialogTitle, - i18nc( "@title:window", "New Account" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageText, - ki18n( "Could not create account: %1" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageTitle, - i18n( "Account creation failed" ) ); - - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxTitle, - i18nc( "@title:window", "Delete Account?" ) ); - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxText, - i18n( "Do you really want to delete the selected account?" ) ); -} - -void MainView::configureCategories() -{ - CalendarSupport::CategoryConfig config( IncidenceEditorNG::EditorConfig::instance()->config(), 0 ); - IncidenceEditorNG::CategoryEditDialog dialog( &config, 0 ); - if ( dialog.exec() ) - config.writeConfig(); -} - -QAbstractProxyModel* MainView::createItemFilterModel() const -{ - return new EventsFilterProxyModel(); -} - -ImportHandlerBase* MainView::importHandler() const -{ - return new EventsImportHandler(); -} - -ExportHandlerBase* MainView::exportHandler() const -{ - return new EventsExportHandler(); -} - -GuiStateManager* MainView::createGuiStateManager() const -{ - return new EventsGuiStateManager(); -} - -bool MainView::useFilterLineEditInCurrentState() const -{ - return (guiStateManager()->currentState() == EventsGuiStateManager::ViewEventListState); -} - -void MainView::uploadFreeBusy() -{ - Akonadi::FreeBusyManager::self()->publishFreeBusy( this ); -} - -void MainView::mailFreeBusy() -{ - Akonadi::FreeBusyManager::self()->mailFreeBusy( 30, this ); -} - -void MainView::sendAsICalendar() -{ - const QModelIndexList list = itemSelectionModel()->selectedIndexes(); - if ( list.isEmpty() ) - return; - - const Akonadi::Item item( list.first().data( EntityTreeModel::ItemIdRole ).toInt() ); - - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( item, this ); - job->fetchScope().fetchFullPayload(); - connect( job, SIGNAL(result(KJob*)), this, SLOT(fetchForSendICalDone(KJob*)) ); -} - -void MainView::fetchForSendICalDone( KJob *job ) -{ - if ( job->error() ) { - kDebug() << "Error trying to fetch item"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Cannot fetch calendar item." ), - i18n( "Item Fetch Error" ) ); - return; - } - - const Akonadi::Item item = static_cast( job )->items().first(); - - KCalCore::Incidence::Ptr incidence = CalendarSupport::incidence( item ); - if ( incidence ) - mITIPHandler->sendAsICalendar( incidence, this ); -} - -void MainView::publishItemInformation() -{ - const QModelIndexList list = itemSelectionModel()->selectedIndexes(); - if ( list.isEmpty() ) - return; - - const Akonadi::Item item( list.first().data( EntityTreeModel::ItemIdRole ).toInt() ); - - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( item, this ); - job->fetchScope().fetchFullPayload(); - connect( job, SIGNAL(result(KJob*)), this, SLOT(fetchForPublishItemDone(KJob*)) ); -} - -void MainView::fetchForPublishItemDone( KJob *job ) -{ - if ( job->error() ) { - kDebug() << "Error trying to fetch item"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Cannot fetch calendar item." ), - i18n( "Item Fetch Error" ) ); - return; - } - - const Akonadi::Item item = static_cast( job )->items().first(); - - - KCalCore::Incidence::Ptr incidence = CalendarSupport::incidence( item ); - if ( incidence ) - mITIPHandler->publishInformation( incidence, this ); -} - -void MainView::sendInvitation() -{ - scheduleiTIPMethod( KCalCore::iTIPRequest ); -} - -void MainView::sendStatusUpdate() -{ - scheduleiTIPMethod( KCalCore::iTIPReply ); -} - -void MainView::sendCancellation() -{ - scheduleiTIPMethod( KCalCore::iTIPCancel ); -} - -void MainView::requestUpdate() -{ - scheduleiTIPMethod( KCalCore::iTIPRefresh ); -} - -void MainView::requestChange() -{ - scheduleiTIPMethod( KCalCore::iTIPCounter ); -} - -void MainView::scheduleiTIPMethod( KCalCore::iTIPMethod method ) -{ - const QModelIndexList list = itemSelectionModel()->selectedIndexes(); - if ( list.isEmpty() ) - return; - - const Akonadi::Item item( list.first().data( EntityTreeModel::ItemIdRole ).toInt() ); - - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( item, this ); - job->fetchScope().fetchFullPayload(); - job->setProperty( "iTIPmethod", QVariant::fromValue( method ) ); - connect( job, SIGNAL(result(KJob*)), this, SLOT(fetchForiTIPMethodDone(KJob*)) ); -} - -void MainView::fetchForiTIPMethodDone( KJob *job ) -{ - if ( job->error() ) { - kDebug() << "Error trying to fetch item"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Cannot fetch calendar item." ), - i18n( "Item Fetch Error" ) ); - return; - } - - const Akonadi::Item item = static_cast( job )->items().first(); - - const KCalCore::iTIPMethod method = job->property( "iTIPmethod" ).value(); - const KCalCore::Incidence::Ptr incidence = CalendarSupport::incidence( item ); - if ( incidence ) - mITIPHandler->sendiTIPMessage( method, incidence, this ); -} - -void MainView::saveAllAttachments() -{ - const QModelIndexList list = itemSelectionModel()->selectedIndexes(); - if ( list.isEmpty() ) - return; - - const Akonadi::Item item( list.first().data( EntityTreeModel::ItemIdRole ).toInt() ); - - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( item, this ); - job->fetchScope().fetchFullPayload(); - connect( job, SIGNAL(result(KJob*)), this, SLOT(fetchForSaveAllAttachmentsDone(KJob*)) ); -} - -void MainView::fetchForSaveAllAttachmentsDone( KJob *job ) -{ - if ( job->error() ) { - kDebug() << "Error trying to fetch item"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Cannot fetch calendar item." ), - i18n( "Item Fetch Error" ) ); - return; - } - - const Akonadi::Item item = static_cast( job )->items().first(); - CalendarSupport::saveAttachments( item, this ); -} - -void MainView::archiveOldEntries() -{ - CalendarSupport::ArchiveDialog archiveDialog( m_calendar, m_changer, this ); - archiveDialog.exec(); -} - -void MainView::changeCalendarColor() -{ - EventViews::AgendaViewItem *agendaItem = rootObject()->findChild(); - - if ( !agendaItem ) - return; //something is fishy - - const QItemSelectionModel *collectionSelectionModel = regularSelectionModel(); - if ( collectionSelectionModel->selection().indexes().isEmpty() ) - return; - - const QModelIndexList selectedIndexes = collectionSelectionModel->selection().indexes(); - const Collection collection = selectedIndexes.first().data( CollectionModel::CollectionRole ).value(); - QString id = QString::number( collection.id() ); - QColor calendarColor = agendaItem->preferences()->resourceColor( id ); - QColor myColor; - - const int result = KColorDialog::getColor( myColor, calendarColor ); - - if ( result == KDialog::Accepted && myColor != calendarColor ) { - agendaItem->preferences()->setResourceColor( id, myColor ); - agendaItem->updateConfig(); - - EventViews::MonthViewItem *monthItem = rootObject()->findChild(); - - if ( monthItem ) { - monthItem->preferences()->setResourceColor( id, myColor ); - monthItem->updateConfig(); - } - } -} - - - - diff --git a/kdepim/mobile/calendar/mainview.h b/kdepim/mobile/calendar/mainview.h deleted file mode 100644 index ea677679..00000000 --- a/kdepim/mobile/calendar/mainview.h +++ /dev/null @@ -1,135 +0,0 @@ -/* -* Copyright (c) 2010 Volker Krause -* Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com -* Copyright (c) 2010 Andras Mantia -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ -#ifndef MAINVIEW_H -#define MAINVIEW_H - -#include "kdeclarativemainview.h" - -#include -#include -#include - -#include -#include - -#include - -namespace Akonadi { -class StandardCalendarActionManager; -class IncidenceChanger; -class ITIPHandler; -} - -namespace KPIMIdentities { -class IdentityManager; -} - -class CalendarInterface; -class KJob; -class QDate; -class ConfigWidget; - -class MainView : public KDeclarativeMainView -{ - Q_OBJECT - - public: - explicit MainView( QWidget* parent = 0 ); - - ~MainView(); - - void setConfigWidget( ConfigWidget *configWidget ); - - static EventViews::PrefsPtr preferences(); - - public Q_SLOTS: - void showRegularCalendar(); - - void setCurrentEventItemId( qint64 id ); - - void newEvent(); - void newEventWithDate( const QDate &date ); - void newTodo(); - - void openIncidenceEditor( const QString &summary, - const QString &description, - const QStringList &attachmentUris, - const QStringList &attendees, - const QStringList &atttachmentMimeTypes, - bool attachmentIsInline, - KCalCore::Incidence::IncidenceType type ); - - void editIncidence(); - void editIncidence( const Akonadi::Item &item, const QDate &date ); - void deleteIncidence(); - void deleteIncidence( const Akonadi::Item &item ); - void uploadFreeBusy(); - void mailFreeBusy(); - void sendAsICalendar(); - void publishItemInformation(); - void sendInvitation(); - void sendStatusUpdate(); - void sendCancellation(); - void requestUpdate(); - void requestChange(); - void saveAllAttachments(); - void archiveOldEntries(); - void changeCalendarColor(); - - protected Q_SLOTS: - void qmlLoadingStateChanged( QDeclarativeView::Status status ); - - private Q_SLOTS: - void finishEdit( QObject *editor ); - void fetchForSendICalDone( KJob *job ); - void fetchForPublishItemDone( KJob *job ); - void fetchForiTIPMethodDone( KJob *job ); - void fetchForSaveAllAttachmentsDone( KJob *job ); - void updateActionTexts(); - void configureCategories(); - - protected: - void doDelayedInit(); - virtual void setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ); - - virtual void setupAgentActionManager( QItemSelectionModel *selectionModel ); - - virtual QAbstractProxyModel* createItemFilterModel() const; - virtual ImportHandlerBase* importHandler() const; - virtual ExportHandlerBase* exportHandler() const; - virtual GuiStateManager* createGuiStateManager() const; - virtual bool useFilterLineEditInCurrentState() const; - - void scheduleiTIPMethod( KCalCore::iTIPMethod method ); - - private: - Akonadi::ETMCalendar::Ptr m_calendar; - CalendarInterface* m_calendarIface; - QHash m_openItemEditors; - KPIMIdentities::IdentityManager* m_identityManager; - Akonadi::IncidenceChanger *m_changer; - static EventViews::PrefsPtr m_calendarPrefs; - Akonadi::StandardCalendarActionManager *mActionManager; - Akonadi::ITIPHandler *mITIPHandler; -}; - -#endif // MAINVIEW_H diff --git a/kdepim/mobile/calendar/monthviewitem.cpp b/kdepim/mobile/calendar/monthviewitem.cpp deleted file mode 100644 index 2f8d58a6..00000000 --- a/kdepim/mobile/calendar/monthviewitem.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "monthviewitem.h" -#include "mainview.h" - -#include -#include - -#include -#include - -using namespace EventViews; - -MonthViewItem::MonthViewItem( QDeclarativeItem* parent ) - : DeclarativeAkonadiItem( parent ) - , mView( new MonthView( MonthView::Hidden ) ) -{ - // start with the oxygen palette (which is not necessarily the default on all platforms) - QPalette pal = KGlobalSettings::createApplicationPalette( KGlobal::config() ); - mView->setPalette( pal ); - setWidget( mView ); - - connect( this, SIGNAL(previousItemRequest()), - mView, SLOT(moveBackMonth()) ); - connect( this, SIGNAL(nextItemRequest()), - mView, SLOT(moveFwdMonth()) ); - connect( mView, SIGNAL(newEventSignal()), - SLOT(emitDateClicked())); - connect( mView, SIGNAL(incidenceSelected(Akonadi::Item,QDate)), - SLOT(emitItemSelected(Akonadi::Item,QDate)) ); - - setPreferences( MainView::preferences() ); -} - -MonthViewItem::~MonthViewItem() -{ - mView->preferences()->writeConfig(); - delete mView; -} - -void MonthViewItem::emitDateClicked() -{ - emit dateClicked( mView->selectionStart().date() ); -} - -void MonthViewItem::emitItemSelected( const Akonadi::Item &item, const QDate &activeDate ) -{ - emit itemSelected( item.id(), activeDate ); -} - -QObject* MonthViewItem::calendar() const -{ - return mView->calendar().data(); -} - -void MonthViewItem::setCalendar( QObject* calendarObj ) -{ - Akonadi::ETMCalendar* cal = qobject_cast( calendarObj ); - kDebug() << calendarObj << cal; - if ( cal ) { - mView->setCalendar( cal->weakPointer().toStrongRef().dynamicCast() ); - mView->updateConfig(); - } -} - -void MonthViewItem::showMonth( const QDate &date ) -{ - const KDateTime start( QDate( date.year(), date.month(), 1 ) ); - const KDateTime end( QDate( date.year(), date.month(), date.daysInMonth() ) ); - mView->setDateRange( start, end ); -} - -void MonthViewItem::setPreferences( const PrefsPtr &preferences ) -{ - mView->setPreferences( preferences ); -} - -PrefsPtr MonthViewItem::preferences() const -{ - return mView->preferences(); -} - -void MonthViewItem::updateConfig() -{ - mView->updateConfig(); -} - diff --git a/kdepim/mobile/calendar/monthviewitem.h b/kdepim/mobile/calendar/monthviewitem.h deleted file mode 100644 index b276a674..00000000 --- a/kdepim/mobile/calendar/monthviewitem.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#ifndef MONTHVIEWITEM_H -#define MONTHVIEWITEM_H - -#include "declarativeakonadiitem.h" - -#include "calendarviews/prefs.h" - -namespace EventViews { - -class MonthView; - -class MonthViewItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - Q_PROPERTY( QObject* calendar READ calendar WRITE setCalendar ) - - public: - explicit MonthViewItem( QDeclarativeItem *parent = 0 ); - virtual ~MonthViewItem(); - - virtual qint64 itemId() const { return -1; } - virtual void setItemId( qint64 /*id*/ ) {} - - QObject *calendar() const; - void setCalendar( QObject* calendarObj ); - - /// Show the month from @param date. - Q_INVOKABLE void showMonth( const QDate &date ); - - void setPreferences( const PrefsPtr &preferences ); - PrefsPtr preferences() const; - - Q_SIGNALS: - void dateClicked( const QDate &date ); - void itemSelected( qint64 selectedItemId, const QDate &activeDate ); - - public Q_SLOTS: - void updateConfig(); - - private Q_SLOTS: - void emitDateClicked(); - void emitItemSelected( const Akonadi::Item &item, const QDate &activeDate ); - - private: - MonthView *mView; -}; - -} - -#endif // MONTHVIEWITEM_H diff --git a/kdepim/mobile/calendar/qmldateedit.cpp b/kdepim/mobile/calendar/qmldateedit.cpp deleted file mode 100644 index 595914c8..00000000 --- a/kdepim/mobile/calendar/qmldateedit.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#include "qmldateedit.h" - -namespace Qt { - -QmlDateEdit::QmlDateEdit( QDeclarativeItem *parent ) - : DeclarativeWidgetWrapper< QDateEdit >( parent ) -{ - m_widget->setDate( QDate::currentDate() ); -} - -QDate QmlDateEdit::date() const -{ - return m_widget->date(); -} - -void QmlDateEdit::setDate(const QDate& date) -{ - m_widget->setDate( date ); -} - -QString QmlDateEdit::displayFormat() const -{ - return m_widget->displayFormat(); -} - -void QmlDateEdit::setDisplayFormat( const QString &format ) -{ - m_widget->setDisplayFormat( format ); -} - -} - diff --git a/kdepim/mobile/calendar/qmldateedit.h b/kdepim/mobile/calendar/qmldateedit.h deleted file mode 100644 index 40e2f71e..00000000 --- a/kdepim/mobile/calendar/qmldateedit.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#ifndef QMLDATEEDIT_H -#define QMLDATEEDIT_H - -#include -#include -#include "declarativewidgetwrapper.h" - - -namespace Qt { - -class QmlDateEdit : public DeclarativeWidgetWrapper -{ - Q_OBJECT - Q_PROPERTY( QDate date READ date WRITE setDate ) - Q_PROPERTY( QString displayFormat READ displayFormat WRITE setDisplayFormat ) - -public: - explicit QmlDateEdit( QDeclarativeItem *parent = 0 ); - - QDate date() const; - void setDate( const QDate &date ); - - QString displayFormat() const; - void setDisplayFormat( const QString &format ); -}; - -} - -#endif // QMLDATEEDIT_H diff --git a/kdepim/mobile/calendar/searchwidget.cpp b/kdepim/mobile/calendar/searchwidget.cpp deleted file mode 100644 index 53c95404..00000000 --- a/kdepim/mobile/calendar/searchwidget.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "searchwidget.h" - -#include "stylesheetloader.h" - -#include -#include - -#include -#include - -SearchWidget::SearchWidget( QWidget *parent ) - : QWidget( parent ) -{ - mUi.setupUi( this ); - - // set defaults - mUi.inSummaries->setChecked( true ); - mUi.inDescriptions->setChecked( true ); - mUi.includeTodosWithoutDueDate->setChecked( true ); - mUi.startDate->setDate( QDate::currentDate() ); - mUi.endDate->setDate( QDate::currentDate().addYears( 1 ) ); - mUi.collectionCombo->setMimeTypeFilter( QStringList() << KCalCore::Event::eventMimeType() - << KCalCore::Todo::todoMimeType() ); -} - -QString SearchWidget::query() const -{ - //TODO create search query from dialog - return QString(); -} - -DeclarativeSearchWidget::DeclarativeSearchWidget( QGraphicsItem *parent ) - : QGraphicsProxyWidget( parent ), mSearchWidget( new SearchWidget ) -{ - QPalette palette = mSearchWidget->palette(); - palette.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - mSearchWidget->setPalette( palette ); - StyleSheetLoader::applyStyle( mSearchWidget ); - - setWidget( mSearchWidget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeSearchWidget::~DeclarativeSearchWidget() -{ -} - -QString DeclarativeSearchWidget::query() const -{ - return mSearchWidget->query(); -} - diff --git a/kdepim/mobile/calendar/searchwidget.h b/kdepim/mobile/calendar/searchwidget.h deleted file mode 100644 index 52321477..00000000 --- a/kdepim/mobile/calendar/searchwidget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef SEARCHWIDGET_H -#define SEARCHWIDGET_H - -#include "ui_searchwidget.h" - -#include -#include - -class SearchWidget : public QWidget -{ - Q_OBJECT - - public: - explicit SearchWidget( QWidget *parent = 0 ); - - QString query() const; - - private: - Ui_SearchWidget mUi; -}; - -class DeclarativeSearchWidget : public QGraphicsProxyWidget -{ - Q_OBJECT - - Q_PROPERTY( QString query READ query ) - - public: - explicit DeclarativeSearchWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeSearchWidget(); - - public Q_SLOTS: - QString query() const; - - private: - SearchWidget *mSearchWidget; -}; - -#endif diff --git a/kdepim/mobile/calendar/searchwidget.ui b/kdepim/mobile/calendar/searchwidget.ui deleted file mode 100644 index d249f148..00000000 --- a/kdepim/mobile/calendar/searchwidget.ui +++ /dev/null @@ -1,223 +0,0 @@ - - - SearchWidget - - - - 0 - 0 - 430 - 278 - - - - - - - Search for: - - - - - - - true - - - - - - - In: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - Summaries - - - - - - - Descriptions - - - - - - - Categories - - - - - - - Locations - - - - - - - - - - Between: - - - - - - - - - true - - - - - - - - 0 - 0 - - - - and - - - Qt::AlignCenter - - - - - - - true - - - - - - - - - Include events within the specified date range - - - - - - - Include To-Dos without a due date - - - - - - - Located in: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - any folder - - - true - - - - - - - only in folder - - - - - - - false - - - - - - - - - - - KDateComboBox - QComboBox -

kdatecombobox.h
- - - KLineEdit - QLineEdit -
klineedit.h
-
- - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
- - - - - locatedInSpecificCollection - toggled(bool) - collectionCombo - setEnabled(bool) - - - 138 - 235 - - - 217 - 239 - - - - - diff --git a/kdepim/mobile/calendar/settings.kcfg b/kdepim/mobile/calendar/settings.kcfg deleted file mode 100644 index 76a628c8..00000000 --- a/kdepim/mobile/calendar/settings.kcfg +++ /dev/null @@ -1,72 +0,0 @@ - - - - kglobalsettings.h - - - - - QDateTime(QDate(1752,1,1), QTime(7,0)) - - - - - QDateTime(QDate(1752,1,1), QTime(8,0)) - - - QDateTime(QDate(1752,1,1), QTime(17,0)) - - - - - - - - - - - - - - - - - - - - - - - CategoryInsideResourceOutside - - - - - - - - - - - MonthItemCategoryInsideResourceOutside - - - - - - - - - - - - - - - - - true - - diff --git a/kdepim/mobile/calendar/settings.kcfgc b/kdepim/mobile/calendar/settings.kcfgc deleted file mode 100644 index 734c1668..00000000 --- a/kdepim/mobile/calendar/settings.kcfgc +++ /dev/null @@ -1,6 +0,0 @@ -File=settings.kcfg -ClassName=Settings -Mutators=true -Singleton=true -ItemAccessors=true -SetUserTexts=true diff --git a/kdepim/mobile/calendar/timelineviewitem.cpp b/kdepim/mobile/calendar/timelineviewitem.cpp deleted file mode 100644 index 719f56ac..00000000 --- a/kdepim/mobile/calendar/timelineviewitem.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "timelineviewitem.h" -#include "stylesheetloader.h" - -#include -#include - -#include -#include -#include -#include - -using namespace EventViews; - -// TODO: reuse code with AgendaViewItem and MonthViewItem once the dust has settled - -TimelineViewItem::TimelineViewItem(QDeclarativeItem* parent) - : DeclarativeAkonadiItem( parent ) - , m_view( new TimelineView() ) - , m_currentRange( Week ) -{ - // start with the oxygen palette (which is not necessarily the default on all platforms) - QPalette pal = KGlobalSettings::createApplicationPalette( KGlobal::config() ); - StyleSheetLoader::applyStyle( m_view ); - m_view->setPalette( pal ); - m_view->setDateRangeSelectionEnabled( false ); - m_view->layout()->setMargin( 0 ); - - connect( m_view, SIGNAL(incidenceSelected(Akonadi::Item,QDate)), - SIGNAL(itemSelected()) ); - connect( m_view, SIGNAL(incidenceSelected(Akonadi::Item,QDate)), - SIGNAL(itemSelected(Akonadi::Item,QDate)) ); - connect( this, SIGNAL(nextItemRequest()), SLOT(gotoNext()) ); - connect( this, SIGNAL(previousItemRequest()), SLOT(gotoPrevious()) ); - - setWidget( m_view ); - showRange( QDate::currentDate(), Week ); -} - -TimelineViewItem::~TimelineViewItem() -{ - delete m_view; -} - -QDate TimelineViewItem::startDate() const -{ - return QDate( m_view->startDate() ); -} - -void TimelineViewItem::setStartDate(const QDate& startDate) -{ - kDebug() << startDate; - if ( startDate.isValid() ) - m_view->showDates( startDate, endDate() ); -} - -QDate TimelineViewItem::endDate() const -{ - return QDate( m_view->endDate() ); -} - -void TimelineViewItem::setEndDate(const QDate& endDate) -{ - kDebug() << endDate; - if ( endDate.isValid() ) - m_view->showDates( startDate(), endDate ); -} - -QObject* TimelineViewItem::calendar() const -{ - return m_view->calendar().data(); -} - -void TimelineViewItem::setCalendar(QObject* calendarObj) -{ - Akonadi::ETMCalendar* cal = qobject_cast( calendarObj ); - kDebug() << calendarObj << cal; - if ( cal ) { - m_view->setCalendar( cal->weakPointer().toStrongRef().dynamicCast() ); - m_view->updateConfig(); - } -} - -void TimelineViewItem::showRange( const QDate &date, int range ) -{ - if ( !m_view->calendar() ) return; - - Q_ASSERT( range >= 0 && range <= LastRange ); - - m_currentRange = Range( range ); - switch( m_currentRange ) { - case Day: { - m_view->showDates( date, date ); - break; - } - case Week: { - int weekStartDay = KGlobal::locale()->weekStartDay(); - if ( weekStartDay > date.dayOfWeek() ) - weekStartDay = weekStartDay - 7; - m_view->showDates( date.addDays( weekStartDay - date.dayOfWeek() ), date.addDays( weekStartDay + 6 - date.dayOfWeek() ) ); - break; - } - case WorkWeek: { - int workingWeekStartDay = KGlobal::locale()->workingWeekStartDay(); - int workingWeekEndDay = KGlobal::locale()->workingWeekEndDay(); - m_view->showDates( date.addDays( workingWeekStartDay - date.dayOfWeek() ), date.addDays( workingWeekEndDay - date.dayOfWeek() ) ); - break; - } - case Next3Days: { - m_view->showDates( date, date.addDays( 3 ) ); - break; - } - case Next7Days: { - m_view->showDates( date, date.addDays( 7 ) ); - break; - } - default:; - } -} - -qint64 TimelineViewItem::selectedItemId() const -{ - if ( m_view->selectedIncidences().size() < 1 ) - return -1; - return m_view->selectedIncidences().first().id(); -} - -void TimelineViewItem::clearSelection() -{ - m_view->clearSelection(); -} - -void TimelineViewItem::gotoNext() -{ - const QDate start = endDate().addDays( 1 ); - const QDate end = start.addDays( startDate().daysTo( endDate() ) ); - m_view->blockSignals( true ); - m_view->showDates( start, end ); - m_view->clearSelection(); - m_view->blockSignals( false ); -} - -void TimelineViewItem::gotoPrevious() -{ - const QDate end = startDate().addDays( - 1 ); - const QDate start = end.addDays( - startDate().daysTo( endDate() ) ); - m_view->blockSignals( true ); - m_view->showDates( start, end ); - m_view->clearSelection(); - m_view->blockSignals( false ); -} - diff --git a/kdepim/mobile/calendar/timelineviewitem.h b/kdepim/mobile/calendar/timelineviewitem.h deleted file mode 100644 index 77e9d2be..00000000 --- a/kdepim/mobile/calendar/timelineviewitem.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CALENDARVIEWS_TIMELINEVIEWITEM_H -#define CALENDARVIEWS_TIMELINEVIEWITEM_H - -#include - -#include "declarativeakonadiitem.h" - -namespace Akonadi { -class Item; -} - -namespace EventViews { - -class TimelineView; - -class TimelineViewItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - Q_ENUMS( Range ) - Q_PROPERTY( QDate startDate READ startDate WRITE setStartDate ) - Q_PROPERTY( QDate endDate READ endDate WRITE setEndDate ) - Q_PROPERTY( QObject* calendar READ calendar WRITE setCalendar ) - Q_PROPERTY( qint64 selectedItemId READ selectedItemId NOTIFY itemSelected ) - Q_PROPERTY( int range READ range ) - - public: - enum Range { - Day = 0, - Week, - WorkWeek, - Next3Days, - Next7Days, - LastRange - }; - - public: - explicit TimelineViewItem( QDeclarativeItem *parent = 0 ); - ~TimelineViewItem(); - - virtual qint64 itemId() const { return -1; } - virtual void setItemId( qint64 /*id*/ ) {} - - QDate startDate() const; - void setStartDate( const QDate &startDate ); - QDate endDate() const; - void setEndDate( const QDate &endDate ); - QObject *calendar() const; - void setCalendar( QObject* calendarObj ); - - /** Show the appropriate range for given date. */ - Q_INVOKABLE void showRange( const QDate &date, /* Range */ int range ); // TODO: Figure out how to export enums to QML - - int range() const { return m_currentRange; } - - qint64 selectedItemId() const; - - public slots: - /** Unselects currently selected incidences */ - void clearSelection(); - - /** Show the following date range of equal length right after the current one. */ - void gotoNext(); - /** Show the preceding date range. */ - void gotoPrevious(); - - signals: - void itemSelected( Akonadi::Item item, const QDate &activeDate ); - - private: - TimelineView *m_view; - Range m_currentRange; -}; - -} - -#endif // CALENDARVIEWS_AGENDAVIEWITEM_H diff --git a/kdepim/mobile/contacts/BulkActionComponent.qml b/kdepim/mobile/contacts/BulkActionComponent.qml deleted file mode 100644 index cab34578..00000000 --- a/kdepim/mobile/contacts/BulkActionComponent.qml +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.BulkActionScreen { - id: bulkActionScreen - anchors.fill: parent - - property bool initialized: false - - actionListWidth: 1/3 * parent.width - multipleText: KDE.i18np("1 folder", "%1 folders", collectionView.numSelected) - selectedItemModel: _breadcrumbNavigationFactory.qmlSelectedItemModel(); - - headerList: ContactListView { - id: bulkActionContactList - anchors.fill: parent - showCheckBox: true - model: itemModel - checkModel: _itemActionModel - itemHeight: bulkActionScreen.itemHeight - } - - QML.Component.onCompleted: { - if ( initialized == false ) { - bulkActionScreen.actionModel.append( {"action": "send_mail_to"} ) - initialized = true; - } - } -} diff --git a/kdepim/mobile/contacts/CMakeLists.txt b/kdepim/mobile/contacts/CMakeLists.txt deleted file mode 100644 index 77532068..00000000 --- a/kdepim/mobile/contacts/CMakeLists.txt +++ /dev/null @@ -1,100 +0,0 @@ -project( kaddressbook-mobile ) - -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) - -include_directories( - ${CMAKE_SOURCE_DIR}/libkleo/ - ${CMAKE_SOURCE_DIR}/libkdepim/ - ${Boost_INCLUDE_DIR} -) - -set(kab_mobile_srcs - mainview.cpp - main.cpp - configwidget.cpp - contactviewitem.cpp - contactgroupviewitem.cpp - contactcompletionmodel.cpp - contacteditorview.cpp - contactgroupeditorview.cpp - contactlistproxy.cpp - contactsexporthandler.cpp - contactsguistatemanager.cpp - contactsimporthandler.cpp - customfieldeditordialog.cpp - customfieldeditwidget.cpp - customfieldmanager.cpp - customfields.cpp - displaynameeditwidget.cpp - editorbase.cpp - editorbusiness.cpp - editorcontactgroup.cpp - editorcrypto.cpp - editorgeneral.cpp - editorlocation.cpp - editormore.cpp - imagewidget.cpp - kwidgetlister.cpp - locationmodel.cpp - namepartseditwidget.cpp - mobilelineedit.cpp - phonetypecombo.cpp - searchwidget.cpp -) - -kde4_add_ui_files(kab_mobile_srcs - editorbusiness.ui - editorcontactgroup.ui - editorcrypto.ui - editorgeneral.ui - editorlocation.ui - editormore.ui - editormore_categoriespage.ui - editormore_customfieldspage.ui - editormore_namepage.ui - editormore_internetpage.ui - editormore_personalpage.ui -) - -qt4_wrap_ui(kab_mobile_srcs configwidget.ui searchwidget.ui) -kde4_add_kcfg_files(kab_mobile_srcs settings.kcfgc) - -if (RUNTIME_PLUGINS_STATIC) - add_definitions(-DMAIL_SERIALIZER_PLUGIN_STATIC) -endif () - -kde4_add_app_icon(kab_mobile_srcs "${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-kaddressbook-mobile.png") - -kde4_add_executable(kaddressbook-mobile ${kab_mobile_srcs} ) - -target_link_libraries(kaddressbook-mobile - ${QT_QTDECLARATIVE_LIBRARY} - ${KDEPIMLIBS_AKONADI_CONTACTS_LIBRARY} - ${KDEPIMLIBS_KABC_LIBS} - ${KDEPIMLIBS_AKONADI_LIBS} - ${KDE4_KCMUTILS_LIBS} - kdepim - kdepimmobileui - kleo - incidenceeditorsngmobile - calendarsupport -) - -if (RUNTIME_PLUGINS_STATIC) - target_link_libraries(kaddressbook-mobile akonadi_serializer_addressee akonadi_serializer_contactgroup) -endif () - -install(TARGETS kaddressbook-mobile ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS kaddressbook-mobile.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install(FILES - BulkActionComponent.qml - ConfigDialog.qml - contact-editor.qml - contactgroup-editor.qml - kaddressbook-mobile.qml - KAddressBookActions.qml - kaddressbook-mobile-background.png - ContactListView.qml - DESTINATION ${DATA_INSTALL_DIR}/kaddressbook-mobile -) -kde4_install_icons( ${ICON_INSTALL_DIR} ) diff --git a/kdepim/mobile/contacts/ConfigDialog.qml b/kdepim/mobile/contacts/ConfigDialog.qml deleted file mode 100644 index 1767d699..00000000 --- a/kdepim/mobile/contacts/ConfigDialog.qml +++ /dev/null @@ -1,88 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi.contacts 4.5 as Contacts -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - id: configDialog - anchors.fill: parent - z: 10 - color: "white" - visible: guiStateManager.inConfigScreenState - - function load() { - configWidget.load(); - } - - PlasmaExtras.ScrollArea { - id: configWidgetBox - - anchors { - top: parent.top - topMargin: 25 - bottom: parent.bottom - left: parent.left - right: okButton.left - } - - flickableItem: QML.Flickable { - contentHeight: configWidget.height; - - Contacts.ConfigWidget { - id: configWidget - width: parent.width - } - } - } - - KPIM.Button2 { - id: okButton - anchors { - top: parent.top - topMargin: 20 - right: parent.right - } - - width: 150 - buttonText: KDE.i18n( "OK" ) - - onClicked: { - configWidget.save(); - guiStateManager.popState() - } - } - - KPIM.Button2 { - id: cancelButton - anchors { - top: okButton.bottom - right: parent.right - } - width: 150 - buttonText: KDE.i18n( "Cancel" ) - - onClicked: { - guiStateManager.popState() - } - } -} diff --git a/kdepim/mobile/contacts/ContactListView.qml b/kdepim/mobile/contacts/ContactListView.qml deleted file mode 100644 index 964a6e10..00000000 --- a/kdepim/mobile/contacts/ContactListView.qml +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.ItemListView { - id: _top - - property bool showCheckBox - property variant checkModel - - delegate: [ - - KPIM.ItemListViewDelegate { - navigationModel: _top.navigationModel - showCheckBox: _top.showCheckBox - checkModel: _top.checkModel - height: _top.itemHeight - - summaryContent: [ - - QML.Image { - anchors { - left: parent.left - top: parent.top - margins: 4 - } - source: model.picture - scale: (parent.height - 2 * anchors.margins) / Math.max( width, height ) - transformOrigin: "TopLeft" - }, - - QML.Text { - anchors { - top: parent.top - margins: 4 - } - x: parent.height + anchors.margins - text: model.name - } - ] - } - ] -} diff --git a/kdepim/mobile/contacts/KAddressBookActions.qml b/kdepim/mobile/contacts/KAddressBookActions.qml deleted file mode 100644 index 67f1212f..00000000 --- a/kdepim/mobile/contacts/KAddressBookActions.qml +++ /dev/null @@ -1,140 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 -import "../mobileui/ScreenFunctions.js" as Screen - -ActionMenuContainer { - - menuStyle : true - - actionItemHeight : Screen.partition( height, 6 ) - actionItemSpacing - actionItemWidth : 200 - actionItemSpacing : 2 - - ActionList { - category : "home" - name : "home_menu" - text : KDE.i18n( "Home" ) - ActionListItem { name : "synchronize_all_items" } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Multiple Address Books" ) } - ActionListItem { name : "import_vcards" } - ActionListItem { name : "configure_categories" } - } - - FavoriteManager{ model : favoritesList } - - AgentInstanceList { - category : "home" - name : "accounts_list" - text : KDE.i18n( "Accounts" ) - - model : agentInstanceList - } - - ActionList { - category : "account" - name : "account_menu" - text : KDE.i18n( "Account" ) - ActionListItem { name : "akonadi_resource_synchronize" } - ActionListItem { name : "akonadi_resource_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "export_account_vcards" } - } - - ActionList { - category : "single_folder" - name : "single_folder_folder_menu" - text : KDE.i18n( "Folder" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_vcards" } - } - - ActionList { - category : "single_folder" - name : "single_folder_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_collection_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "akonadi_collection_move_to_dialog" } - ActionListItem { name : "akonadi_collection_copy_to_dialog" } - ActionListItem { name : "akonadi_collection_delete" } - } - - ActionList { - category : "single_folder" - name : "single_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_folder_menu" - text : KDE.i18n( "Folders" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_vcards" } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ); visible: !guiStateManager.inSearchResultScreenState } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Address Books" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - /*ActionList { - category : "contact_viewer" - name : "contact_viewer_contact_menu" - text : KDE.i18n( "Contact" ) - }*/ - - ActionList { - category : "contact_viewer" - name : "contact_viewer_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_contact_item_edit" } - ActionListItem { name : "akonadi_item_copy_to_dialog" } - ActionListItem { name : "akonadi_item_move_to_dialog" } - ActionListItem { name : "akonadi_item_delete" } - ActionListItem { name : "export_single_contact_vcard" } - } - - ApplicationGeneralActions { - name : "application_menu" - category : "standard" - text : KDE.i18n( "Contacts" ) - type : "contact" - - addNewActionName: "akonadi_contact_create" - //TODO enable when SearchWidget::query() is implemented - //searchActionTitle: KDE.i18n( "Search For Contacts" ) - configureActionTitle: KDE.i18n( "Configure Contacts" ) - - ActionListItem { name : "akonadi_contact_group_create" } - ActionListItem { name : "search_ldap" } - } -} diff --git a/kdepim/mobile/contacts/Messages.sh b/kdepim/mobile/contacts/Messages.sh deleted file mode 100644 index a2afa3f0..00000000 --- a/kdepim/mobile/contacts/Messages.sh +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/sh -$EXTRACTRC --ignore-no-input `find . \( -name '*.ui' -or -name '*.rc' -or -name '*.kcfg' -or -name '*.kcfg.cmake' \) -and -not -name '*-mobile.rc'` >> rc.cpp || exit 11 -$XGETTEXT -ktranslate `find -name '*.cpp' -o -name '*.h' -o -name '*.qml'` -o $podir/kaddressbook-mobile.pot -rm -f rc.cpp diff --git a/kdepim/mobile/contacts/configwidget.cpp b/kdepim/mobile/contacts/configwidget.cpp deleted file mode 100644 index df5d9629..00000000 --- a/kdepim/mobile/contacts/configwidget.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "configwidget.h" - -#include "settings.h" -#include "stylesheetloader.h" -#include "ui_configwidget.h" - -#include -#include -#include - -ConfigWidget::ConfigWidget( QWidget *parent ) - : QWidget( parent ) -{ - Ui_ConfigWidget ui; - ui.setupUi( this ); - - mLdapConfigWidget = new KCModuleProxy( QLatin1String( "kcmldap" ) ); - - ui.ldapServerSettingsLayout->addWidget( mLdapConfigWidget, 1, 1 ); - - mMapServiceBox = ui.kcfg_MapService; - - mManager = new KConfigDialogManager( this, Settings::self() ); - - mMapServiceBox->addItem( i18n( "None" ), QString() ); - mMapServiceBox->addItem( i18n( "OpenStreetMap" ), QLatin1String( "http://open.mapquestapi.com/nominatim/v1/search.php?q=%s,+%z+%l,+%c" ) ); - mMapServiceBox->addItem( i18n( "Google Maps" ), QLatin1String( "http://maps.google.com/maps?q=%n,%l,%s" ) ); -} - -void ConfigWidget::load() -{ - KConfig config( QLatin1String("akonadi_contactrc") ); - const KConfigGroup group( &config, "Show Address Settings" ); - const QString addressUrl = group.readEntry( "AddressUrl", QString::fromLatin1( "http://open.mapquestapi.com/nominatim/v1/search.php?q=%s,+%z+%l,+%c" ) ); - - Settings::self()->setMapService( mMapServiceBox->findData( addressUrl ) ); - mManager->updateWidgets(); - - mLdapConfigWidget->load(); -} - -void ConfigWidget::save() -{ - mManager->updateSettings(); - - const QString addressUrl = mMapServiceBox->itemData( Settings::self()->mapService() ).toString(); - - KConfig config( QLatin1String("akonadi_contactrc") ); - KConfigGroup group( &config, "Show Address Settings" ); - group.writeEntry( "AddressUrl", addressUrl ); - config.sync(); - - mLdapConfigWidget->save(); -} - -DeclarativeConfigWidget::DeclarativeConfigWidget( QGraphicsItem *parent ) - : QGraphicsProxyWidget( parent ), mConfigWidget( new ConfigWidget ) -{ - QPalette palette = mConfigWidget->palette(); - palette.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - mConfigWidget->setPalette( palette ); - StyleSheetLoader::applyStyle( mConfigWidget ); - - setWidget( mConfigWidget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeConfigWidget::~DeclarativeConfigWidget() -{ -} - -void DeclarativeConfigWidget::load() -{ - mConfigWidget->load(); -} - -void DeclarativeConfigWidget::save() -{ - mConfigWidget->save(); -} - diff --git a/kdepim/mobile/contacts/configwidget.h b/kdepim/mobile/contacts/configwidget.h deleted file mode 100644 index 32b4d4e3..00000000 --- a/kdepim/mobile/contacts/configwidget.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef CONFIGWIDGET_H -#define CONFIGWIDGET_H - -#include -#include - -class KCModuleProxy; -class KComboBox; -class KConfigDialogManager; - -class ConfigWidget : public QWidget -{ - Q_OBJECT - - public: - explicit ConfigWidget( QWidget *parent = 0 ); - - public Q_SLOTS: - void load(); - void save(); - - private: - KConfigDialogManager *mManager; - KComboBox *mMapServiceBox; - KCModuleProxy *mLdapConfigWidget; -}; - -class DeclarativeConfigWidget : public QGraphicsProxyWidget -{ - Q_OBJECT - - public: - explicit DeclarativeConfigWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeConfigWidget(); - - public Q_SLOTS: - void load(); - void save(); - - private: - ConfigWidget *mConfigWidget; -}; - -#endif diff --git a/kdepim/mobile/contacts/configwidget.ui b/kdepim/mobile/contacts/configwidget.ui deleted file mode 100644 index ed6a9fed..00000000 --- a/kdepim/mobile/contacts/configwidget.ui +++ /dev/null @@ -1,105 +0,0 @@ - - - ConfigWidget - - - - 0 - 0 - 241 - 117 - - - - - - - - - - 75 - true - - - - Contact Actions - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - - Show address on: - - - - - - - - - - - - - - - - - 75 - true - - - - LDAP Servers - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - - - KComboBox - QComboBox -
kcombobox.h
-
-
- - -
diff --git a/kdepim/mobile/contacts/contact-editor.qml b/kdepim/mobile/contacts/contact-editor.qml deleted file mode 100644 index e971e617..00000000 --- a/kdepim/mobile/contacts/contact-editor.qml +++ /dev/null @@ -1,143 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.contacteditors 4.5 as ContactEditors -import org.kde.plasma.extras 0.1 as PlasmaExtras - -KPIM.MainView { - PlasmaExtras.ScrollArea { - - anchors { - fill: parent - topMargin: 40 - leftMargin: 40 - rightMargin: 4 - } - - flickableItem: Flickable { - contentHeight: editorGeneral.height; - - ContactEditors.ContactEditorGeneral { - id: editorGeneral; - width: parent.width; - } - } - } - - SlideoutPanelContainer { - anchors.fill: parent - z: 50 - - SlideoutPanel { - id: businessPanel - anchors.fill: parent - titleText: KDE.i18n( "Business" ) - handlePosition: 30 - handleHeight: 120 - - content: [ - - PlasmaExtras.ScrollArea { - anchors.fill: parent - - flickableItem: Flickable { - contentHeight: editorBusiness.height - - ContactEditors.ContactEditorBusiness { - id: editorBusiness - width: parent.width - } - } - } - ] - } - - SlideoutPanel { - id: locationPanel - anchors.fill: parent - titleText: KDE.i18n( "Location" ) - handlePosition: 30 + 120 - handleHeight: 120 - - content: [ - PlasmaExtras.ScrollArea { - anchors.fill: parent - - flickableItem: Flickable { - contentHeight: editorLocation.height - - ContactEditors.ContactEditorLocation { - id: editorLocation - width: parent.width - } - } - } - ] - } - - SlideoutPanel { - id: cryptoPanel - anchors.fill: parent - titleText: KDE.i18n( "Crypto" ) - handlePosition: 30 + 120 + 120 - handleHeight: 100 - - content: [ - PlasmaExtras.ScrollArea { - anchors.fill: parent - - flickableItem: Flickable { - contentHeight: editorCrypto.height - - ContactEditors.ContactEditorCrypto { - id: editorCrypto - width: parent.width - } - } - } - ] - } - - SlideoutPanel { - id: morePanel - anchors.fill: parent - titleText: KDE.i18n( "More" ) - handlePosition: 30 + 120 + 120 + 100 - handleHeight: 100 - - content: [ - PlasmaExtras.ScrollArea { - anchors.fill: parent - - flickableItem: Flickable { - contentHeight: editorMore.height - - ContactEditors.ContactEditorMore { - id: editorMore - width: parent.width - } - } - } - ] - } - } -} diff --git a/kdepim/mobile/contacts/contactcompletionmodel.cpp b/kdepim/mobile/contacts/contactcompletionmodel.cpp deleted file mode 100644 index a5acb5f7..00000000 --- a/kdepim/mobile/contacts/contactcompletionmodel.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2009 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactcompletionmodel_p.h" - -#include -#include -#include -#include - -#include - -using namespace Akonadi; - -QAbstractItemModel* ContactCompletionModel::mSelf = 0; - -QAbstractItemModel* ContactCompletionModel::self() -{ - if ( mSelf ) - return mSelf; - - ChangeRecorder *monitor = new ChangeRecorder; - monitor->fetchCollection( true ); - monitor->itemFetchScope().fetchFullPayload(); - monitor->setCollectionMonitored( Akonadi::Collection::root() ); - monitor->setMimeTypeMonitored( KABC::Addressee::mimeType() ); - - ContactCompletionModel *model = new ContactCompletionModel( monitor ); - - EntityMimeTypeFilterModel *filter = new Akonadi::EntityMimeTypeFilterModel( model ); - filter->setSourceModel( model ); - filter->addMimeTypeExclusionFilter( Akonadi::Collection::mimeType() ); - filter->setHeaderGroup( Akonadi::EntityTreeModel::ItemListHeaders ); - - mSelf = filter; - - return mSelf; -} - -ContactCompletionModel::ContactCompletionModel( ChangeRecorder *monitor, QObject *parent ) - : EntityTreeModel( monitor, parent ) -{ - setCollectionFetchStrategy( InvisibleCollectionFetch ); -} - -ContactCompletionModel::~ContactCompletionModel() -{ -} - -QVariant ContactCompletionModel::entityData( const Item &item, int column, int role ) const -{ - if ( !item.hasPayload() ) { - // Pass modeltest - if ( role == Qt::DisplayRole ) - return item.remoteId(); - - return QVariant(); - } - - if ( role == Qt::DisplayRole || role == Qt::EditRole ) { - const KABC::Addressee contact = item.payload(); - - switch ( column ) { - case NameColumn: - if ( !contact.formattedName().isEmpty() ) - return contact.formattedName(); - else - return contact.assembledName(); - break; - case NameAndEmailColumn: - { - QString name = QString::fromLatin1( "%1 %2" ).arg( contact.givenName() ) - .arg( contact.familyName() ).simplified(); - if ( name.isEmpty() ) - name = contact.organization().simplified(); - if ( name.isEmpty() ) - return QString(); - - const QString email = contact.preferredEmail().simplified(); - if ( email.isEmpty() ) - return QString(); - - return QString::fromLatin1( "%1 <%2>" ).arg( name ).arg( email ); - } - break; - case EmailColumn: - return contact.preferredEmail(); - break; - } - } - - return EntityTreeModel::entityData( item, column, role ); -} - -QVariant ContactCompletionModel::entityData( const Collection &collection, int column, int role ) const -{ - return EntityTreeModel::entityData( collection, column, role ); -} - -int ContactCompletionModel::columnCount( const QModelIndex &parent ) const -{ - if ( !parent.isValid() ) - return 3; - else - return 0; -} - -int ContactCompletionModel::entityColumnCount( HeaderGroup ) const -{ - return 3; -} - -#include "moc_contactcompletionmodel_p.cpp" diff --git a/kdepim/mobile/contacts/contactcompletionmodel_p.h b/kdepim/mobile/contacts/contactcompletionmodel_p.h deleted file mode 100644 index e836a0d3..00000000 --- a/kdepim/mobile/contacts/contactcompletionmodel_p.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2009 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_CONTACTCOMPLETIONMODEL_P_H -#define AKONADI_CONTACTCOMPLETIONMODEL_P_H - -#include - -namespace Akonadi { - -class ContactCompletionModel : public EntityTreeModel -{ - Q_OBJECT - - public: - enum Columns - { - NameColumn, ///< The name of the contact. - NameAndEmailColumn, ///< The name and the email of the contact. - EmailColumn ///< The preferred email of the contact. - }; - - explicit ContactCompletionModel( ChangeRecorder *monitor, QObject *parent = 0 ); - virtual ~ContactCompletionModel(); - - virtual QVariant entityData( const Item &item, int column, int role = Qt::DisplayRole ) const; - virtual QVariant entityData( const Collection &collection, int column, int role = Qt::DisplayRole ) const; - virtual int columnCount( const QModelIndex &parent ) const; - virtual int entityColumnCount( HeaderGroup ) const; - - static QAbstractItemModel* self(); - - private: - static QAbstractItemModel* mSelf; -}; - -} - -#endif diff --git a/kdepim/mobile/contacts/contacteditorview.cpp b/kdepim/mobile/contacts/contacteditorview.cpp deleted file mode 100644 index 4e665422..00000000 --- a/kdepim/mobile/contacts/contacteditorview.cpp +++ /dev/null @@ -1,318 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contacteditorview.h" - -#include "contactmetadata_p.h" -#include "editorgeneral.h" -#include "editorbusiness.h" -#include "editorlocation.h" -#include "editorcrypto.h" -#include "editormore.h" -#include "declarativewidgetbase.h" - -#include - -#include -#include -#include - -#include -#include - -#include - -using namespace Akonadi; - -typedef DeclarativeWidgetBase DeclarativeEditorGeneral; -typedef DeclarativeWidgetBase DeclarativeEditorBusiness; -typedef DeclarativeWidgetBase DeclarativeEditorLocation; -typedef DeclarativeWidgetBase DeclarativeEditorCrypto; -typedef DeclarativeWidgetBase DeclarativeEditorMore; - -class ContactEditorView::Private : public IncidenceEditorNG::ItemEditorUi -{ - ContactEditorView *const q; - - public: - explicit Private( ContactEditorView *parent ) - : q( parent ), mItemManager( new IncidenceEditorNG::EditorItemManager( this ) ), - mEditorBusiness( 0 ), mEditorGeneral( 0 ), mEditorMore( 0 ) - { - } - - ~Private() - { - delete mItemManager; - } - - void addDetailEditor( EditorBase *editor ); - - public: // slots - void saveFinished(); - void saveFailed( IncidenceEditorNG::EditorItemManager::SaveAction, const QString &errorMessage ); - void collectionChanged( const Akonadi::Collection &collection ); - - public: // ItemEditorGeneralUi interface - bool containsPayloadIdentifiers( const QSet &partIdentifiers ) const - { - return partIdentifiers.contains( Item::FullPayload ); - } - - bool hasSupportedPayload( const Item &item ) const - { - return item.hasPayload(); - } - - bool isDirty() const - { - return true; - } - - bool isValid() const - { - return selectedCollection().isValid(); - } - - void load( const Item &item ); - Item save( const Item &item ); - Collection selectedCollection() const; - void reject( RejectReason reason, const QString &errorMessage = QString() ); - - public: - Item mItem; - ContactMetaData mContactMetaData; - Collection mCollection; - Collection mDefaultCollection; - - IncidenceEditorNG::EditorItemManager *mItemManager; - - EditorBusiness *mEditorBusiness; - EditorGeneral *mEditorGeneral; - EditorMore *mEditorMore; - - QList mDetailEditors; -}; - -void ContactEditorView::Private::addDetailEditor( EditorBase *editor ) -{ - if ( editor != 0 ) { - mDetailEditors << editor; - - if ( mItem.hasPayload() ) { - const KABC::Addressee contact = mItem.payload(); - // tokoe: enable when ContactMetaData is part of public API - // mContactMetaData.load( mItem ); - editor->loadContact( contact, mContactMetaData ); - } - } -} - -void ContactEditorView::Private::saveFinished() -{ - kDebug(); - q->deleteLater(); -} - -void ContactEditorView::Private::saveFailed( IncidenceEditorNG::EditorItemManager::SaveAction, const QString &errorMessage ) -{ - kError() << errorMessage; -} - -void ContactEditorView::Private::load( const Item &item ) -{ - Q_ASSERT( item.hasPayload() ); - - mItem = item; - mCollection = item.parentCollection(); - - const KABC::Addressee contact = mItem.payload(); - // tokoe: enable when ContactMetaData is part of public API - // mContactMetaData.load( mItem ); - - if ( mEditorGeneral != 0 ) { - mEditorGeneral->setDefaultCollection( mCollection ); - mEditorGeneral->loadContact( contact, mContactMetaData ); - } - - Q_FOREACH( EditorBase *editor, mDetailEditors ) { - editor->loadContact( contact, mContactMetaData ); - } -} - -Item ContactEditorView::Private::save( const Item &item ) -{ - Item result = item; - - result.setMimeType( KABC::Addressee::mimeType() ); - - KABC::Addressee contact; - if ( mEditorGeneral != 0 ) { - mEditorGeneral->saveContact( contact, mContactMetaData ); - } - - Q_FOREACH( EditorBase *editor, mDetailEditors ) { - editor->saveContact( contact, mContactMetaData ); - } - - result.setPayload( contact ); - // tokoe: enable when ContactMetaData is part of public API - // mContactMetaData.store( result ); - - return result; -} - -void ContactEditorView::Private::collectionChanged( const Akonadi::Collection &collection ) -{ - mCollection = collection; -} - -Collection ContactEditorView::Private::selectedCollection() const -{ - return ( !mCollection.isValid() && mEditorGeneral != 0 ? mEditorGeneral->selectedCollection() : mCollection ); -} - -void ContactEditorView::Private::reject( RejectReason reason, const QString &errorMessage ) -{ - switch ( reason ) { - case ItemFetchFailed: - kWarning() << "Item Fetch Failed:" << errorMessage; - break; - - case ItemHasInvalidPayload: - kWarning() << "Item has Invalid Payload:" << errorMessage; - break; - } - - q->deleteLater(); -} - -ContactEditorView::ContactEditorView( QWidget *parent ) - : KDeclarativeFullScreenView( QLatin1String( "contact-editor" ), parent ), - d( new Private( this ) ) -{ - setAttribute(Qt::WA_DeleteOnClose); - setWindowTitle( i18n( "Kontact Touch Contacts" ) ); -} - -void ContactEditorView::doDelayedInit() -{ - qmlRegisterType( "org.kde.contacteditors", 4, 5, "ContactEditorGeneral" ); - qmlRegisterType( "org.kde.contacteditors", 4, 5, "ContactEditorBusiness" ); - qmlRegisterType( "org.kde.contacteditors", 4, 5, "ContactEditorLocation" ); - qmlRegisterType( "org.kde.contacteditors", 4, 5, "ContactEditorCrypto" ); - qmlRegisterType( "org.kde.contacteditors", 4, 5, "ContactEditorMore" ); - - connect( d->mItemManager, SIGNAL(itemSaveFinished(IncidenceEditorNG::EditorItemManager::SaveAction)), - SLOT(saveFinished()) ); - connect( d->mItemManager, SIGNAL(itemSaveFailed(IncidenceEditorNG::EditorItemManager::SaveAction,QString)), - SLOT(saveFailed(IncidenceEditorNG::EditorItemManager::SaveAction,QString)) ); -} - -ContactEditorView::~ContactEditorView() -{ - delete d; -} - -void ContactEditorView::setEditorGeneral( EditorGeneral *editor ) -{ - d->mEditorGeneral = editor; - - if ( d->mEditorGeneral != 0 ) { - if ( d->mDefaultCollection.isValid() ) { - d->mEditorGeneral->setDefaultCollection( d->mDefaultCollection ); - } - if ( d->mCollection.isValid() ) { - d->mEditorGeneral->setDefaultCollection( d->mCollection ); - } - connect( d->mEditorGeneral, SIGNAL(saveClicked()), SLOT(save()) ); - connect( d->mEditorGeneral, SIGNAL(cancelClicked()), SLOT(cancel()) ); - connect( d->mEditorGeneral, SIGNAL(collectionChanged(Akonadi::Collection)), - SLOT(collectionChanged(Akonadi::Collection)) ); - connect( d->mEditorGeneral, SIGNAL(requestLaunchAccountWizard()), - this, SIGNAL(requestLaunchAccountWizard()) ); - } -} - -void ContactEditorView::setEditorBusiness( EditorBusiness *editor ) -{ - d->addDetailEditor( editor ); - d->mEditorBusiness = editor; -} - -void ContactEditorView::setEditorLocation( EditorLocation *editor ) -{ - d->addDetailEditor( editor ); -} - -void ContactEditorView::setEditorCrypto( EditorCrypto *editor ) -{ - d->addDetailEditor( editor ); -} - -void ContactEditorView::setEditorMore( EditorMore *editor ) -{ - d->addDetailEditor( editor ); - d->mEditorMore = editor; - - if ( d->mEditorBusiness ) { - connect( d->mEditorBusiness, SIGNAL(organizationChanged(QString)), - d->mEditorMore, SLOT(updateOrganization(QString)) ); - } else { - qWarning( "No business editor set!" ); - } - - connect( d->mEditorGeneral, SIGNAL(nameChanged(KABC::Addressee)), - d->mEditorMore, SLOT(updateName(KABC::Addressee)) ); - connect( d->mEditorMore, SIGNAL(nameChanged(KABC::Addressee)), - d->mEditorGeneral, SLOT(updateName(KABC::Addressee)) ); -} - -void ContactEditorView::setDefaultCollection( const Akonadi::Collection &collection ) -{ - d->mDefaultCollection = collection; -} - -void ContactEditorView::loadContact( const Item &item ) -{ - if ( !d->mEditorGeneral ) { - // the editor is not fully loaded yet, so try later again - QMetaObject::invokeMethod( this, "loadContact", Qt::QueuedConnection, Q_ARG( Akonadi::Item, item ) ); - } else { - d->mItemManager->load( item ); - } -} - -void ContactEditorView::save() -{ - d->mItemManager->save(); -} - -void ContactEditorView::cancel() -{ - deleteLater(); -} - -void ContactEditorView::closeEvent( QCloseEvent *event ) -{ - Q_UNUSED( event ); - cancel(); -} - -#include "moc_contacteditorview.cpp" diff --git a/kdepim/mobile/contacts/contacteditorview.h b/kdepim/mobile/contacts/contacteditorview.h deleted file mode 100644 index abf8b183..00000000 --- a/kdepim/mobile/contacts/contacteditorview.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CONTACTEDITORVIEW_H -#define CONTACTEDITORVIEW_H - -#include "kdeclarativefullscreenview.h" - -namespace Akonadi { - class Collection; - class Item; -} - -class EditorBusiness; -class EditorCrypto; -class EditorGeneral; -class EditorLocation; -class EditorMore; - -class ContactEditorView : public KDeclarativeFullScreenView -{ - Q_OBJECT - - public: - explicit ContactEditorView( QWidget *parent = 0 ); - - ~ContactEditorView(); - - void setEditorGeneral( EditorGeneral *editor ); - - void setEditorBusiness( EditorBusiness *editor ); - - void setEditorLocation( EditorLocation *editor ); - - void setEditorCrypto( EditorCrypto *editor ); - - void setEditorMore( EditorMore *editor ); - - void setDefaultCollection( const Akonadi::Collection &collection ); - - public Q_SLOTS: - void loadContact( const Akonadi::Item &item ); - - void save(); - void cancel(); - - Q_SIGNALS: - void requestLaunchAccountWizard(); - - protected: - void closeEvent( QCloseEvent *event ); - virtual void doDelayedInit(); - - private: - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void saveFinished() ) - Q_PRIVATE_SLOT( d, void saveFailed( IncidenceEditorNG::EditorItemManager::SaveAction, - const QString & ) ) - Q_PRIVATE_SLOT( d, void collectionChanged( const Akonadi::Collection & ) ) -}; - -#endif diff --git a/kdepim/mobile/contacts/contactgroup-editor.qml b/kdepim/mobile/contacts/contactgroup-editor.qml deleted file mode 100644 index c0e1c17f..00000000 --- a/kdepim/mobile/contacts/contactgroup-editor.qml +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.contacteditors 4.5 as ContactEditors -import org.kde.plasma.extras 0.1 as PlasmaExtras - -KPIM.MainView { - PlasmaExtras.ScrollArea { - anchors.fill: parent - - anchors.topMargin: 40 - anchors.leftMargin: 40; - anchors.rightMargin: 4; - - flickableItem: Flickable { - contentHeight: editor.height; - - ContactEditors.ContactGroupEditor { - id: editor; - width: parent.width; - } - } - } -} diff --git a/kdepim/mobile/contacts/contactgroupeditorview.cpp b/kdepim/mobile/contacts/contactgroupeditorview.cpp deleted file mode 100644 index 9030cd96..00000000 --- a/kdepim/mobile/contacts/contactgroupeditorview.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactgroupeditorview.h" - -#include "editorcontactgroup.h" -#include "declarativewidgetbase.h" - -#include - -#include -#include - -#include -#include - -#include - -using namespace Akonadi; - -typedef DeclarativeWidgetBase DeclarativeEditorContactGroup; - -class ContactGroupEditorView::Private : public IncidenceEditorNG::ItemEditorUi -{ - ContactGroupEditorView *const q; - - public: - explicit Private( ContactGroupEditorView *parent ) - : q( parent ), mItemManager( new IncidenceEditorNG::EditorItemManager( this ) ), mEditor( 0 ) - { - } - - ~Private() - { - delete mItemManager; - } - - public: // slots - void saveFinished(); - void saveFailed( IncidenceEditorNG::EditorItemManager::SaveAction, const QString &errorMessage ); - void collectionChanged( const Akonadi::Collection &collection ); - - public: // ItemEditorUi interface - bool containsPayloadIdentifiers( const QSet &partIdentifiers ) const - { - return partIdentifiers.contains( Item::FullPayload ); - } - - bool hasSupportedPayload( const Item &item ) const - { - return item.hasPayload(); - } - - bool isDirty() const - { - return true; - } - - bool isValid() const - { - return true; - } - - void load( const Item &item ); - Item save( const Item &item ); - Collection selectedCollection() const; - void reject( RejectReason reason, const QString &errorMessage = QString() ); - - public: - Item mItem; - Collection mCollection; - Collection mDefaultCollection; - - IncidenceEditorNG::EditorItemManager *mItemManager; - - EditorContactGroup *mEditor; -}; - -void ContactGroupEditorView::Private::saveFinished() -{ - kDebug(); - q->deleteLater(); -} - -void ContactGroupEditorView::Private::saveFailed( IncidenceEditorNG::EditorItemManager::SaveAction, const QString &errorMessage ) -{ - kError() << errorMessage; -} - -void ContactGroupEditorView::Private::load( const Item &item ) -{ - Q_ASSERT( item.hasPayload() ); - - mItem = item; - mCollection = item.parentCollection(); - - const KABC::ContactGroup contactGroup = mItem.payload(); - - if ( mEditor != 0 ) { - mEditor->setDefaultCollection( mCollection ); - mEditor->loadContactGroup( contactGroup ); - } -} - -Item ContactGroupEditorView::Private::save( const Item &item ) -{ - Item result = item; - - result.setMimeType( KABC::ContactGroup::mimeType() ); - - KABC::ContactGroup contactGroup; - if ( mEditor != 0 ) { - mEditor->saveContactGroup( contactGroup ); - } - - result.setPayload( contactGroup ); - - return result; -} - -void ContactGroupEditorView::Private::collectionChanged( const Akonadi::Collection &collection ) -{ - mCollection = collection; -} - -Collection ContactGroupEditorView::Private::selectedCollection() const -{ - return ( !mCollection.isValid() && mEditor != 0 ? mEditor->selectedCollection() : mCollection ); -} - -void ContactGroupEditorView::Private::reject( RejectReason reason, const QString &errorMessage ) -{ - switch ( reason ) { - case ItemFetchFailed: - kWarning() << "Item Fetch Failed:" << errorMessage; - break; - - case ItemHasInvalidPayload: - kWarning() << "Item has Invalid Payload:" << errorMessage; - break; - } - - q->deleteLater(); -} - -ContactGroupEditorView::ContactGroupEditorView( QWidget *parent ) - : KDeclarativeFullScreenView( QLatin1String( "contactgroup-editor" ), parent ), - d( new Private( this ) ) -{ - setAttribute(Qt::WA_DeleteOnClose); - setWindowTitle( i18n( "Kontact Touch Contacts" ) ); -} - -void ContactGroupEditorView::doDelayedInit() -{ - qmlRegisterType( "org.kde.contacteditors", 4, 5, "ContactGroupEditor" ); - - connect( d->mItemManager, SIGNAL(itemSaveFinished(IncidenceEditorNG::EditorItemManager::SaveAction)), - SLOT(saveFinished()) ); - connect( d->mItemManager, SIGNAL(itemSaveFailed(IncidenceEditorNG::EditorItemManager::SaveAction,QString)), - SLOT(saveFailed(IncidenceEditorNG::EditorItemManager::SaveAction,QString)) ); -} - -ContactGroupEditorView::~ContactGroupEditorView() -{ - delete d; -} - -void ContactGroupEditorView::setEditor( EditorContactGroup *editor ) -{ - d->mEditor = editor; - - if ( d->mEditor != 0 ) { - if ( d->mDefaultCollection.isValid() ) { - d->mEditor->setDefaultCollection( d->mDefaultCollection ); - } - if ( d->mCollection.isValid() ) { - d->mEditor->setDefaultCollection( d->mCollection ); - } - connect( d->mEditor, SIGNAL(cancelClicked()) , SLOT(close()) ); - connect( d->mEditor, SIGNAL(saveClicked()), SLOT(save()) ); - connect( d->mEditor, SIGNAL(collectionChanged(Akonadi::Collection)), - SLOT(collectionChanged(Akonadi::Collection)) ); - connect( d->mEditor, SIGNAL(requestLaunchAccountWizard()), - this, SIGNAL(requestLaunchAccountWizard()) ); - } -} - -void ContactGroupEditorView::setDefaultCollection( const Collection &collection ) -{ - d->mDefaultCollection = collection; -} - -void ContactGroupEditorView::loadContactGroup( const Item &item ) -{ - if ( !d->mEditor ) { - // the editor is not fully loaded yet, so try later again - QMetaObject::invokeMethod( this, "loadContactGroup", Qt::QueuedConnection, Q_ARG( Akonadi::Item, item ) ); - } else { - d->mItemManager->load( item ); - } -} - -void ContactGroupEditorView::save() -{ - d->mItemManager->save(); -} - -void ContactGroupEditorView::cancel() -{ - deleteLater(); -} - -void ContactGroupEditorView::closeEvent( QCloseEvent *event ) -{ - Q_UNUSED( event ); - cancel(); -} - -#include "moc_contactgroupeditorview.cpp" diff --git a/kdepim/mobile/contacts/contactgroupeditorview.h b/kdepim/mobile/contacts/contactgroupeditorview.h deleted file mode 100644 index b8a82772..00000000 --- a/kdepim/mobile/contacts/contactgroupeditorview.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CONTACTGROUPEDITORVIEW_H -#define CONTACTGROUPEDITORVIEW_H - -#include "kdeclarativefullscreenview.h" - -namespace Akonadi { - class Collection; - class Item; -} - -class EditorContactGroup; - -class ContactGroupEditorView : public KDeclarativeFullScreenView -{ - Q_OBJECT - - public: - explicit ContactGroupEditorView( QWidget *parent = 0 ); - - ~ContactGroupEditorView(); - - void setEditor( EditorContactGroup *editor ); - - void setDefaultCollection( const Akonadi::Collection &collection ); - - public Q_SLOTS: - void loadContactGroup( const Akonadi::Item &item ); - - void save(); - void cancel(); - - Q_SIGNALS: - void requestLaunchAccountWizard(); - - protected: - void closeEvent( QCloseEvent *event ); - virtual void doDelayedInit(); - - private: - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void saveFinished() ) - Q_PRIVATE_SLOT( d, void saveFailed( IncidenceEditorNG::EditorItemManager::SaveAction, - const QString & ) ) - Q_PRIVATE_SLOT( d, void collectionChanged( const Akonadi::Collection & ) ) -}; - -#endif diff --git a/kdepim/mobile/contacts/contactgroupviewitem.cpp b/kdepim/mobile/contacts/contactgroupviewitem.cpp deleted file mode 100644 index 81c60cb7..00000000 --- a/kdepim/mobile/contacts/contactgroupviewitem.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactgroupviewitem.h" - -#include - -using namespace Akonadi; -using namespace Akonadi::Contact; - -ExtendedContactGroupViewer::ExtendedContactGroupViewer( QWidget *parent ) - : ContactGroupViewer( parent ) -{ -} - -void ExtendedContactGroupViewer::itemRemoved() -{ - emit contactGroupRemoved(); -} - - -ContactGroupViewItem::ContactGroupViewItem(QDeclarativeItem* parent) - : DeclarativeAkonadiItem( parent ) -{ - m_viewer = new ExtendedContactGroupViewer( 0 ); - connect( m_viewer, SIGNAL(contactGroupRemoved()), SIGNAL(contactGroupRemoved()) ); - - setWidget( m_viewer ); -} - -ContactGroupViewItem::~ContactGroupViewItem() -{ - delete m_viewer; -} - -qint64 ContactGroupViewItem::itemId() const -{ - return m_viewer->contactGroup().id(); -} - -void ContactGroupViewItem::setItemId(qint64 id) -{ - if ( itemId() != id ) - m_viewer->setContactGroup( Akonadi::Item( id ) ); -} - diff --git a/kdepim/mobile/contacts/contactgroupviewitem.h b/kdepim/mobile/contacts/contactgroupviewitem.h deleted file mode 100644 index c65fa680..00000000 --- a/kdepim/mobile/contacts/contactgroupviewitem.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_CONTACT_CONTACTGROUPVIEWITEM_H -#define AKONADI_CONTACT_CONTACTGROUPVIEWITEM_H - -#include "declarativeakonadiitem.h" - -#include - -namespace Akonadi { - -namespace Contact { - -/** - * @short A wrapper class to make the 'removed' signal available. - */ -class ExtendedContactGroupViewer : public ContactGroupViewer -{ - Q_OBJECT - - public: - explicit ExtendedContactGroupViewer( QWidget *parent = 0 ); - - Q_SIGNALS: - void contactGroupRemoved(); - - private: - virtual void itemRemoved(); -}; - -class ContactGroupViewItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - - public: - explicit ContactGroupViewItem( QDeclarativeItem *parent = 0 ); - ~ContactGroupViewItem(); - - qint64 itemId() const; - void setItemId( qint64 id ); - - Q_SIGNALS: - void contactGroupRemoved(); - - private: - ExtendedContactGroupViewer *m_viewer; -}; - -} -} - -#endif diff --git a/kdepim/mobile/contacts/contactlistproxy.cpp b/kdepim/mobile/contacts/contactlistproxy.cpp deleted file mode 100644 index 6373653b..00000000 --- a/kdepim/mobile/contacts/contactlistproxy.cpp +++ /dev/null @@ -1,152 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactlistproxy.h" - -#include -#include -#include -#include -#include -#include - -ContactImageProvider::ContactImageProvider() - : QDeclarativeImageProvider( QDeclarativeImageProvider::Pixmap ), mModel( 0 ) -{ -} - -QPixmap ContactImageProvider::requestPixmap( const QString &id, QSize *size, const QSize &requestedSize ) -{ - int width = 50; - int height = 50; - if ( requestedSize.isValid() ) { - width = requestedSize.width(); - height = requestedSize.height(); - } - - if ( size ) - *size = QSize( width, height ); - - const Akonadi::Item item( id.toLongLong() ); - const QModelIndexList indexes = Akonadi::EntityTreeModel::modelIndexesForItem( mModel, item ); - if ( indexes.isEmpty() || !indexes.first().isValid() ) - return QPixmap(); - - const QModelIndex index = indexes.first(); - - const Akonadi::Item contactItem = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( !contactItem.isValid() ) - return QPixmap(); - - if ( contactItem.hasPayload() ) { - const KABC::Addressee addressee = contactItem.payload(); - if ( addressee.photo().isEmpty() ) { - const QIcon icon = KIconLoader::global()->loadIcon( QLatin1String("user-identity"), KIconLoader::Dialog, KIconLoader::SizeHuge ); - return icon.pixmap( width, height ); - } - - return QPixmap::fromImage( addressee.photo().data().scaled( width, height, Qt::KeepAspectRatio, Qt::SmoothTransformation ) ); - } else if ( contactItem.hasPayload() ) { - const QIcon icon = KIconLoader::global()->loadIcon( QLatin1String("x-mail-distribution-list"), KIconLoader::Dialog, KIconLoader::SizeHuge ); - return icon.pixmap( width, height ); - } - - return QPixmap(); -} - -void ContactImageProvider::setModel( QAbstractItemModel *model ) -{ - mModel = model; -} - -ContactListProxy::ContactListProxy(QObject* parent) : ListProxy( parent ) -{ - setDynamicSortFilter( true ); - sort( 0, Qt::AscendingOrder ); -} - -QVariant ContactListProxy::data(const QModelIndex& index, int role) const -{ - const Akonadi::Item item = QSortFilterProxyModel::data( index, Akonadi::EntityTreeModel::ItemRole ).value(); - if ( item.isValid() && item.hasPayload() ) { - const KABC::Addressee addressee = item.payload(); - switch ( role ) { - case NameRole: - return addressee.realName(); - case PictureRole: - return QString::fromLatin1( "image://contact_images/%1" ).arg( item.id() ); - case TypeRole: - return QLatin1String( "contact" ); - } - } else if ( item.isValid() && item.hasPayload() ) { - const KABC::ContactGroup group = item.payload(); - switch( role ) { - case NameRole: - return group.name(); - case PictureRole: - return QString::fromLatin1( "image://contact_images/%1" ).arg( item.id() ); - case TypeRole: - return QLatin1String( "group" ); - } - } else { - if ( role == TypeRole ) - return QString(); - } - - return QSortFilterProxyModel::data( index, role ); -} - -void ContactListProxy::setSourceModel(QAbstractItemModel* sourceModel) -{ - ListProxy::setSourceModel(sourceModel); - QHash names = roleNames(); - names.insert( Akonadi::EntityTreeModel::ItemIdRole, "itemId" ); - names.insert( NameRole, "name" ); - names.insert( PictureRole, "picture" ); - setRoleNames( names ); -} - -static QString nameForItem( const Akonadi::Item &item ) -{ - if ( item.hasPayload() ) - return item.payload().realName(); - - if ( item.hasPayload() ) - return item.payload().name(); - - return QString(); -} - -bool ContactListProxy::lessThan( const QModelIndex& left, const QModelIndex& right ) const -{ - const Akonadi::Item leftItem = left.data( Akonadi::EntityTreeModel::ItemRole ).value(); - const Akonadi::Item rightItem = right.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - const QString leftName = nameForItem( leftItem ); - const QString rightName = nameForItem( rightItem ); - - return (QString::localeAwareCompare( leftName, rightName ) < 0); -} - -QString ContactListProxy::typeForIndex(int row) const -{ - return index( row, 0 ).data( TypeRole ).toString(); -} - diff --git a/kdepim/mobile/contacts/contactlistproxy.h b/kdepim/mobile/contacts/contactlistproxy.h deleted file mode 100644 index 353e2a6f..00000000 --- a/kdepim/mobile/contacts/contactlistproxy.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CONTACTLISTPROXY_H -#define CONTACTLISTPROXY_H - -#include "listproxy.h" - -#include -#include - -class ContactImageProvider : public QDeclarativeImageProvider -{ - public: - ContactImageProvider(); - - QPixmap requestPixmap( const QString &id, QSize *size, const QSize &requestedSize ); - - void setModel( QAbstractItemModel *model ); - - private: - QAbstractItemModel *mModel; -}; - -/** Adaptor proxy for contact access from QML. */ -class ContactListProxy : public ListProxy -{ - Q_OBJECT - public: - enum Role { - NameRole = Akonadi::EntityTreeModel::UserRole + 1, - PictureRole, - TypeRole - }; - - explicit ContactListProxy( QObject* parent = 0 ); - - QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; - void setSourceModel(QAbstractItemModel* sourceModel); - bool lessThan(const QModelIndex& left, const QModelIndex& right) const; - - public slots: - QString typeForIndex( int row ) const; -}; - -#endif /* CONTACTLISTPROXY_H */ diff --git a/kdepim/mobile/contacts/contactmetadata_p.h b/kdepim/mobile/contacts/contactmetadata_p.h deleted file mode 100644 index 311fd39d..00000000 --- a/kdepim/mobile/contacts/contactmetadata_p.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2009 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_CONTACTMETADATA_P_H -#define AKONADI_CONTACTMETADATA_P_H - -#include -#include - -namespace Akonadi -{ - -class Item; - -/** - * @short A dummy class until we can access the ContactMetaData class from kdepimlibs - */ -class ContactMetaData -{ - public: - /** - * Creates a contact meta data object. - */ -#ifdef KDEPIM_STATIC_LIBS - ContactMetaData(); -#else - ContactMetaData() {} -#endif - - /** - * Destroys the contact meta data object. - */ -#ifdef KDEPIM_STATIC_LIBS - ~ContactMetaData(); -#else - ~ContactMetaData() {} -#endif - - /** - * Loads the meta data for the given @p contact. - */ -#ifdef KDEPIM_STATIC_LIBS - void load( const Akonadi::Item &contact ); -#else - void load( const Akonadi::Item &contact ) {} -#endif - - /** - * Stores the meta data to the given @p contact. - */ -#ifdef KDEPIM_STATIC_LIBS - void store( Akonadi::Item &contact ); -#else - void store( Akonadi::Item &contact ) {} -#endif - - /** - * Sets the mode that is used for the display - * name of that contact. - */ -#ifdef KDEPIM_STATIC_LIBS - void setDisplayNameMode( int mode ); -#else - void setDisplayNameMode( int mode ) {} -#endif - - /** - * Returns the mode that is used for the display - * name of that contact. - */ -#ifdef KDEPIM_STATIC_LIBS - int displayNameMode() const; -#else - int displayNameMode() const { return 0; } -#endif - - /** - * Sets the @p descriptions of the custom fields of that contact. - * - * The description list contains a QVariantMap for each custom field - * with the following keys: - * - key (string) The identifier of the field - * - title (string) The i18n'ed title of the field - * - type (string) The type description of the field - * Possible values for type description are - * - text - * - numeric - * - boolean - * - date - * - time - * - datetime - */ -#ifdef KDEPIM_STATIC_LIBS - void setCustomFieldDescriptions( const QVariantList &descriptions ); -#else - void setCustomFieldDescriptions( const QVariantList &descriptions ) {} -#endif - - /** - * Returns the descriptions of the custom fields of the contact. - */ -#ifdef KDEPIM_STATIC_LIBS - QVariantList customFieldDescriptions() const; -#else - QVariantList customFieldDescriptions() const { return QVariantList(); } -#endif -}; - -} - -#endif diff --git a/kdepim/mobile/contacts/contactsexporthandler.cpp b/kdepim/mobile/contacts/contactsexporthandler.cpp deleted file mode 100644 index e56fb064..00000000 --- a/kdepim/mobile/contacts/contactsexporthandler.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactsexporthandler.h" - -#include -#include -#include -#include -#include - -#include - -static QString contactFileName( const KABC::Addressee &contact ) -{ - if ( !contact.givenName().isEmpty() && !contact.familyName().isEmpty() ) - return QString::fromLatin1( "%1_%2" ).arg( contact.givenName() ).arg( contact.familyName() ); - - if ( !contact.familyName().isEmpty() ) - return contact.familyName(); - - if ( !contact.givenName().isEmpty() ) - return contact.givenName(); - - if ( !contact.organization().isEmpty() ) - return contact.organization(); - - return contact.uid(); -} - -static bool exportVCard( const QString &fileName, const QByteArray &data ) -{ - KUrl url( fileName ); - if ( url.isLocalFile() && QFileInfo( url.toLocalFile() ).exists() ) { - if ( KMessageBox::questionYesNo( 0, i18n( "Do you want to overwrite file \"%1\"?", url.toLocalFile() ) ) == KMessageBox::No ) - return false; - } - - QFile file( fileName ); - if ( !file.open( QIODevice::WriteOnly ) ) - return false; - - file.write( data ); - file.close(); - - return true; -} - -QString ContactsExportHandler::dialogText() const -{ - return i18n( "Which contacts shall be exported?" ); -} - -QString ContactsExportHandler::dialogAllText() const -{ - return i18n( "All Contacts" ); -} - -QString ContactsExportHandler::dialogLocalOnlyText() const -{ - return i18n( "Contacts in current folder" ); -} - -QStringList ContactsExportHandler::mimeTypes() const -{ - return QStringList( KABC::Addressee::mimeType() ); -} - -bool ContactsExportHandler::exportItems( const Akonadi::Item::List &items ) -{ - KABC::Addressee::List contacts; - - foreach ( const Akonadi::Item &item, items ) { - if ( item.hasPayload() ) - contacts << item.payload(); - } - - KABC::VCardConverter converter; - QString fileName; - - bool ok = true; - if ( contacts.count() == 1 ) { - fileName = KFileDialog::getSaveFileName( QString(contactFileName( contacts.first() ) + QLatin1String( ".vcf" )), QLatin1String( "*.vcf" ) ); - if ( fileName.isEmpty() ) // user canceled export - return true; - - ok = exportVCard( fileName, converter.createVCards( contacts, KABC::VCardConverter::v3_0 ) ); - } else { - const QString msg = i18n( "You have selected a list of contacts, shall they be " - "exported to several files?" ); - - switch ( KMessageBox::questionYesNo( 0, msg, QString(), KGuiItem(i18n( "Export to Several Files" ) ), - KGuiItem( i18n( "Export to One File" ) ) ) ) { - case KMessageBox::Yes: - { - const QString path = KFileDialog::getExistingDirectory(); - if ( path.isEmpty() ) - return true; // user canceled export - - foreach ( const KABC::Addressee &contact, contacts ) { - fileName = path + QDir::separator() + contactFileName( contact ) + QLatin1String( ".vcf" ); - - const bool tmpOk = exportVCard( fileName, converter.createVCard( contact, KABC::VCardConverter::v3_0 ) ); - - ok = ok && tmpOk; - } - } - break; - case KMessageBox::No: // fall through - default: - { - fileName = KFileDialog::getSaveFileName( KUrl( "addressbook.vcf" ), QLatin1String( "*.vcf" ) ); - if ( fileName.isEmpty() ) - return true; // user canceled export - - ok = exportVCard( fileName, converter.createVCards( contacts, KABC::VCardConverter::v3_0 ) ); - } - } - } - - return ok; -} diff --git a/kdepim/mobile/contacts/contactsexporthandler.h b/kdepim/mobile/contacts/contactsexporthandler.h deleted file mode 100644 index 9af3440c..00000000 --- a/kdepim/mobile/contacts/contactsexporthandler.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CONTACTSEXPORTHANDLER_H -#define CONTACTSEXPORTHANDLER_H - -#include "../lib/exporthandlerbase.h" - -class ContactsExportHandler : public ExportHandlerBase -{ - protected: - virtual QString dialogText() const; - virtual QString dialogAllText() const; - virtual QString dialogLocalOnlyText() const; - - virtual QStringList mimeTypes() const; - virtual bool exportItems( const Akonadi::Item::List &items ); -}; - -#endif diff --git a/kdepim/mobile/contacts/contactsguistatemanager.cpp b/kdepim/mobile/contacts/contactsguistatemanager.cpp deleted file mode 100644 index cd5d2762..00000000 --- a/kdepim/mobile/contacts/contactsguistatemanager.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactsguistatemanager.h" - -bool ContactsGuiStateManager::inViewContactState() const -{ - return (currentState() == ViewContactState); -} - -bool ContactsGuiStateManager::inViewContactGroupState() const -{ - return (currentState() == ViewContactGroupState); -} - -void ContactsGuiStateManager::emitChangedSignal() -{ - GuiStateManager::emitChangedSignal(); - - emit guiStateChanged(); -} - diff --git a/kdepim/mobile/contacts/contactsguistatemanager.h b/kdepim/mobile/contacts/contactsguistatemanager.h deleted file mode 100644 index 377a506e..00000000 --- a/kdepim/mobile/contacts/contactsguistatemanager.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CONTACTSGUISTATEMANAGER_H -#define CONTACTSGUISTATEMANAGER_H - -#include "../lib/guistatemanager.h" - -class ContactsGuiStateManager : public GuiStateManager -{ - Q_OBJECT - - Q_PROPERTY( bool inViewContactState READ inViewContactState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inViewContactGroupState READ inViewContactGroupState NOTIFY guiStateChanged ) - - Q_ENUMS( GuiState ) - - public: - enum GuiState { - ViewContactState = GuiStateManager::UserState, - ViewContactGroupState - }; - - /** - * Returns whether the current state is the view contact state. - */ - bool inViewContactState() const; - - /** - * Returns whether the current state is the view contact group state. - */ - bool inViewContactGroupState() const; - - Q_SIGNALS: - void guiStateChanged(); - - protected: - virtual void emitChangedSignal(); -}; - -#endif diff --git a/kdepim/mobile/contacts/contactsimporthandler.cpp b/kdepim/mobile/contacts/contactsimporthandler.cpp deleted file mode 100644 index 9217d73e..00000000 --- a/kdepim/mobile/contacts/contactsimporthandler.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactsimporthandler.h" - -#include -#include -#include -#include - -#include - -QString ContactsImportHandler::fileDialogNameFilter() const -{ - return QLatin1String( "*.vcf|vCards" ); -} - -QString ContactsImportHandler::fileDialogTitle() const -{ - return i18n( "Select vCard to Import" ); -} - -QString ContactsImportHandler::collectionDialogText() const -{ - return i18n( "Select the address book the imported contact(s) shall be saved in:" ); -} - -QString ContactsImportHandler::collectionDialogTitle() const -{ - return i18n( "Select Address Book" ); -} - -QString ContactsImportHandler::importDialogText( int count, const QString &collectionName ) const -{ - return i18np( "Importing one contact to %2", "Importing %1 contacts to %2", count, collectionName ); -} - -QString ContactsImportHandler::importDialogTitle() const -{ - return i18n( "Import Contacts" ); -} - -QStringList ContactsImportHandler::mimeTypes() const -{ - return QStringList( KABC::Addressee::mimeType() ); -} - -Akonadi::Item::List ContactsImportHandler::createItems( const QStringList &fileNames, bool *ok ) -{ - *ok = true; - - Akonadi::Item::List items; - - KABC::VCardConverter converter; - KABC::Addressee::List contacts; - - foreach ( const QString &fileName, fileNames ) { - QFile file( fileName ); - - if ( file.open( QIODevice::ReadOnly ) ) { - const QByteArray data = file.readAll(); - file.close(); - if ( data.size() > 0 ) { - contacts += converter.parseVCards( data ); - } - } else { - const QString caption( i18n( "vCard Import Failed" ) ); - const QString msg = i18nc( "@info", - "When trying to read the vCard, there was an error opening the file %1:" - "%2", - fileName, - i18nc( "QFile", file.errorString().toLatin1() ) ); - KMessageBox::error( 0, msg, caption ); - *ok = false; - } - } - - if ( contacts.isEmpty() ) { - if ( !(*ok) && fileNames.count() > 1 ) - KMessageBox::information( 0, i18n( "No contacts were imported, due to errors with the vCards." ) ); - else if ( *ok ) - KMessageBox::information( 0, i18n( "The vCard does not contain any contacts." ) ); - - return items; // nothing to import - } - - foreach ( const KABC::Addressee &contact, contacts ) { - Akonadi::Item item; - item.setPayload( contact ); - item.setMimeType( KABC::Addressee::mimeType() ); - - items << item; - } - - return items; -} diff --git a/kdepim/mobile/contacts/contactsimporthandler.h b/kdepim/mobile/contacts/contactsimporthandler.h deleted file mode 100644 index 87e21920..00000000 --- a/kdepim/mobile/contacts/contactsimporthandler.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CONTACTSIMPORTHANDLER_H -#define CONTACTSIMPORTHANDLER_H - -#include "../lib/importhandlerbase.h" - -class ContactsImportHandler : public ImportHandlerBase -{ - protected: - virtual QString fileDialogNameFilter() const; - virtual QString fileDialogTitle() const; - virtual QString collectionDialogText() const; - virtual QString collectionDialogTitle() const; - virtual QString importDialogText( int count, const QString &collectionName ) const; - virtual QString importDialogTitle() const; - - virtual QStringList mimeTypes() const; - virtual Akonadi::Item::List createItems( const QStringList &fileNames, bool *ok ); -}; - -#endif diff --git a/kdepim/mobile/contacts/contactviewitem.cpp b/kdepim/mobile/contacts/contactviewitem.cpp deleted file mode 100644 index f9bc623a..00000000 --- a/kdepim/mobile/contacts/contactviewitem.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "contactviewitem.h" - -#include -#include - -using namespace Akonadi; -using namespace Akonadi::Contact; - -ExtendedContactViewer::ExtendedContactViewer( QWidget *parent ) - : ContactViewer( parent ) -{ -} - -void ExtendedContactViewer::itemRemoved() -{ - emit contactRemoved(); -} - - -ContactViewItem::ContactViewItem(QDeclarativeItem* parent) - : DeclarativeAkonadiItem( parent ) -{ - m_viewer = new ExtendedContactViewer( 0 ); - connect( m_viewer, SIGNAL(contactRemoved()), SIGNAL(contactRemoved()) ); - - ContactDefaultActions *actions = new ContactDefaultActions( this ); - actions->connectToView( m_viewer ); - setWidget( m_viewer ); -} - -ContactViewItem::~ContactViewItem() -{ - delete m_viewer; -} - -qint64 ContactViewItem::itemId() const -{ - return m_viewer->contact().id(); -} - -void ContactViewItem::setItemId(qint64 id) -{ - if ( itemId() != id ) - m_viewer->setContact( Akonadi::Item( id ) ); -} - diff --git a/kdepim/mobile/contacts/contactviewitem.h b/kdepim/mobile/contacts/contactviewitem.h deleted file mode 100644 index 93ca038f..00000000 --- a/kdepim/mobile/contacts/contactviewitem.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_CONTACT_CONTACTVIEWITEM_H -#define AKONADI_CONTACT_CONTACTVIEWITEM_H - -#include "declarativeakonadiitem.h" - -#include - -namespace Akonadi { - -namespace Contact { - -/** - * @short A wrapper class to make the 'removed' signal available. - */ -class ExtendedContactViewer : public ContactViewer -{ - Q_OBJECT - - public: - explicit ExtendedContactViewer( QWidget *parent = 0 ); - - Q_SIGNALS: - void contactRemoved(); - - private: - virtual void itemRemoved(); -}; - -class ContactViewItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - - public: - explicit ContactViewItem( QDeclarativeItem *parent = 0 ); - ~ContactViewItem(); - - qint64 itemId() const; - void setItemId( qint64 id ); - - Q_SIGNALS: - void contactRemoved(); - - private: - ExtendedContactViewer *m_viewer; -}; - -} -} - -#endif diff --git a/kdepim/mobile/contacts/customfieldeditordialog.cpp b/kdepim/mobile/contacts/customfieldeditordialog.cpp deleted file mode 100644 index 9ccadff3..00000000 --- a/kdepim/mobile/contacts/customfieldeditordialog.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "customfieldeditordialog.h" - -#include -#include -#include - -#include -#include -#include - -CustomFieldEditorDialog::CustomFieldEditorDialog( QWidget *parent ) - : KDialog( parent ) -{ - setCaption( i18n( "Edit Custom Field" ) ); - setButtons( Ok | Cancel | Details ); - - QWidget *widget = new QWidget( this ); - setMainWidget( widget ); - - QFormLayout *layout = new QFormLayout( widget ); - - mKey = new KLineEdit; - mTitle = new KLineEdit; - mType = new KComboBox; - mScope = new QCheckBox( i18n( "Use field for all contacts" ) ); - - layout->addRow( i18nc( "The title of a custom field", "Title" ), mTitle ); - layout->addRow( i18nc( "The type of a custom field", "Type" ), mType ); - layout->addRow( QString(), mScope ); - - QWidget *detailsWidget = new QWidget; - QFormLayout *detailsLayout = new QFormLayout( detailsWidget ); - detailsLayout->addRow( i18n( "Key" ), mKey ); - - setDetailsWidget( detailsWidget ); - setButtonText( Details, i18nc( "@label Opens the advanced dialog", "Advanced" ) ); - - mType->addItem( i18n( "Text" ), CustomField::TextType ); - mType->addItem( i18n( "Numeric" ), CustomField::NumericType ); - mType->addItem( i18n( "Boolean" ), CustomField::BooleanType ); - mType->addItem( i18n( "Date" ), CustomField::DateType ); - mType->addItem( i18n( "Time" ), CustomField::TimeType ); - mType->addItem( i18n( "DateTime" ), CustomField::DateTimeType ); - - mKey->setValidator( new QRegExpValidator( QRegExp( QLatin1String( "[a-zA-Z0-9\\-]+" ) ), this ) ); -} - -void CustomFieldEditorDialog::setCustomField( const CustomField &field ) -{ - mCustomField = field; - - mKey->setText( mCustomField.key() ); - mTitle->setText( mCustomField.title() ); - mType->setCurrentIndex( mType->findData( mCustomField.type() ) ); - mScope->setChecked( (mCustomField.scope() == CustomField::GlobalScope) ); -} - -CustomField CustomFieldEditorDialog::customField() const -{ - CustomField customField( mCustomField ); - - customField.setKey( mKey->text() ); - customField.setTitle( mTitle->text() ); - customField.setType( static_cast( mType->itemData( mType->currentIndex() ).toInt() ) ); - - if ( customField.scope() != CustomField::ExternalScope ) { - // do not change the scope for externally defined custom fields - customField.setScope( mScope->isChecked() ? CustomField::GlobalScope : CustomField::LocalScope ); - } - - return customField; -} diff --git a/kdepim/mobile/contacts/customfieldeditordialog.h b/kdepim/mobile/contacts/customfieldeditordialog.h deleted file mode 100644 index 55f39a0d..00000000 --- a/kdepim/mobile/contacts/customfieldeditordialog.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CUSTOMFIELDEDITORDIALOG_H -#define CUSTOMFIELDEDITORDIALOG_H - -#include - -#include "customfields_p.h" - -class KComboBox; -class KLineEdit; -class QCheckBox; - -class CustomFieldEditorDialog : public KDialog -{ - Q_OBJECT - - public: - explicit CustomFieldEditorDialog( QWidget *parent = 0 ); - - void setCustomField( const CustomField &field ); - CustomField customField() const; - - private: - KLineEdit *mTitle; - KComboBox *mType; - QCheckBox *mScope; - KLineEdit *mKey; - CustomField mCustomField; -}; - -#endif diff --git a/kdepim/mobile/contacts/customfieldeditwidget.cpp b/kdepim/mobile/contacts/customfieldeditwidget.cpp deleted file mode 100644 index d0d626ab..00000000 --- a/kdepim/mobile/contacts/customfieldeditwidget.cpp +++ /dev/null @@ -1,147 +0,0 @@ - -#include "customfieldeditwidget.h" - -#include "customfieldeditordialog.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -CustomFieldEditWidget::CustomFieldEditWidget( QWidget *parent ) - : QWidget( parent ), mEditor( 0 ) -{ - mLayout = new QGridLayout( this ); - - mName = new QLabel; - mLayout->addWidget( mName, 0, 0 ); - - QToolButton *editButton = new QToolButton; - editButton->setText( i18n( "Edit" ) ); - mLayout->addWidget( editButton, 0, 2 ); - - QToolButton *deleteButton = new QToolButton; - deleteButton->setText( i18n( "Delete" ) ); - mLayout->addWidget( deleteButton, 0, 3 ); - - connect( editButton, SIGNAL(clicked()), SLOT(edit()) ); - connect( deleteButton, SIGNAL(clicked()), SLOT(remove()) ); -} - -void CustomFieldEditWidget::setCustomField( const CustomField &field ) -{ - mCustomField = field; - - mName->setText( mCustomField.title() + QLatin1Char(':') ); - - delete mEditor; - switch ( mCustomField.type() ) { - case CustomField::TextType: - mTextEditor = new QLineEdit; - mEditor = mTextEditor; - break; - case CustomField::NumericType: - mNumericEditor = new QSpinBox; - mEditor = mNumericEditor; - break; - case CustomField::BooleanType: - mBooleanEditor = new QCheckBox; - mEditor = mBooleanEditor; - break; - case CustomField::DateType: - mDateEditor = new QDateEdit; - mEditor = mDateEditor; - break; - case CustomField::TimeType: - mTimeEditor = new QTimeEdit; - mEditor = mTimeEditor; - break; - case CustomField::DateTimeType: - mDateTimeEditor = new QDateTimeEdit; - mEditor = mDateTimeEditor; - break; - } - - mLayout->addWidget( mEditor, 1, 0, 1, 4 ); - - setValue( mCustomField.value() ); -} - -CustomField CustomFieldEditWidget::customField() const -{ - mCustomField.setValue( value() ); - - return mCustomField; -} - -void CustomFieldEditWidget::setValue( const QString &value ) -{ - switch ( mCustomField.type() ) { - case CustomField::TextType: - mTextEditor->setText( value ); - break; - case CustomField::NumericType: - mNumericEditor->setValue( value.toInt() ); - break; - case CustomField::BooleanType: - mBooleanEditor->setChecked( value == QLatin1String( "true" ) ); - break; - case CustomField::DateType: - mDateEditor->setDate( QDate::fromString( value, Qt::ISODate ) ); - break; - case CustomField::TimeType: - mTimeEditor->setTime( QTime::fromString( value, Qt::ISODate ) ); - break; - case CustomField::DateTimeType: - mDateTimeEditor->setDateTime( QDateTime::fromString( value, Qt::ISODate ) ); - break; - } -} - -QString CustomFieldEditWidget::value() const -{ - switch ( mCustomField.type() ) { - case CustomField::TextType: - return mTextEditor->text(); - break; - case CustomField::NumericType: - return QString::number( mNumericEditor->value() ); - break; - case CustomField::BooleanType: - return (mBooleanEditor->isChecked() ? QLatin1String( "true" ) : QLatin1String( "false" ) ); - break; - case CustomField::DateType: - return mDateEditor->date().toString( Qt::ISODate ); - break; - case CustomField::TimeType: - return mTimeEditor->time().toString( Qt::ISODate ); - break; - case CustomField::DateTimeType: - return mDateTimeEditor->dateTime().toString( Qt::ISODate ); - break; - default: - return QString(); - break; - } -} - -void CustomFieldEditWidget::remove() -{ - emit remove( this ); -} - -void CustomFieldEditWidget::edit() -{ - CustomFieldEditorDialog dlg; - dlg.setCustomField( mCustomField ); - if ( dlg.exec() ) - setCustomField( dlg.customField() ); -} - diff --git a/kdepim/mobile/contacts/customfieldeditwidget.h b/kdepim/mobile/contacts/customfieldeditwidget.h deleted file mode 100644 index a0f95ffa..00000000 --- a/kdepim/mobile/contacts/customfieldeditwidget.h +++ /dev/null @@ -1,52 +0,0 @@ - -#ifndef CUSTOMFIELDEDITWIDGET_H -#define CUSTOMFIELDEDITWIDGET_H - -#include - -#include "customfields_p.h" - -class QCheckBox; -class QDateEdit; -class QDateTimeEdit; -class QGridLayout; -class QLabel; -class QLineEdit; -class QSpinBox; -class QTimeEdit; - -class CustomFieldEditWidget : public QWidget -{ - Q_OBJECT - - public: - explicit CustomFieldEditWidget( QWidget *parent = 0 ); - - void setCustomField( const CustomField &field ); - CustomField customField() const; - - void setValue( const QString &value ); - QString value() const; - - Q_SIGNALS: - void remove( QWidget *widget ); - - private Q_SLOTS: - void remove(); - void edit(); - - private: - mutable CustomField mCustomField; - - QGridLayout *mLayout; - QLabel *mName; - QWidget *mEditor; - QLineEdit *mTextEditor; - QSpinBox *mNumericEditor; - QCheckBox *mBooleanEditor; - QDateEdit *mDateEditor; - QTimeEdit *mTimeEditor; - QDateTimeEdit *mDateTimeEditor; -}; - -#endif diff --git a/kdepim/mobile/contacts/customfieldmanager.cpp b/kdepim/mobile/contacts/customfieldmanager.cpp deleted file mode 100644 index 003f7735..00000000 --- a/kdepim/mobile/contacts/customfieldmanager.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "customfieldmanager_p.h" - -#include -#include - -void CustomFieldManager::setGlobalCustomFieldDescriptions( const CustomField::List &customFields ) -{ - KConfig config( QLatin1String( "akonadi_contactrc" ) ); - KConfigGroup group( &config, QLatin1String( "GlobalCustomFields" ) ); - - group.deleteGroup(); - foreach ( const CustomField &field, customFields ) { - const QString key = field.key(); - const QString value = CustomField::typeToString( field.type() ) + QLatin1Char( ':' ) + field.title(); - - group.writeEntry( key, value ); - } -} - -CustomField::List CustomFieldManager::globalCustomFieldDescriptions() -{ - KConfig config( QLatin1String( "akonadi_contactrc" ) ); - const KConfigGroup group( &config, QLatin1String( "GlobalCustomFields" ) ); - - CustomField::List customFields; - - const QStringList keys = group.keyList(); - foreach ( const QString &key, keys ) { - CustomField field; - field.setKey( key ); - field.setScope( CustomField::GlobalScope ); - - const QString value = group.readEntry( key, QString() ); - const int pos = value.indexOf( QLatin1Char( ':' ) ); - if ( pos != -1 ) { - field.setType( CustomField::stringToType( value.left( pos - 1 ) ) ); - field.setTitle( value.mid( pos + 1 ) ); - } - - customFields << field; - } - - return customFields; -} diff --git a/kdepim/mobile/contacts/customfieldmanager_p.h b/kdepim/mobile/contacts/customfieldmanager_p.h deleted file mode 100644 index 4de66a23..00000000 --- a/kdepim/mobile/contacts/customfieldmanager_p.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CUSTOMFIELDMANAGER_P_H -#define CUSTOMFIELDMANAGER_P_H - -#include "customfields_p.h" - -/** - * @short A class that manages the descriptions of all custom fields with global scope. - */ -class CustomFieldManager -{ - public: - static void setGlobalCustomFieldDescriptions( const CustomField::List &customFields ); - static CustomField::List globalCustomFieldDescriptions(); -}; - -#endif diff --git a/kdepim/mobile/contacts/customfields.cpp b/kdepim/mobile/contacts/customfields.cpp deleted file mode 100644 index 54f4c95d..00000000 --- a/kdepim/mobile/contacts/customfields.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "customfields_p.h" - -CustomField::CustomField() - : mType( TextType ), mScope( LocalScope ) -{ -} - -CustomField::CustomField( const QString &key, const QString &title, Type type, Scope scope ) - : mKey( key ), mTitle( title ), mType( type ), mScope( scope ) -{ -} - -CustomField CustomField::fromVariantMap( const QVariantMap &map, Scope scope ) -{ - return CustomField( map.value( QLatin1String( "key" ) ).toString(), - map.value( QLatin1String( "title" ) ).toString(), - stringToType( map.value( QLatin1String( "type" ) ).toString() ), - scope ); -} - -void CustomField::setKey( const QString &key ) -{ - mKey = key; -} - -QString CustomField::key() const -{ - return mKey; -} - -void CustomField::setTitle( const QString &title ) -{ - mTitle = title; -} - -QString CustomField::title() const -{ - return mTitle; -} - -void CustomField::setType( Type type ) -{ - mType = type; -} - -CustomField::Type CustomField::type() const -{ - return mType; -} - -void CustomField::setScope( Scope scope ) -{ - mScope = scope; -} - -CustomField::Scope CustomField::scope() const -{ - return mScope; -} - -void CustomField::setValue( const QString &value ) -{ - mValue = value; -} - -QString CustomField::value() const -{ - return mValue; -} - -QVariantMap CustomField::toVariantMap() const -{ - QVariantMap map; - map.insert( QLatin1String( "key" ), mKey ); - map.insert( QLatin1String( "title" ), mTitle ); - map.insert( QLatin1String( "type" ), typeToString( mType ) ); - - return map; -} - -CustomField::Type CustomField::stringToType( const QString &type ) -{ - if ( type == QLatin1String( "text" ) ) - return CustomField::TextType; - if ( type == QLatin1String( "numeric" ) ) - return CustomField::NumericType; - if ( type == QLatin1String( "boolean" ) ) - return CustomField::BooleanType; - if ( type == QLatin1String( "date" ) ) - return CustomField::DateType; - if ( type == QLatin1String( "time" ) ) - return CustomField::TimeType; - if ( type == QLatin1String( "datetime" ) ) - return CustomField::DateTimeType; - - return CustomField::TextType; -} - -QString CustomField::typeToString( CustomField::Type type ) -{ - switch ( type ) { - case CustomField::TextType: - default: - return QLatin1String( "text" ); - break; - case CustomField::NumericType: - return QLatin1String( "numeric" ); - break; - case CustomField::BooleanType: - return QLatin1String( "boolean" ); - break; - case CustomField::DateType: - return QLatin1String( "date" ); - break; - case CustomField::TimeType: - return QLatin1String( "time" ); - break; - case CustomField::DateTimeType: - return QLatin1String( "datetime" ); - break; - } -} diff --git a/kdepim/mobile/contacts/customfields_p.h b/kdepim/mobile/contacts/customfields_p.h deleted file mode 100644 index 1d6af486..00000000 --- a/kdepim/mobile/contacts/customfields_p.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CUSTOMFIELDS_P_H -#define CUSTOMFIELDS_P_H - -#include -#include -#include - -/** - * @short A class that represents non-standard contact fields. - * - * There exists three scopes of fields. To the local scope belong all - * custom fields that are defined by the user and that exists only for one - * contact. The description for these fields are stored inside ContactMetaData - * as custom attribute of the Akonadi item that represents the contact. - * To the global scope belong all custom fields that are defined by the user but - * shall be available in all contacts of the address book. Their description - * is stored by CustomFieldManager in $HOME/.kde/share/config/akonadi_contactrc. - * All other custom fields belong to the external scope, they come with import - * of contacts from other PIM applications (e.g. further X- entries in vCards). - * Their description is created on the fly when editing the custom fields. - * - * The description of a custom field covers the key, title and type. - */ -class CustomField -{ - public: - typedef QList List; - - enum Type - { - TextType, - NumericType, - BooleanType, - DateType, - TimeType, - DateTimeType - }; - - enum Scope - { - LocalScope, ///< Field has been defined by user for one contact - GlobalScope, ///< Field has been defined by user for all contacts - ExternalScope ///< Field has been defined by the external data source (e.g. vCard) - }; - - CustomField(); - CustomField( const QString &key, const QString &title, Type type, Scope scope ); - - static CustomField fromVariantMap( const QVariantMap &map, Scope scope ); - - void setKey( const QString &key ); - QString key() const; - - void setTitle( const QString &title ); - QString title() const; - - void setType( Type type ); - Type type() const; - - void setScope( Scope scope ); - Scope scope() const; - - void setValue( const QString &value ); - QString value() const; - - QVariantMap toVariantMap() const; - - static QString typeToString( Type type ); - static Type stringToType( const QString &type ); - - private: - QString mKey; - QString mTitle; - Type mType; - Scope mScope; - QString mValue; -}; - -#endif diff --git a/kdepim/mobile/contacts/displaynameeditwidget.cpp b/kdepim/mobile/contacts/displaynameeditwidget.cpp deleted file mode 100644 index 9fb37055..00000000 --- a/kdepim/mobile/contacts/displaynameeditwidget.cpp +++ /dev/null @@ -1,243 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2009 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "displaynameeditwidget.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -// Tries to guess the display type that is used for the passed contact -static DisplayNameEditWidget::DisplayType guessedDisplayType( const KABC::Addressee &contact ) -{ - if ( contact.formattedName() == (contact.givenName() + QLatin1Char( ' ' ) + contact.familyName()) ) - return DisplayNameEditWidget::SimpleName; - else if ( contact.formattedName() == contact.assembledName() ) - return DisplayNameEditWidget::FullName; - else if ( contact.formattedName() == (contact.familyName() + QLatin1String( ", " ) + contact.givenName()) ) - return DisplayNameEditWidget::ReverseNameWithComma; - else if ( contact.formattedName() == (contact.familyName() + QLatin1Char( ' ' ) + contact.givenName()) ) - return DisplayNameEditWidget::ReverseName; - else if ( contact.formattedName() == contact.organization() ) - return DisplayNameEditWidget::Organization; - else - return DisplayNameEditWidget::CustomName; -} - -class DisplayNameDelegate : public QStyledItemDelegate -{ - public: - DisplayNameDelegate( QAbstractItemView *view, QObject *parent = 0 ) - : QStyledItemDelegate( parent ), mMaxDescriptionWidth( 0 ) - { - mDescriptions.append( i18n( "Short Name" ) ); - mDescriptions.append( i18n( "Full Name" ) ); - mDescriptions.append( i18n( "Reverse Name with Comma" ) ); - mDescriptions.append( i18n( "Reverse Name" ) ); - mDescriptions.append( i18n( "Organization" ) ); - mDescriptions.append( i18nc( "@item:inlistbox A custom name format", "Custom" ) ); - - QFont font = view->font(); - font.setStyle( QFont::StyleItalic ); - QFontMetrics metrics( font ); - foreach ( const QString &description, mDescriptions ) - mMaxDescriptionWidth = qMax( mMaxDescriptionWidth, metrics.width( description ) ); - - mMaxDescriptionWidth += 3; - } - - int maximumDescriptionWidth() const - { - return mMaxDescriptionWidth; - } - - virtual void paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const - { - QStyledItemDelegate::paint( painter, option, index ); - const QRect rect( option.rect.width() - mMaxDescriptionWidth, option.rect.y(), mMaxDescriptionWidth, option.rect.height() ); - painter->save(); - QFont font( painter->font() ); - font.setStyle( QFont::StyleItalic ); - painter->setFont( font ); - if ( option.state & QStyle::State_Selected ) - painter->setPen( option.palette.color( QPalette::Normal, QPalette::BrightText ) ); - else - painter->setPen( option.palette.color( QPalette::Disabled, QPalette::Text ) ); - painter->drawText( rect, Qt::AlignLeft, mDescriptions.at( index.row() ) ); - painter->restore(); - } - - QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const - { - QSize size = QStyledItemDelegate::sizeHint( option, index ); - size.setWidth( size.width() + mMaxDescriptionWidth ); - - return size; - } - - private: - QStringList mDescriptions; - int mMaxDescriptionWidth; -}; - -DisplayNameEditWidget::DisplayNameEditWidget( QWidget *parent ) - : QWidget( parent ), - mDisplayType( FullName ) -{ - QHBoxLayout *layout = new QHBoxLayout( this ); - layout->setMargin( 0 ); - layout->setSpacing( KDialog::spacingHint() ); - - mView = new KComboBox( this ); - mView->addItems( QStringList() << QString() << QString() << QString() - << QString() << QString() << QString() ); - - layout->addWidget( mView ); - - connect( mView, SIGNAL(activated(int)), SLOT(displayTypeChanged(int)) ); - - DisplayNameDelegate *delegate = new DisplayNameDelegate( mView->view() ); - mView->view()->setItemDelegate( delegate ); - - mAdditionalPopupWidth = delegate->maximumDescriptionWidth(); - - mViewport = mView->view()->viewport(); - mViewport->installEventFilter( this ); -} - -DisplayNameEditWidget::~DisplayNameEditWidget() -{ -} - -void DisplayNameEditWidget::setReadOnly( bool readOnly ) -{ - mView->setEnabled( !readOnly ); -} - -void DisplayNameEditWidget::setDisplayType( DisplayType type ) -{ - if ( type == -1 ) { - // guess the used display type - mDisplayType = guessedDisplayType( mContact ); - } else - mDisplayType = type; - - updateView(); -} - -DisplayNameEditWidget::DisplayType DisplayNameEditWidget::displayType() const -{ - return mDisplayType; -} - -void DisplayNameEditWidget::loadContact( const KABC::Addressee &contact ) -{ - mContact = contact; - - mDisplayType = guessedDisplayType( mContact ); - - updateView(); -} - -void DisplayNameEditWidget::storeContact( KABC::Addressee &contact ) const -{ - contact.setFormattedName( mView->currentText() ); -} - -void DisplayNameEditWidget::changeName( const KABC::Addressee &contact ) -{ - const QString organization = mContact.organization(); - mContact = contact; - mContact.setOrganization( organization ); - if ( mDisplayType == CustomName ) - mContact.setFormattedName( mView->currentText() ); - - updateView(); -} - -void DisplayNameEditWidget::changeOrganization( const QString &organization ) -{ - mContact.setOrganization( organization ); - - updateView(); -} - -void DisplayNameEditWidget::displayTypeChanged( int type ) -{ - mDisplayType = (DisplayType)type; - - updateView(); -} - -bool DisplayNameEditWidget::eventFilter( QObject *object, QEvent *event ) -{ - if ( object == mViewport ) { - if ( event->type() == QEvent::Show ) { - // retrieve the widget that contains the popup view - QWidget *parentWidget = mViewport->parentWidget()->parentWidget(); - - int maxWidth = 0; - QFontMetrics metrics( mView->font() ); - for ( int i = 0; i < mView->count(); ++i ) - maxWidth = qMax( maxWidth, metrics.width( mView->itemText( i ) ) ); - - // resize it to show the complete content - parentWidget->resize( maxWidth + mAdditionalPopupWidth + 20, parentWidget->height() ); - } - return false; - } - - return eventFilter( object, event ); -} - -void DisplayNameEditWidget::updateView() -{ - // SimpleName: - mView->setItemText( 0, mContact.givenName() + QLatin1Char( ' ' ) + mContact.familyName() ); - - // FullName: - mView->setItemText( 1, mContact.assembledName() ); - - // ReverseNameWithComma: - mView->setItemText( 2, mContact.familyName() + QLatin1String( ", " ) + mContact.givenName() ); - - // ReverseName: - mView->setItemText( 3, mContact.familyName() + QLatin1Char( ' ' ) + mContact.givenName() ); - - // Organization: - mView->setItemText( 4, mContact.organization() ); - - // CustomName: - mView->setItemText( 5, mContact.formattedName() ); - - mView->setEditable( mDisplayType == CustomName ); - - mView->setCurrentIndex( (int)mDisplayType ); -} - diff --git a/kdepim/mobile/contacts/displaynameeditwidget.h b/kdepim/mobile/contacts/displaynameeditwidget.h deleted file mode 100644 index 56988905..00000000 --- a/kdepim/mobile/contacts/displaynameeditwidget.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2009 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef DISPLAYNAMEEDITWIDGET_H -#define DISPLAYNAMEEDITWIDGET_H - -#include - -#include - -class KComboBox; - -/** - * @short A widget for editing the display name of a contact. - * - * The widget will either use a predefined schema for formatting - * the name or a custom one. - */ -class DisplayNameEditWidget : public QWidget -{ - Q_OBJECT - - public: - /** - * Describes what the display name should look like. - */ - enum DisplayType - { - SimpleName, ///< A name of the form: givenName familyName - FullName, ///< A name of the form: prefix givenName additionalName familyName suffix - ReverseNameWithComma, ///< A name of the form: familyName, givenName - ReverseName, ///< A name of the form: familyName givenName - Organization, ///< The organization name - CustomName ///< Let the user input a display name - }; - - explicit DisplayNameEditWidget( QWidget *parent = 0 ); - ~DisplayNameEditWidget(); - - void loadContact( const KABC::Addressee &contact ); - void storeContact( KABC::Addressee &contact ) const; - - void setReadOnly( bool readOnly ); - - void setDisplayType( DisplayType type ); - DisplayType displayType() const; - - public Q_SLOTS: - void changeName( const KABC::Addressee &contact ); - void changeOrganization( const QString &organization ); - - protected: - virtual bool eventFilter( QObject *object, QEvent *event ); - - private Q_SLOTS: - void displayTypeChanged( int ); - - private: - void updateView(); - - KComboBox *mView; - DisplayType mDisplayType; - KABC::Addressee mContact; - QWidget *mViewport; - int mAdditionalPopupWidth; -}; - -#endif diff --git a/kdepim/mobile/contacts/editorbase.cpp b/kdepim/mobile/contacts/editorbase.cpp deleted file mode 100644 index aeca3ba7..00000000 --- a/kdepim/mobile/contacts/editorbase.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editorbase.h" - -EditorBase::EditorBase( QWidget *parent ) : QWidget( parent ) -{ -} - -EditorBase::~EditorBase() -{ -} - diff --git a/kdepim/mobile/contacts/editorbase.h b/kdepim/mobile/contacts/editorbase.h deleted file mode 100644 index 3164dab8..00000000 --- a/kdepim/mobile/contacts/editorbase.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORBASE_H -#define EDITORBASE_H - -#include - -namespace KABC -{ - class Addressee; -} - -namespace Akonadi -{ - class ContactMetaData; -} - -class EditorBase : public QWidget -{ - Q_OBJECT - - public: - explicit EditorBase( QWidget *parent = 0 ); - - ~EditorBase(); - - virtual void loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ) = 0; - - virtual void saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const = 0; -}; - -#endif diff --git a/kdepim/mobile/contacts/editorbusiness.cpp b/kdepim/mobile/contacts/editorbusiness.cpp deleted file mode 100644 index bbb947e0..00000000 --- a/kdepim/mobile/contacts/editorbusiness.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editorbusiness.h" - -#include "ui_editorbusiness.h" - -#include - -#include - -class EditorBusiness::Private -{ - EditorBusiness *const q; - - public: - explicit Private( EditorBusiness *parent ) : q( parent ) - { - mUi.setupUi( parent ); - mUi.logoButton->setType( ImageWidget::Logo ); - - q->connect( mUi.organizationLineEdit, SIGNAL(textChanged(QString)), - q, SIGNAL(organizationChanged(QString)) ); - } - - public: - Ui::EditorBusiness mUi; - - KABC::Addressee mContact; -}; - -static QString loadCustom( const KABC::Addressee &contact, const QString &key ) -{ - return contact.custom( QLatin1String( "KADDRESSBOOK" ), key ); -} - -static void storeCustom( KABC::Addressee &contact, const QString &key, const QString &value ) -{ - if ( value.isEmpty() ) - contact.removeCustom( QLatin1String( "KADDRESSBOOK" ), key ); - else - contact.insertCustom( QLatin1String( "KADDRESSBOOK" ), key, value ); -} - - -EditorBusiness::EditorBusiness( QWidget *parent ) - : EditorBase( parent ), d( new Private( this ) ) -{ -} - -EditorBusiness::~EditorBusiness() -{ - delete d; -} - -void EditorBusiness::loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData& ) -{ - d->mUi.logoButton->loadContact( contact ); - d->mUi.organizationLineEdit->setText( contact.organization() ); - d->mUi.professionLineEdit->setText( loadCustom( contact, QLatin1String( "X-Profession" ) ) ); - d->mUi.titleLineEdit->setText( contact.title() ); - d->mUi.departmentLineEdit->setText( contact.department() ); - d->mUi.officeLineEdit->setText( loadCustom( contact, QLatin1String( "X-Office" ) ) ); - d->mUi.managerLineEdit->setText( loadCustom( contact, QLatin1String( "X-ManagersName" ) ) ); - d->mUi.assistantLineEdit->setText( loadCustom( contact, QLatin1String( "X-AssistantsName" ) ) ); - d->mUi.noteTextEdit->setPlainText( contact.note() ); - - d->mUi.noteTextEdit->setMinimumHeight( qMax( 200, (int)d->mUi.noteTextEdit->document()->documentLayout()->documentSize().height() + 50 ) ); -} - -void EditorBusiness::saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData& ) const -{ - d->mUi.logoButton->storeContact( contact ); - contact.setOrganization( d->mUi.organizationLineEdit->text().trimmed() ); - storeCustom( contact, QLatin1String( "X-Profession" ), d->mUi.professionLineEdit->text().trimmed() ); - contact.setTitle( d->mUi.titleLineEdit->text().trimmed() ); - contact.setDepartment( d->mUi.departmentLineEdit->text().trimmed() ); - storeCustom( contact, QLatin1String( "X-Office" ), d->mUi.officeLineEdit->text().trimmed() ); - storeCustom( contact, QLatin1String( "X-ManagersName" ), d->mUi.managerLineEdit->text().trimmed() ); - storeCustom( contact, QLatin1String( "X-AssistantsName" ), d->mUi.assistantLineEdit->text().trimmed() ); - contact.setNote( d->mUi.noteTextEdit->toPlainText() ); -} - diff --git a/kdepim/mobile/contacts/editorbusiness.h b/kdepim/mobile/contacts/editorbusiness.h deleted file mode 100644 index c536a334..00000000 --- a/kdepim/mobile/contacts/editorbusiness.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORBUSINESS_H -#define EDITORBUSINESS_H - -#include "editorbase.h" - -class EditorBusiness : public EditorBase -{ - Q_OBJECT - - public: - explicit EditorBusiness( QWidget *parent = 0 ); - - ~EditorBusiness(); - - void loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ); - void saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const; - - Q_SIGNALS: - void organizationChanged( const QString &organization ); - - private: - class Private; - Private *const d; -}; - -#endif diff --git a/kdepim/mobile/contacts/editorbusiness.ui b/kdepim/mobile/contacts/editorbusiness.ui deleted file mode 100644 index 6b9d27db..00000000 --- a/kdepim/mobile/contacts/editorbusiness.ui +++ /dev/null @@ -1,164 +0,0 @@ - - - EditorBusiness - - - - 0 - 0 - 400 - 343 - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - Organization: - - - - - - - - - - Profession: - - - - - - - - - - Title: - - - - - - - - - - Department: - - - - - - - - - - Office: - - - - - - - - - - Manager: - - - - - - - - - - Assistant: - - - - - - - - - - - - - 120 - 160 - - - - - 120 - 160 - - - - - 120 - 160 - - - - - - - - 100 - 130 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - Notes: - - - - - - - false - - - - - - - - ImageWidget - QPushButton -
imagewidget.h
-
-
- - -
diff --git a/kdepim/mobile/contacts/editorcontactgroup.cpp b/kdepim/mobile/contacts/editorcontactgroup.cpp deleted file mode 100644 index b572280e..00000000 --- a/kdepim/mobile/contacts/editorcontactgroup.cpp +++ /dev/null @@ -1,322 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editorcontactgroup.h" - -#include "ui_editorcontactgroup.h" - -#include "contactcompletionmodel_p.h" - -#include -#include -#include -#include - -#include -#include - -#include -#include - -class Recipient -{ - public: - Recipient( MobileLineEdit *input, QObject *receiver ) - : mInput( input ) - { - QObject::connect( mInput, SIGNAL(clearClicked()), receiver, SLOT(clearRecipientClicked()) ); - } - - public: - MobileLineEdit* mInput; - - Akonadi::Item mItem; - QString mPreferredEmail; -}; - -class EditorContactGroup::Private -{ - EditorContactGroup *const q; - - public: - explicit Private( EditorContactGroup *parent ) - : q( parent ) - { - mUi.setupUi( parent ); - mUi.cancelButton->setIcon( SmallIcon( QLatin1String("dialog-cancel"), 64 ) ); - mUi.saveButton->setIcon( SmallIcon( QLatin1String("document-save"), 64 ) ); - mUi.saveButton->setEnabled( false ); - - mInputs << new Recipient( mUi.recipient1, q ); - mInputs << new Recipient( mUi.recipient2, q ); - mLastRow = 2; // third row - - mUi.collectionSelector->setMimeTypeFilter( QStringList() << KABC::ContactGroup::mimeType() ); - mUi.collectionSelector->setAccessRightsFilter( Akonadi::Collection::CanCreateItem | Akonadi::Collection::CanChangeItem ); - - QObject::connect( mUi.launchAccountWizardButton, SIGNAL(clicked()), q, SIGNAL(requestLaunchAccountWizard()) ); - QObject::connect( mUi.groupName, SIGNAL(textChanged(QString)), q, SLOT(nameTextChanged(QString)) ); - - availableCollectionsChanged(); - } - - void ensureRows( int recipientCount ) - { - // TODO delete unnecessary rows? - addRows( recipientCount ); - } - - public: - Ui::EditorContactGroup mUi; - - KABC::ContactGroup mContactGroup; - - QList mInputs; - - int mLastRow; - - public: // slots - void nameTextChanged( const QString &text ) - { - mUi.saveButton->setEnabled( !text.trimmed().isEmpty() ); - } - - void addRecipientClicked(); - - void fetchResult( KJob *job ); - - void clearRecipientClicked(); - - void availableCollectionsChanged() - { - const bool available = mUi.collectionSelector->currentCollection().isValid(); - mUi.collectionSelector->setVisible( available ); - mUi.launchAccountWizardButton->setVisible( !available ); - } - - void disableSaveButton() - { - mUi.saveButton->setEnabled( false ); - } - - private: - void addRows( int newRowCount ); -}; - -void EditorContactGroup::Private::addRecipientClicked() -{ - addRows( mInputs.count() + 1 ); -} - -void EditorContactGroup::Private::fetchResult( KJob *job ) -{ - Akonadi::ItemFetchJob *fetchJob = qobject_cast( job ); - Q_ASSERT( fetchJob != 0 ); - - int index = fetchJob->property( "RecipientIndex" ).value(); - Q_ASSERT( index >= 0 && index < mInputs.count() ); - Recipient *recipient = mInputs[ index ]; - - const Akonadi::Item item = fetchJob->items().isEmpty() ? recipient->mItem : fetchJob->items().first(); - if ( fetchJob->error() != 0 ) { - kError() << "Fetching contact item" << item.id() << "failed:" << fetchJob->errorString(); - } else if ( !item.hasPayload() ) { - kError() << "Fetching contact item" << item.id() << "worked but it is not a contact"; - } else { - const KABC::Addressee contact = item.payload(); - - recipient->mItem = item; - recipient->mInput->setEnabled( true ); - - if ( recipient->mPreferredEmail.isEmpty() ) { - recipient->mInput->setText( contact.fullEmail( contact.preferredEmail() ) ); - } else { - recipient->mInput->setText( contact.fullEmail( recipient->mPreferredEmail ) ); - } - } -} - -void EditorContactGroup::Private::clearRecipientClicked() -{ - int index = 0; - for ( ; index < mInputs.count(); ++index ) { - if ( mInputs[ index ]->mInput == q->sender() ) { - break; - } - } - - Q_ASSERT( index >= 0 && index < mInputs.count() ); - - // shift data - for ( int i = index + 1; i < mInputs.count(); ++i ) { - Recipient *source = mInputs[ i ]; - Recipient *target = mInputs[ i - 1 ]; - target->mInput->setText( source->mInput->text() ); - target->mItem = source->mItem; - target->mPreferredEmail = source->mPreferredEmail; - } - - Recipient *last = mInputs.last(); - if ( mInputs.count() > 2 ) { - // remove widgets from layout - mUi.gridLayout->removeWidget( mUi.addRecipientButton ); - mUi.gridLayout->removeWidget( mUi.cancelButton ); - mUi.gridLayout->removeWidget( mUi.saveButton ); - mUi.gridLayout->removeWidget( mUi.collectionSelector ); - - const int row = mLastRow; - --mLastRow; - mInputs.pop_back(); - last->mInput->deleteLater(); - delete last; - - // re-add widgets - mUi.gridLayout->addWidget( mUi.addRecipientButton, mLastRow, 2, 1, 2 ); - mUi.gridLayout->addWidget( mUi.cancelButton, row, 2, 1, 1 ); - mUi.gridLayout->addWidget( mUi.saveButton, row, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.collectionSelector, row, 1, 1, 1 ); - } else { - last->mInput->clear(); - last->mItem = Akonadi::Item(); - last->mPreferredEmail.clear(); - } -} - -void EditorContactGroup::Private::addRows( int newRowCount ) -{ - if ( newRowCount <= mInputs.count() ) { - return; - } - - // remove widgets from layout - mUi.gridLayout->removeWidget( mUi.addRecipientButton ); - mUi.gridLayout->removeWidget( mUi.cancelButton ); - mUi.gridLayout->removeWidget( mUi.saveButton ); - mUi.gridLayout->removeWidget( mUi.collectionSelector ); - - int row = mLastRow + 1; - - // add new widgets - for ( ; mInputs.count() < newRowCount; ++row, ++mLastRow ) { - MobileLineEdit *lineEdit = new MobileLineEdit( q ); - mUi.gridLayout->addWidget( lineEdit, row, 1, 1, 1 ); - mInputs << new Recipient( lineEdit, q ); - } - - // re-add widgets - mUi.gridLayout->addWidget( mUi.addRecipientButton, mLastRow, 2, 1, 2 ); - mUi.gridLayout->addWidget( mUi.cancelButton, row, 2, 1, 1 ); - mUi.gridLayout->addWidget( mUi.saveButton, row, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.collectionSelector, row, 1, 1, 1 ); -} - -EditorContactGroup::EditorContactGroup( QWidget *parent ) - : QWidget( parent ), d( new Private( this ) ) -{ - connect( d->mUi.addRecipientButton, SIGNAL(clicked()), SLOT(addRecipientClicked()) ); - - connect( d->mUi.cancelButton, SIGNAL(clicked()), SIGNAL(cancelClicked()) ); - connect( d->mUi.saveButton, SIGNAL(clicked()), SLOT(disableSaveButton()) ); // prevent double clicks - connect( d->mUi.saveButton, SIGNAL(clicked()), SIGNAL(saveClicked()) ); - connect( d->mUi.collectionSelector, SIGNAL(currentChanged(Akonadi::Collection)), - SIGNAL(collectionChanged(Akonadi::Collection)) ); - - connect( d->mUi.collectionSelector->model(), SIGNAL(rowsInserted(QModelIndex,int,int)), - SLOT(availableCollectionsChanged()) ); - connect( d->mUi.collectionSelector->model(), SIGNAL(rowsRemoved(QModelIndex,int,int)), - SLOT(availableCollectionsChanged()) ); -} - -EditorContactGroup::~EditorContactGroup() -{ - delete d; -} - -void EditorContactGroup::loadContactGroup( const KABC::ContactGroup &contactGroup ) -{ - d->mContactGroup = contactGroup; - - d->mUi.groupName->setText( contactGroup.name() ); - - KABC::Addressee contact; - - d->ensureRows( contactGroup.dataCount() + contactGroup.contactReferenceCount() ); - - int count = 0; - - QStringList emails; - for ( uint i = 0; i < contactGroup.dataCount(); ++i, ++count ) { - const KABC::ContactGroup::Data &data = contactGroup.data( i ); - contact.setNameFromString( data.name() ); - emails << contact.fullEmail( data.email() ); - } - - QList::const_iterator inputIt = d->mInputs.constBegin(); - Q_FOREACH( const QString &email, emails ) { - (*inputIt)->mInput->setText( email ); - ++inputIt; - } - - for ( uint i = 0; inputIt != d->mInputs.constEnd() && i < contactGroup.contactReferenceCount(); ++inputIt, ++i, ++count ) { - const KABC::ContactGroup::ContactReference &ref = contactGroup.contactReference( i ); - (*inputIt)->mItem.setId( ref.uid().toLongLong() ); - (*inputIt)->mPreferredEmail = ref.preferredEmail(); - (*inputIt)->mInput->setText( i18nc( "@info:status", "Loading..." ) ); - (*inputIt)->mInput->setEnabled( false ); - - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( (*inputIt)->mItem ); - job->fetchScope().fetchFullPayload( true ); - job->setProperty( "RecipientIndex", count ); - connect( job, SIGNAL(result(KJob*)), SLOT(fetchResult(KJob*)) ); - } -} - -void EditorContactGroup::saveContactGroup( KABC::ContactGroup &contactGroup ) const -{ - contactGroup.setName( d->mUi.groupName->text() ); - contactGroup.setId( d->mContactGroup.id() ); - - Q_FOREACH( Recipient *input, d->mInputs ) { - const QString email = input->mInput->text().trimmed(); - if ( !email.isEmpty() ) { - QString namePart; - QString emailPart; - KABC::Addressee::parseEmailAddress( email, namePart, emailPart ); - if ( namePart.isEmpty() ) { - namePart = emailPart; - } - - if ( !emailPart.isEmpty() ) { - contactGroup.append( KABC::ContactGroup::Data( namePart, emailPart ) ); - } - } - } -} - -Akonadi::Collection EditorContactGroup::selectedCollection() const -{ - return d->mUi.collectionSelector->currentCollection(); -} - -void EditorContactGroup::setDefaultCollection( const Akonadi::Collection &collection ) -{ - d->mUi.collectionSelector->setDefaultCollection( collection ); -} - -#include "moc_editorcontactgroup.cpp" diff --git a/kdepim/mobile/contacts/editorcontactgroup.h b/kdepim/mobile/contacts/editorcontactgroup.h deleted file mode 100644 index aece9d4d..00000000 --- a/kdepim/mobile/contacts/editorcontactgroup.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORCONTACTGROUP_H -#define EDITORCONTACTGROUP_H - -#include - -namespace Akonadi -{ - class Collection; -} - -namespace KABC -{ - class ContactGroup; -} - -class KJob; - -class EditorContactGroup : public QWidget -{ - Q_OBJECT - - public: - explicit EditorContactGroup( QWidget *parent = 0 ); - - ~EditorContactGroup(); - - void setDefaultCollection( const Akonadi::Collection &collection ); - - void loadContactGroup( const KABC::ContactGroup &contactGroup ); - - void saveContactGroup( KABC::ContactGroup &contactGroup ) const; - - Akonadi::Collection selectedCollection() const; - - Q_SIGNALS: - void collectionChanged( const Akonadi::Collection &collection ); - - void cancelClicked(); - void saveClicked(); - void requestLaunchAccountWizard(); - - private: - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void nameTextChanged( const QString& ) ) - Q_PRIVATE_SLOT( d, void addRecipientClicked() ) - Q_PRIVATE_SLOT( d, void fetchResult( KJob* ) ) - Q_PRIVATE_SLOT( d, void clearRecipientClicked() ) - Q_PRIVATE_SLOT( d, void availableCollectionsChanged() ) - Q_PRIVATE_SLOT( d, void disableSaveButton() ) -}; - -#endif diff --git a/kdepim/mobile/contacts/editorcontactgroup.ui b/kdepim/mobile/contacts/editorcontactgroup.ui deleted file mode 100644 index 5759d0e1..00000000 --- a/kdepim/mobile/contacts/editorcontactgroup.ui +++ /dev/null @@ -1,117 +0,0 @@ - - - EditorContactGroup - - - - 0 - 0 - 410 - 136 - - - - - - - - - Name - - - - - - - - - - Recipient - - - - - - - - - - - - - Add - - - - - - - - 64 - 64 - - - - - - - - - 0 - 0 - - - - QComboBox::AdjustToMinimumContentsLength - - - - - - - New Address Book - - - - - - - - 64 - 64 - - - - - - - - - - Qt::Vertical - - - - 20 - 25 - - - - - - - - - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
- - MobileLineEdit - QWidget -
mobilelineedit.h
-
-
- - -
diff --git a/kdepim/mobile/contacts/editorcrypto.cpp b/kdepim/mobile/contacts/editorcrypto.cpp deleted file mode 100644 index 733483ed..00000000 --- a/kdepim/mobile/contacts/editorcrypto.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editorcrypto.h" - -#include "ui_editorcrypto.h" - -#include "libkleo/kleo/enum.h" - -#include - -class EditorCrypto::Private -{ - EditorCrypto *const q; - - public: - explicit Private( EditorCrypto *parent ) : q( parent ) - { - mUi.setupUi( parent ); - - mProtocolCB[ 0 ] = mUi.inlineOpenPGPCheckBox; - mProtocolCB[ 1 ] = mUi.openPGPCheckBox; - mProtocolCB[ 2 ] = mUi.smimeCheckBox; - mProtocolCB[ 3 ] = mUi.smimeOpaqueCheckBox; - - mUi.openPGPKeyRequester->setMultipleKeysEnabled( true ); - mUi.openPGPKeyRequester->setAllowedKeys( Kleo::EncryptionKeyRequester::OpenPGP ); - - mUi.smimeCertificateRequester->setMultipleKeysEnabled( true ); - mUi.smimeCertificateRequester->setAllowedKeys( Kleo::EncryptionKeyRequester::SMIME ); - - for ( unsigned int i = Kleo::UnknownSigningPreference; i < Kleo::MaxSigningPreference ; ++i ) - mUi.signComboBox->addItem( Kleo::signingPreferenceToLabel( static_cast( i ) ) ); - - for ( unsigned int i = Kleo::UnknownPreference; i < Kleo::MaxEncryptionPreference ; ++i ) - mUi.encryptComboBox->addItem( Kleo::encryptionPreferenceToLabel( static_cast( i ) ) ); - } - - public: - Ui::EditorCrypto mUi; - - enum { NumberOfProtocols = 4 }; - QCheckBox* mProtocolCB[NumberOfProtocols]; -}; - -static QString loadCustom( const KABC::Addressee &contact, const QString &key ) -{ - return contact.custom( QLatin1String( "KADDRESSBOOK" ), key ); -} - -static void storeCustom( KABC::Addressee &contact, const QString &key, const QString &value ) -{ - if ( value.isEmpty() ) - contact.removeCustom( QLatin1String( "KADDRESSBOOK" ), key ); - else - contact.insertCustom( QLatin1String( "KADDRESSBOOK" ), key, value ); -} - - -EditorCrypto::EditorCrypto( QWidget *parent ) - : EditorBase( parent ), d( new Private( this ) ) -{ -} - -EditorCrypto::~EditorCrypto() -{ - delete d; -} - -void EditorCrypto::loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData& ) -{ - const QStringList protocolPrefs = loadCustom( contact, QLatin1String( "CRYPTOPROTOPREF" ) ).split( QLatin1Char( ',' ), QString::SkipEmptyParts ); - const uint cryptoFormats = Kleo::stringListToCryptoMessageFormats( protocolPrefs ); - - uint msgFormat = 1; - for ( uint i = 0 ; i < Private::NumberOfProtocols ; ++i, msgFormat *= 2 ) - d->mProtocolCB[i]->setChecked( cryptoFormats & msgFormat ); - - d->mUi.signComboBox->setCurrentIndex( Kleo::stringToSigningPreference( loadCustom( contact, QLatin1String( "CRYPTOSIGNPREF" ) ) ) ); - d->mUi.encryptComboBox->setCurrentIndex( Kleo::stringToEncryptionPreference( loadCustom( contact, QLatin1String( "CRYPTOENCRYPTPREF" ) ) ) ); - - d->mUi.openPGPKeyRequester->setFingerprints( loadCustom( contact, QLatin1String( "OPENPGPFP" ) ).split( QLatin1Char( ',' ), QString::SkipEmptyParts ) ); - d->mUi.smimeCertificateRequester->setFingerprints( loadCustom( contact, QLatin1String( "SMIMEFP" ) ).split( QLatin1Char( ',' ), QString::SkipEmptyParts ) ); -} - -void EditorCrypto::saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData& ) const -{ - uint cryptoFormats = 0; - uint msgFormat = 1; - for ( uint i = 0 ; i < Private::NumberOfProtocols ; ++i, msgFormat *= 2 ) { - if ( d->mProtocolCB[ i ]->isChecked() ) - cryptoFormats |= msgFormat; - } - - const QStringList protocolPref = Kleo::cryptoMessageFormatsToStringList( cryptoFormats ); - storeCustom( contact, QLatin1String( "CRYPTOPROTOPREF" ), protocolPref.join( QLatin1String( "," ) ) ); - - const Kleo::SigningPreference signPref = static_cast( d->mUi.signComboBox->currentIndex() ); - if ( signPref != Kleo::UnknownSigningPreference ) - contact.insertCustom( QLatin1String("KADDRESSBOOK"), QLatin1String("CRYPTOSIGNPREF"), QLatin1String(Kleo::signingPreferenceToString( signPref )) ); - else - contact.removeCustom(QLatin1String( "KADDRESSBOOK"), QLatin1String("CRYPTOSIGNPREF") ); - - const Kleo::EncryptionPreference encryptPref = static_cast( d->mUi.encryptComboBox->currentIndex() ); - if ( encryptPref != Kleo::UnknownPreference ) - contact.insertCustom( QLatin1String("KADDRESSBOOK"), QLatin1String("CRYPTOENCRYPTPREF"), QLatin1String(Kleo::encryptionPreferenceToString( encryptPref )) ); - else - contact.removeCustom( QLatin1String("KADDRESSBOOK"), QLatin1String("CRYPTOENCRYPTPREF") ); - - const QStringList pfp = d->mUi.openPGPKeyRequester->fingerprints(); - storeCustom( contact, QLatin1String( "OPENPGPFP" ), pfp.join( QLatin1String( "," ) ) ); - - const QStringList sfp = d->mUi.smimeCertificateRequester->fingerprints(); - storeCustom( contact, QLatin1String( "SMIMEFP" ), sfp.join( QLatin1String( "," ) ) ); -} - diff --git a/kdepim/mobile/contacts/editorcrypto.h b/kdepim/mobile/contacts/editorcrypto.h deleted file mode 100644 index 1182d91c..00000000 --- a/kdepim/mobile/contacts/editorcrypto.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORCRYPTO_H -#define EDITORCRYPTO_H - -#include "editorbase.h" - -class EditorCrypto : public EditorBase -{ - Q_OBJECT - - public: - explicit EditorCrypto( QWidget *parent = 0 ); - - ~EditorCrypto(); - - void loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ); - void saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const; - - private: - class Private; - Private *const d; -}; - -#endif diff --git a/kdepim/mobile/contacts/editorcrypto.ui b/kdepim/mobile/contacts/editorcrypto.ui deleted file mode 100644 index 136eb125..00000000 --- a/kdepim/mobile/contacts/editorcrypto.ui +++ /dev/null @@ -1,270 +0,0 @@ - - - EditorCrypto - - - - 0 - 0 - 470 - 485 - - - - - - - Allow the following protocols: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - Inline OpenPGP (deprecated) - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - OpenPGP / MIME - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - S/MIME - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - S/MIME Opaque - - - - - - - - - Preferred Open/PGP encryption key: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Preferred S/MIME encryption certificate: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Message Preference: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Encrypt: - - - - - - - - - - Sign: - - - - - - - - - - - Qt::Vertical - - - - 20 - 168 - - - - - - - - - KComboBox - QComboBox -
kcombobox.h
-
- - Kleo::EncryptionKeyRequester - QWidget -
libkleo/ui/keyrequester.h
- 1 -
-
- - -
diff --git a/kdepim/mobile/contacts/editorgeneral.cpp b/kdepim/mobile/contacts/editorgeneral.cpp deleted file mode 100644 index 0ddac89f..00000000 --- a/kdepim/mobile/contacts/editorgeneral.cpp +++ /dev/null @@ -1,453 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editorgeneral.h" - -#include "ui_editorgeneral.h" - -#include - -#include -#include - -class PhoneWidgets -{ - public: - PhoneWidgets( MobileLineEdit *input, PhoneTypeCombo *type ) - : mInput( input ), mType( type ) - { - } - - - public: - QString mId; - MobileLineEdit *mInput; - PhoneTypeCombo *mType; -}; - -class EditorGeneral::Private -{ - EditorGeneral *const q; - - public: - explicit Private( EditorGeneral *parent ) - : q( parent ) - { - mUi.setupUi( parent ); - - QObject::connect( mUi.email1, SIGNAL(clearClicked()), q, SLOT(clearEmailClicked()) ); - QObject::connect( mUi.email2, SIGNAL(clearClicked()), q, SLOT(clearEmailClicked()) ); - mEmailInputs << mUi.email1; - mEmailInputs << mUi.email2; - mLastEmailRow = 2; // third row - - QObject::connect( mUi.phone1, SIGNAL(clearClicked()), q, SLOT(clearPhoneClicked()) ); - QObject::connect( mUi.phone2, SIGNAL(clearClicked()), q, SLOT(clearPhoneClicked()) ); - mPhoneWidgets << new PhoneWidgets( mUi.phone1, mUi.phone1Type ); - mUi.phone1Type->setType( KABC::PhoneNumber::Pref ); - mPhoneWidgets << new PhoneWidgets( mUi.phone2, mUi.phone2Type ); - mLastPhoneRow = 4; // fifth row - - mUi.collectionSelector->setMimeTypeFilter( QStringList() << KABC::Addressee::mimeType() ); - mUi.collectionSelector->setAccessRightsFilter( Akonadi::Collection::CanCreateItem | Akonadi::Collection::CanChangeItem ); - - mUi.gridLayout->removeWidget( mUi.pictureButton ); - mUi.gridLayout->addWidget( mUi.pictureButton, 0, 3, 3, 1, Qt::AlignTop ); - mUi.pictureButton->setType( ImageWidget::Photo ); - - QObject::connect( mUi.launchAccountWizardButton, SIGNAL(clicked()), q, SIGNAL(requestLaunchAccountWizard()) ); - - availableCollectionsChanged(); - } - - ~Private() - { - qDeleteAll( mPhoneWidgets ); - } - - void ensureEmailRows( int emailCount ) - { - // TODO delete unnecessary rows? - addEmailRows( emailCount ); - } - - void ensurePhoneRows( int phoneCount ) - { - // TODO delete unnecessary rows? - addPhoneRows( phoneCount ); - } - - public: - Ui::EditorGeneral mUi; - - KABC::Addressee mContact; - - QList mEmailInputs; - QList mPhoneWidgets; - - int mLastEmailRow; - int mLastPhoneRow; - - public: // slots - void nameTextChanged( const QString &text ) - { - mContact.setNameFromString( text ); - mUi.saveButton->setEnabled( !text.trimmed().isEmpty() ); - - emit q->nameChanged( mContact ); - } - - void addEmailClicked(); - void clearEmailClicked(); - void addPhoneClicked(); - void clearPhoneClicked(); - - void availableCollectionsChanged() - { - const bool available = mUi.collectionSelector->currentCollection().isValid(); - mUi.collectionSelector->setVisible( available ); - mUi.launchAccountWizardButton->setVisible( !available ); - } - - void disableSaveButton() - { - mUi.saveButton->setEnabled( false ); - } - - private: - void addEmailRows( int newRowCount ); - void addPhoneRows( int newRowCount ); -}; - -void EditorGeneral::Private::addEmailClicked() -{ - addEmailRows( mEmailInputs.count() + 1 ); -} - -void EditorGeneral::Private::addPhoneClicked() -{ - addPhoneRows( mPhoneWidgets.count() + 1 ); -} - -void EditorGeneral::Private::addEmailRows( int newRowCount ) -{ - if ( newRowCount <= mEmailInputs.count() ) { - return; - } - - // remove widgets from layout - mUi.gridLayout->removeWidget( mUi.addEmailButton ); - - QList::const_iterator widgetIt = mPhoneWidgets.constBegin(); - for ( ; widgetIt != mPhoneWidgets.constEnd(); ++widgetIt ) { - mUi.gridLayout->removeWidget( (*widgetIt)->mInput ); - mUi.gridLayout->removeWidget( (*widgetIt)->mType ); - } - - mUi.gridLayout->removeWidget( mUi.phoneLabel ); - mUi.gridLayout->removeWidget( mUi.addPhoneButton ); - mUi.gridLayout->removeWidget( mUi.cancelButton ); - mUi.gridLayout->removeWidget( mUi.saveButton ); - mUi.gridLayout->removeWidget( mUi.collectionSelector ); - mUi.gridLayout->removeWidget( mUi.launchAccountWizardButton ); - - int row = mLastEmailRow + 1; - - // add new widgets - for ( ; mEmailInputs.count() < newRowCount; ++row, ++mLastEmailRow, ++mLastPhoneRow ) { - MobileLineEdit *lineEdit = new MobileLineEdit( q ); - mUi.gridLayout->addWidget( lineEdit, row, 1, 1, 1 ); - QObject::connect( lineEdit, SIGNAL(clearClicked()), q, SLOT(clearEmailClicked()) ); - mEmailInputs << lineEdit; - } - - // re-add widgets - mUi.gridLayout->addWidget( mUi.addEmailButton, mLastEmailRow, 2, 1, 1 ); - - mUi.gridLayout->addWidget( mUi.phoneLabel, row, 0, 1, 1 ); - widgetIt = mPhoneWidgets.constBegin(); - for ( ; widgetIt != mPhoneWidgets.constEnd(); ++widgetIt, ++row ) { - mUi.gridLayout->addWidget( (*widgetIt)->mInput, row, 1, 1, 1 ); - mUi.gridLayout->addWidget( (*widgetIt)->mType, row, 2, 1, 1 ); - } - - mUi.gridLayout->addWidget( mUi.addPhoneButton, mLastPhoneRow, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.cancelButton, row, 2, 1, 1 ); - mUi.gridLayout->addWidget( mUi.saveButton, row, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.collectionSelector, row, 1, 1, 1 ); - mUi.gridLayout->addWidget( mUi.launchAccountWizardButton, row, 1, 1, 1 ); -} - -void EditorGeneral::Private::clearEmailClicked() -{ - int index = 0; - for ( ; index < mEmailInputs.count(); ++index ) { - if ( mEmailInputs[ index ] == q->sender() ) { - break; - } - } - - Q_ASSERT( index >= 0 && index < mEmailInputs.count() ); - - // shift data - for ( int i = index + 1; i < mEmailInputs.count(); ++i ) { - mEmailInputs[ i - 1 ]->setText( mEmailInputs[ i ]->text() ); - } - - MobileLineEdit *last = mEmailInputs.last(); - if ( mEmailInputs.count() > 2 ) { - // remove widgets from layout - mUi.gridLayout->removeWidget( last ); - mUi.gridLayout->removeWidget( mUi.addEmailButton ); - - QList::const_iterator widgetIt = mPhoneWidgets.constBegin(); - for ( ; widgetIt != mPhoneWidgets.constEnd(); ++widgetIt ) { - mUi.gridLayout->removeWidget( (*widgetIt)->mInput ); - mUi.gridLayout->removeWidget( (*widgetIt)->mType ); - } - - mUi.gridLayout->removeWidget( mUi.phoneLabel ); - mUi.gridLayout->removeWidget( mUi.addPhoneButton ); - mUi.gridLayout->removeWidget( mUi.cancelButton ); - mUi.gridLayout->removeWidget( mUi.saveButton ); - mUi.gridLayout->removeWidget( mUi.collectionSelector ); - mUi.gridLayout->removeWidget( mUi.launchAccountWizardButton ); - - // delete the now obsolete widget - --mLastEmailRow; - --mLastPhoneRow; - mEmailInputs.pop_back(); - last->deleteLater(); - - // re-add widgets - mUi.gridLayout->addWidget( mUi.addEmailButton, mLastEmailRow, 2, 1, 1 ); - - int row = mLastEmailRow + 1; - mUi.gridLayout->addWidget( mUi.phoneLabel, row, 0, 1, 1 ); - widgetIt = mPhoneWidgets.constBegin(); - for ( ; widgetIt != mPhoneWidgets.constEnd(); ++widgetIt, ++row ) { - mUi.gridLayout->addWidget( (*widgetIt)->mInput, row, 1, 1, 1 ); - mUi.gridLayout->addWidget( (*widgetIt)->mType, row, 2, 1, 1 ); - } - - mUi.gridLayout->addWidget( mUi.addPhoneButton, mLastPhoneRow, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.cancelButton, row, 2, 1, 1 ); - mUi.gridLayout->addWidget( mUi.saveButton, row, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.collectionSelector, row, 1, 1, 1 ); - mUi.gridLayout->addWidget( mUi.launchAccountWizardButton, row, 1, 1, 1 ); - } else { - last->clear(); - } -} - -void EditorGeneral::Private::addPhoneRows( int newRowCount ) -{ - if ( newRowCount <= mPhoneWidgets.count() ) { - return; - } - - // remove widgets from layout - mUi.gridLayout->removeWidget( mUi.addPhoneButton ); - mUi.gridLayout->removeWidget( mUi.cancelButton ); - mUi.gridLayout->removeWidget( mUi.saveButton ); - mUi.gridLayout->removeWidget( mUi.collectionSelector ); - mUi.gridLayout->removeWidget( mUi.launchAccountWizardButton ); - - int row = mLastPhoneRow + 1; - // add new widgets - for ( ; mPhoneWidgets.count() < newRowCount; ++row, ++mLastPhoneRow ) { - MobileLineEdit *lineEdit = new MobileLineEdit( q ); - mUi.gridLayout->addWidget( lineEdit, row, 1, 1, 1 ); - PhoneTypeCombo *combo = new PhoneTypeCombo( q ); - mUi.gridLayout->addWidget( combo, row, 2, 1, 1 ); - - QObject::connect( lineEdit, SIGNAL(clearClicked()), q, SLOT(clearPhoneClicked()) ); - mPhoneWidgets << new PhoneWidgets( lineEdit, combo ); - } - - // re-add widgets - mUi.gridLayout->addWidget( mUi.addPhoneButton, mLastPhoneRow, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.cancelButton, mLastPhoneRow + 1, 2, 1, 1 ); - mUi.gridLayout->addWidget( mUi.saveButton, mLastPhoneRow + 1, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.collectionSelector, mLastPhoneRow + 1, 1, 1, 1 ); - mUi.gridLayout->addWidget( mUi.launchAccountWizardButton, mLastPhoneRow + 1, 1, 1, 1 ); -} - -void EditorGeneral::Private::clearPhoneClicked() -{ - int index = 0; - for ( ; index < mPhoneWidgets.count(); ++index ) { - if ( mPhoneWidgets[ index ]->mInput == q->sender() ) { - break; - } - } - - Q_ASSERT( index >= 0 && index < mPhoneWidgets.count() ); - - // shift data - for ( int i = index + 1; i < mPhoneWidgets.count(); ++i ) { - PhoneWidgets *source = mPhoneWidgets[ i ]; - PhoneWidgets *target = mPhoneWidgets[ i - 1 ]; - target->mInput->setText( source->mInput->text() ); - target->mType->setType( source->mType->type() ); - target->mId = source->mId; - } - - PhoneWidgets *last = mPhoneWidgets.last(); - if ( mPhoneWidgets.count() > 2 ) { - // remove widgets from layout - mUi.gridLayout->removeWidget( mUi.addPhoneButton ); - mUi.gridLayout->removeWidget( mUi.cancelButton ); - mUi.gridLayout->removeWidget( mUi.saveButton ); - mUi.gridLayout->removeWidget( mUi.collectionSelector ); - mUi.gridLayout->removeWidget( mUi.launchAccountWizardButton ); - - --mLastPhoneRow; - mPhoneWidgets.pop_back(); - last->mInput->deleteLater(); - last->mType->deleteLater(); - delete last; - - // re-add widgets - mUi.gridLayout->addWidget( mUi.addPhoneButton, mLastPhoneRow, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.cancelButton, mLastPhoneRow + 1, 2, 1, 1 ); - mUi.gridLayout->addWidget( mUi.saveButton, mLastPhoneRow + 1, 3, 1, 1 ); - mUi.gridLayout->addWidget( mUi.collectionSelector, mLastPhoneRow + 1, 1, 1, 1 ); - mUi.gridLayout->addWidget( mUi.launchAccountWizardButton, mLastPhoneRow + 1, 1, 1, 1 ); - } else { - last->mInput->clear(); - last->mType->setType( KABC::PhoneNumber::Home ); - last->mId.clear(); - } -} - -EditorGeneral::EditorGeneral( QWidget *parent ) - : EditorBase( parent ), d( new Private( this ) ) -{ - connect( d->mUi.fullName, SIGNAL(textChanged(QString)), SLOT(nameTextChanged(QString)) ); - - connect( d->mUi.addEmailButton, SIGNAL(clicked()), SLOT(addEmailClicked()) ); - - connect( d->mUi.addPhoneButton, SIGNAL(clicked()), SLOT(addPhoneClicked()) ); - - connect( d->mUi.saveButton, SIGNAL(clicked()), SLOT(disableSaveButton()) ); // prevent double clicks - connect( d->mUi.saveButton, SIGNAL(clicked()), SIGNAL(saveClicked()) ); - connect( d->mUi.cancelButton, SIGNAL(clicked()), SIGNAL(cancelClicked()) ); - connect( d->mUi.collectionSelector, SIGNAL(currentChanged(Akonadi::Collection)), - SIGNAL(collectionChanged(Akonadi::Collection)) ); - - connect( d->mUi.collectionSelector->model(), SIGNAL(rowsInserted(QModelIndex,int,int)), - SLOT(availableCollectionsChanged()) ); - connect( d->mUi.collectionSelector->model(), SIGNAL(rowsRemoved(QModelIndex,int,int)), - SLOT(availableCollectionsChanged()) ); - - d->mUi.saveButton->setIcon( SmallIcon( QLatin1String("document-save"), 64 ) ); - d->mUi.cancelButton->setIcon( SmallIcon( QLatin1String("dialog-cancel"), 64 ) ); -} - -EditorGeneral::~EditorGeneral() -{ - delete d; -} - -void EditorGeneral::loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData& ) -{ - d->mContact = contact; - - d->mUi.fullName->blockSignals( true ); - d->mUi.fullName->setText( contact.assembledName() ); - d->mUi.fullName->blockSignals( false ); - - const QStringList emails = contact.emails(); - d->ensureEmailRows( emails.count() ); - - QList::iterator inputIt = d->mEmailInputs.begin(); - Q_FOREACH( const QString &email, emails ) { - (*inputIt)->setText( email ); - ++inputIt; - } - - const KABC::PhoneNumber::List phones = contact.phoneNumbers(); - d->ensurePhoneRows( phones.count() ); - - QList::iterator widgetIt = d->mPhoneWidgets.begin(); - Q_FOREACH( const KABC::PhoneNumber &phone, phones ) { - PhoneWidgets* widgets = *widgetIt; - - widgets->mId = phone.id(); - widgets->mInput->setText( phone.number() ); - - widgets->mType->setType( phone.type() ); - - ++widgetIt; - } - - d->mUi.pictureButton->loadContact( contact ); -} - -void EditorGeneral::saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData& ) const -{ - contact.setPrefix( d->mContact.prefix() ); - contact.setGivenName( d->mContact.givenName() ); - contact.setAdditionalName( d->mContact.additionalName() ); - contact.setFamilyName( d->mContact.familyName() ); - contact.setSuffix( d->mContact.suffix() ); - - Q_FOREACH( MobileLineEdit *input, d->mEmailInputs ) { - const QString email = input->text().trimmed(); - if ( !email.isEmpty() ) { - contact.insertEmail( email ); - } - } - - Q_FOREACH( PhoneWidgets *widgets, d->mPhoneWidgets ) { - const QString number = widgets->mInput->text().trimmed(); - if ( !number.isEmpty() ) { - KABC::PhoneNumber phone( number, widgets->mType->type() ); - if ( !widgets->mId.isEmpty() ) { - phone.setId( widgets->mId ); - } - contact.insertPhoneNumber( phone ); - } - } - - d->mUi.pictureButton->storeContact( contact ); -} - -Akonadi::Collection EditorGeneral::selectedCollection() const -{ - return d->mUi.collectionSelector->currentCollection(); -} - -void EditorGeneral::setDefaultCollection( const Akonadi::Collection &collection ) -{ - d->mUi.collectionSelector->setDefaultCollection( collection ); -} - -void EditorGeneral::updateName( const KABC::Addressee &contact ) -{ - // this slot is called when the name parts have been changed in the 'More' page - blockSignals( true ); - d->mContact = contact; - d->mUi.fullName->setText( d->mContact.assembledName() ); - d->mUi.saveButton->setEnabled( !d->mUi.fullName->text().trimmed().isEmpty() ); - blockSignals( false ); -} - -#include "moc_editorgeneral.cpp" diff --git a/kdepim/mobile/contacts/editorgeneral.h b/kdepim/mobile/contacts/editorgeneral.h deleted file mode 100644 index c01c8a9c..00000000 --- a/kdepim/mobile/contacts/editorgeneral.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORGENERAL_H -#define EDITORGENERAL_H - -#include "editorbase.h" - -namespace Akonadi -{ - class Collection; -} - -class EditorGeneral : public EditorBase -{ - Q_OBJECT - - public: - explicit EditorGeneral( QWidget *parent = 0 ); - - ~EditorGeneral(); - - void setDefaultCollection( const Akonadi::Collection &collection ); - - void loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ); - - void saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const; - - Akonadi::Collection selectedCollection() const; - - public Q_SLOTS: - void updateName( const KABC::Addressee& ); - - Q_SIGNALS: - void collectionChanged( const Akonadi::Collection &collection ); - void nameChanged( const KABC::Addressee& ); - - void saveClicked(); - void cancelClicked(); - - void requestLaunchAccountWizard(); - - private: - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void nameTextChanged( const QString& ) ) - Q_PRIVATE_SLOT( d, void addEmailClicked() ) - Q_PRIVATE_SLOT( d, void addPhoneClicked() ) - Q_PRIVATE_SLOT( d, void clearEmailClicked() ) - Q_PRIVATE_SLOT( d, void clearPhoneClicked() ) - Q_PRIVATE_SLOT( d, void availableCollectionsChanged() ) - Q_PRIVATE_SLOT( d, void disableSaveButton() ) -}; - -#endif diff --git a/kdepim/mobile/contacts/editorgeneral.ui b/kdepim/mobile/contacts/editorgeneral.ui deleted file mode 100644 index 8814331a..00000000 --- a/kdepim/mobile/contacts/editorgeneral.ui +++ /dev/null @@ -1,166 +0,0 @@ - - - EditorGeneral - - - - 0 - 0 - 402 - 199 - - - - - - - - - Name - - - - - - - - - - - 0 - 0 - - - - - - - - - - - E-Mail - - - - - - - - - - - - - Add - - - - - - - Phone - - - - - - - - - - - - - - - - - - - Add - - - - - - - - 64 - 64 - - - - - - - - - 64 - 64 - - - - - - - - - 0 - 0 - - - - QComboBox::AdjustToMinimumContentsLength - - - - - - - New Address Book - - - - - - - - - Qt::Vertical - - - - 20 - 8 - - - - - - - - - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
- - PhoneTypeCombo - QComboBox -
phonetypecombo.h
-
- - MobileLineEdit - QWidget -
mobilelineedit.h
-
- - ImageWidget - QPushButton -
imagewidget.h
-
-
- - -
diff --git a/kdepim/mobile/contacts/editorlocation.cpp b/kdepim/mobile/contacts/editorlocation.cpp deleted file mode 100644 index 41ae58f0..00000000 --- a/kdepim/mobile/contacts/editorlocation.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editorlocation.h" - -#include "locationmodel.h" -#include "ui_editorlocation.h" - -#include -#include - -#include -#include -#include - -class AddressTypeDialog : public KDialog -{ - public: - AddressTypeDialog( QWidget *parent = 0 ) - : KDialog( parent) - { - setCaption( i18nc( "street/postal", "New Address" ) ); - - QWidget *page = new QWidget(this); - setMainWidget( page ); - QVBoxLayout *layout = new QVBoxLayout( page ); - layout->setSpacing( KDialog::spacingHint() ); - layout->setMargin( 0 ); - - QGroupBox *box = new QGroupBox( i18nc( "street/postal", "Address Types" ), page ); - layout->addWidget( box ); - mGroup = new QButtonGroup( box ); - mGroup->setExclusive ( false ); - - QGridLayout *buttonLayout = new QGridLayout( box ); - - mTypeList = KABC::Address::typeList(); - mTypeList.removeAll( KABC::Address::Pref ); - - KABC::Address::TypeList::ConstIterator it; - int i = 0; - int row = 0; - for ( it = mTypeList.constBegin(); it != mTypeList.constEnd(); ++it, ++i ) { - QCheckBox *checkBox = new QCheckBox( KABC::Address::typeLabel( *it ), box ); - buttonLayout->addWidget( checkBox, row, i % 3 ); - - if ( i % 3 == 2 ) - ++row; - - mGroup->addButton( checkBox ); - } - } - - KABC::Address::Type type() const - { - KABC::Address::Type type; - for ( int i = 0; i < mGroup->buttons().count(); ++i ) { - QCheckBox *box = dynamic_cast( mGroup->buttons().at( i ) ); - if ( box && box->isChecked() ) - type |= mTypeList[ i ]; - } - - return type; - } - - private: - QButtonGroup *mGroup; - - KABC::Address::TypeList mTypeList; -}; - - -class EditorLocation::Private -{ - EditorLocation *const q; - - public: - explicit Private( EditorLocation *parent ) : q( parent ) - { - mUi.setupUi( parent ); - mModel = new LocationModel( q ); - - mUi.addressSelectionCombo->setModel( mModel ); - mUi.addressSelectionCombo->setModelColumn( 0 ); - - mMapper = new QDataWidgetMapper( q ); - mMapper->setModel( mModel ); - mMapper->addMapping( mUi.streetLineEdit, 1, "plainText" ); - mMapper->addMapping( mUi.postOfficeBoxLineEdit, 2 ); - mMapper->addMapping( mUi.localityLineEdit, 3 ); - mMapper->addMapping( mUi.regionLineEdit, 4 ); - mMapper->addMapping( mUi.postalCodeLineEdit, 5 ); - mMapper->addMapping( mUi.countryLineEdit, 6 ); - mMapper->addMapping( mUi.editLabelLineEdit, 7 ); - mMapper->toFirst(); - - q->connect( mUi.addressSelectionCombo, SIGNAL(activated(int)), - mMapper, SLOT(setCurrentIndex(int)) ); - q->connect( mUi.addAddressButton, SIGNAL(clicked()), - SLOT(addAddress()) ); - q->connect( mUi.deleteAddressButton, SIGNAL(clicked()), - SLOT(removeAddress()) ); - q->connect( mModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - SLOT(addressCountChanged()) ); - q->connect( mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), - SLOT(addressCountChanged()) ); - - addressCountChanged(); - } - - void addAddress() - { - AddressTypeDialog dlg; - if ( !dlg.exec() ) - return; - - const KABC::Address::Type addressType = dlg.type(); - - if ( mModel->insertRows( 0, 1 ) ) { - mModel->setData( mModel->index( 0, 0 ), QVariant::fromValue( static_cast( addressType ) ) ); - mUi.addressSelectionCombo->setCurrentIndex( 0 ); - mMapper->setCurrentIndex( 0 ); - } - } - - void removeAddress() - { - const int answer = KMessageBox::questionYesNo( 0, i18n( "Do you really want to delete this address?" ), - i18n( "Delete Address" ), - KGuiItem( i18n("Delete") ) ); - if ( answer == KMessageBox::No ) - return; - - const int index = mMapper->currentIndex(); - mModel->removeRows( index, 1 ); - if ( index >= mModel->rowCount() ) - mMapper->setCurrentIndex( mModel->rowCount() - 1 ); - else - mMapper->setCurrentIndex( index ); - - if ( mModel->rowCount() == 0 ) { - // We have to cleanup the fields ourself in this case, - // QDataWidgetMapper does not handle a non-existing index - for ( int column = 1; column < 8; ++column ) { - QLineEdit *lineEdit = qobject_cast( mMapper->mappedWidgetAt( column ) ); - if ( lineEdit ) - lineEdit->clear(); - else { - QTextEdit *textEdit = qobject_cast( mMapper->mappedWidgetAt( column ) ); - if ( textEdit ) - textEdit->clear(); - } - } - } - } - - void addressCountChanged() - { - const bool enabled = (mModel->rowCount() > 0); - - mUi.addressSelectionCombo->setEnabled( enabled ); - mUi.deleteAddressButton->setEnabled( enabled ); - for ( int column = 1; column < 8; ++column ) { - QWidget *widget = mMapper->mappedWidgetAt( column ); - if ( widget ) - widget->setEnabled( enabled ); - } - } - - public: - Ui::EditorLocation mUi; - - KABC::Addressee mContact; - LocationModel *mModel; - QDataWidgetMapper *mMapper; -}; - - -EditorLocation::EditorLocation( QWidget *parent ) - : EditorBase( parent ), d( new Private( this ) ) -{ -} - -EditorLocation::~EditorLocation() -{ - delete d; -} - -void EditorLocation::loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData& ) -{ - d->mModel->setLocations( contact.addresses() ); - d->mUi.addressSelectionCombo->setCurrentIndex( 0 ); - d->mMapper->setCurrentIndex( 0 ); - d->addressCountChanged(); -} - -void EditorLocation::saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData& ) const -{ - const KABC::Address::List oldAddresses = contact.addresses(); - foreach ( const KABC::Address &oldAddress, oldAddresses ) - contact.removeAddress( oldAddress ); - - foreach ( const KABC::Address &newAddress, d->mModel->locations() ) - contact.insertAddress( newAddress ); -} - -#include "moc_editorlocation.cpp" diff --git a/kdepim/mobile/contacts/editorlocation.h b/kdepim/mobile/contacts/editorlocation.h deleted file mode 100644 index 5dc906a4..00000000 --- a/kdepim/mobile/contacts/editorlocation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORLOCATION_H -#define EDITORLOCATION_H - -#include "editorbase.h" - -class EditorLocation : public EditorBase -{ - Q_OBJECT - - public: - explicit EditorLocation( QWidget *parent = 0 ); - - ~EditorLocation(); - - void loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ); - void saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const; - - private: - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void addAddress() ) - Q_PRIVATE_SLOT( d, void removeAddress() ) - Q_PRIVATE_SLOT( d, void addressCountChanged() ) -}; - -#endif diff --git a/kdepim/mobile/contacts/editorlocation.ui b/kdepim/mobile/contacts/editorlocation.ui deleted file mode 100644 index a82c0266..00000000 --- a/kdepim/mobile/contacts/editorlocation.ui +++ /dev/null @@ -1,177 +0,0 @@ - - - EditorLocation - - - - 0 - 0 - 400 - 369 - - - - - - - - - - 0 - 0 - - - - Show address: - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Add new - - - - - - - - - QFrame::HLine - - - QFrame::Raised - - - - - - - QFormLayout::ExpandingFieldsGrow - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - Street: - - - - - - - false - - - - - - - Post Office -Box: - - - - - - - - - - Locality: - - - - - - - - - - Region: - - - - - - - - - - Postal Code: - - - - - - - - - - Country: - - - - - - - - - - Edit Label: - - - - - - - - - - - - - - Delete this address - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - diff --git a/kdepim/mobile/contacts/editormore.cpp b/kdepim/mobile/contacts/editormore.cpp deleted file mode 100644 index b4d5bbb3..00000000 --- a/kdepim/mobile/contacts/editormore.cpp +++ /dev/null @@ -1,451 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "editormore.h" - -#include "contactmetadata_p.h" -#include "customfieldeditordialog.h" -#include "customfieldeditwidget.h" -#include "customfieldmanager_p.h" -#include "settings.h" -#include "ui_editormore.h" -#include "ui_editormore_categoriespage.h" -#include "ui_editormore_customfieldspage.h" -#include "ui_editormore_namepage.h" -#include "ui_editormore_internetpage.h" -#include "ui_editormore_personalpage.h" - -#include -#include - -#include - -#include - -#include -#include -#include -#include - -class EditorMore::Private -{ - EditorMore *const q; - - public: - explicit Private( EditorMore *parent ) : q( parent ) - { - mUi.setupUi( parent ); - - mMapper = new QSignalMapper( q ); - mMapper->setMapping( mUi.namePageButton, 0 ); - mMapper->setMapping( mUi.internetPageButton, 1 ); - mMapper->setMapping( mUi.personalPageButton, 2 ); - mMapper->setMapping( mUi.customFieldsPageButton, 3 ); - mMapper->setMapping( mUi.categoriesPageButton, 4 ); - - // tokoe: enable when ContactMetaData is part of public API - mUi.customFieldsPageButton->hide(); - - - QWidget *namePage = new QWidget; - mNamePage.setupUi( namePage ); - mNamePage.pronunciationTitle->hide(); // not editable, so don't confuse the user - mNamePage.pronunciationLabel->hide(); - - QWidget *internetPage = new QWidget; - mInternetPage.setupUi( internetPage ); - - QWidget *personalPage = new QWidget; - mPersonalPage.setupUi( personalPage ); - - QWidget *customFieldsPage = new QWidget; - mCustomFieldsPage.setupUi( customFieldsPage ); - - QWidget *categoriesPage = new QWidget; - mCategoriesPage.setupUi( categoriesPage ); - - mUi.pageWidget->insertWidget( 0, namePage ); - mUi.pageWidget->insertWidget( 1, internetPage ); - mUi.pageWidget->insertWidget( 2, personalPage ); - mUi.pageWidget->insertWidget( 3, customFieldsPage ); - mUi.pageWidget->insertWidget( 4, categoriesPage ); - - connect( mUi.namePageButton, SIGNAL(clicked()), - mMapper, SLOT(map()) ); - connect( mUi.internetPageButton, SIGNAL(clicked()), - mMapper, SLOT(map()) ); - connect( mUi.personalPageButton, SIGNAL(clicked()), - mMapper, SLOT(map()) ); - connect( mUi.customFieldsPageButton, SIGNAL(clicked()), - mMapper, SLOT(map()) ); - connect( mUi.categoriesPageButton, SIGNAL(clicked()), - mMapper, SLOT(map()) ); - connect( mMapper, SIGNAL(mapped(int)), - mUi.pageWidget, SLOT(setCurrentIndex(int)) ); - - mUi.pageWidget->setCurrentIndex( 0 ); - - connect( mNamePage.namePartsWidget, SIGNAL(nameChanged(KABC::Addressee)), - mNamePage.displayNameWidget, SLOT(changeName(KABC::Addressee)) ); - connect( mNamePage.namePartsWidget, SIGNAL(nameChanged(KABC::Addressee)), - q, SIGNAL(nameChanged(KABC::Addressee)) ); - connect( mNamePage.pronunciationLabel, SIGNAL(linkActivated(QString)), - q, SLOT(playPronunciation()) ); - - connect( mCustomFieldsPage.addCustomFieldButton, SIGNAL(clicked()), - q, SLOT(addCustomField()) ); - - connect( mCategoriesPage.categoriesButton, SIGNAL(clicked()), - q, SLOT(configureCategories()) ); - - mPersonalPage.birthdayDateEdit->setDate( QDate() ); - mPersonalPage.anniversaryDateEdit->setDate( QDate() ); - } - - void configureCategories() - { - CalendarSupport::CategoryConfig config( Settings::self(), 0 ); - - IncidenceEditorNG::CategoryDialog dlg( &config, 0 ); - dlg.setCategoryList( mCategories ); - dlg.setSelected( mCategories ); - if ( dlg.exec() ) { - mCategories = dlg.selectedCategories(); - mCategoriesPage.categoriesEdit->setText( mCategories.join( QLatin1String(", ") ) ); - } - } - - void playPronunciation() - { - if ( mContact.sound().data().isEmpty() ) - return; - - Phonon::MediaObject* player = Phonon::createPlayer( Phonon::NotificationCategory ); - QBuffer* soundData = new QBuffer( player ); - soundData->setData( mContact.sound().data() ); - player->setCurrentSource( soundData ); - player->setParent( q ); - connect( player, SIGNAL(finished()), player, SLOT(deleteLater()) ); - player->play(); - } - - void addCustomField() - { - CustomField field; - - // We use a Uuid as default key, so we won't have any duplicated keys, - // the user can still change it to something else in the editor dialog. - // Since the key only allows [A-Za-z0-9\-]*, we have to remove the curly - // braces as well. - QString key = QUuid::createUuid().toString(); - key.remove( QLatin1Char( '{' ) ); - key.remove( QLatin1Char( '}' ) ); - - field.setKey( key ); - - CustomFieldEditorDialog dlg; - dlg.setCustomField( field ); - - if ( dlg.exec() ) { - CustomFieldEditWidget *widget = new CustomFieldEditWidget; - widget->setCustomField( dlg.customField() ); - - mCustomFieldsPage.customFieldsLister->addWidget( widget ); - } - } - - public: - Ui::EditorMore mUi; - Ui::NamePage mNamePage; - Ui::InternetPage mInternetPage; - Ui::PersonalPage mPersonalPage; - Ui::CustomFieldsPage mCustomFieldsPage; - Ui::CategoriesPage mCategoriesPage; - QSignalMapper *mMapper; - - KABC::Addressee mContact; - CustomField::List mLocalCustomFields; - QStringList mCategories; -}; - -static QString loadCustom( const KABC::Addressee &contact, const QString &key ) -{ - return contact.custom( QLatin1String( "KADDRESSBOOK" ), key ); -} - -static void storeCustom( KABC::Addressee &contact, const QString &key, const QString &value ) -{ - if ( value.isEmpty() ) - contact.removeCustom( QLatin1String( "KADDRESSBOOK" ), key ); - else - contact.insertCustom( QLatin1String( "KADDRESSBOOK" ), key, value ); -} - -static void splitCustomField( const QString &str, QString &app, QString &name, QString &value ) -{ - const int colon = str.indexOf( QLatin1Char( ':' ) ); - if ( colon != -1 ) { - const QString tmp = str.left( colon ); - value = str.mid( colon + 1 ); - - const int dash = tmp.indexOf( QLatin1Char( '-' ) ); - if ( dash != -1 ) { - app = tmp.left( dash ); - name = tmp.mid( dash + 1 ); - } - } -} - - -EditorMore::EditorMore( QWidget *parent ) - : EditorBase( parent ), d( new Private( this ) ) -{ -} - -EditorMore::~EditorMore() -{ - delete d; -} - -void EditorMore::loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ) -{ - Q_UNUSED( metaData ); - - d->mContact = contact; - - // name page - d->mNamePage.nicknameLineEdit->setText( contact.nickName() ); - d->mNamePage.namePartsWidget->loadContact( contact ); - d->mNamePage.displayNameWidget->loadContact( contact ); - // tokoe: enable when ContactMetaData is part of public API - // d->mNamePage.displayNameWidget->setDisplayType( (DisplayNameEditWidget::DisplayType)metaData.displayNameMode() ); - const bool hasSound = !contact.sound().isEmpty(); - d->mNamePage.pronunciationTitle->setVisible( hasSound ); - d->mNamePage.pronunciationLabel->setVisible( hasSound ); - - // internet page - d->mInternetPage.urlLineEdit->setText( contact.url().url() ); - d->mInternetPage.blogLineEdit->setText( loadCustom( contact, QLatin1String( "BlogFeed" ) ) ); - d->mInternetPage.messagingLineEdit->setText( loadCustom( contact, QLatin1String( "X-IMAddress" ) ) ); - - // personal page - d->mPersonalPage.birthdayDateEdit->setDate( contact.birthday().date() ); - const QDate anniversary = QDate::fromString( loadCustom( contact, QLatin1String( "X-Anniversary" ) ), Qt::ISODate ); - d->mPersonalPage.anniversaryDateEdit->setDate( anniversary ); - d->mPersonalPage.partnerLineEdit->setText( loadCustom( contact, QLatin1String( "X-SpousesName" ) ) ); - - // tokoe: enable when ContactMetaData is part of public API - // loadCustomFields( contact, metaData ); - - // categories page - d->mCategories = contact.categories(); - d->mCategoriesPage.categoriesEdit->setText( d->mCategories.join( QLatin1String(", ") ) ); -} - -void EditorMore::loadCustomFields( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ) -{ - d->mLocalCustomFields.clear(); - foreach ( const QVariant &description, metaData.customFieldDescriptions() ) - d->mLocalCustomFields.append( CustomField::fromVariantMap( description.toMap(), CustomField::LocalScope ) ); - - CustomField::List externalCustomFields; - - CustomField::List globalCustomFields = CustomFieldManager::globalCustomFieldDescriptions(); - - const QStringList customs = contact.customs(); - foreach ( const QString &custom, customs ) { - - QString app, name, value; - splitCustomField( custom, app, name, value ); - - // skip all well-known fields that have separated editor widgets - if ( custom.startsWith( QLatin1String( "messaging/" ) ) ) // IM addresses - continue; - - if ( app == QLatin1String( "KADDRESSBOOK" ) ) { - static QSet blacklist; - if ( blacklist.isEmpty() ) { - blacklist << QLatin1String( "BlogFeed" ) - << QLatin1String( "X-IMAddress" ) - << QLatin1String( "X-Profession" ) - << QLatin1String( "X-Office" ) - << QLatin1String( "X-ManagersName" ) - << QLatin1String( "X-AssistantsName" ) - << QLatin1String( "X-Anniversary" ) - << QLatin1String( "X-SpousesName" ) - << QLatin1String( "X-Profession" ); - } - - if ( blacklist.contains( name ) ) // several KAddressBook specific fields - continue; - } - - // check whether it correspond to a local custom field - bool isLocalCustomField = false; - for ( int i = 0; i < d->mLocalCustomFields.count(); ++i ) { - if ( d->mLocalCustomFields[ i ].key() == name ) { - d->mLocalCustomFields[ i ].setValue( value ); - isLocalCustomField = true; - break; - } - } - - // check whether it correspond to a global custom field - bool isGlobalCustomField = false; - for ( int i = 0; i < globalCustomFields.count(); ++i ) { - if ( globalCustomFields[ i ].key() == name ) { - globalCustomFields[ i ].setValue( value ); - isGlobalCustomField = true; - break; - } - } - - // if not local and not global it must be external - if ( !isLocalCustomField && !isGlobalCustomField ) { - if ( app == QLatin1String( "KADDRESSBOOK" ) ) { - // however if it starts with our prefix it might be that this is an outdated - // global custom field, in this case treat it as local field of type text - CustomField customField( name, name, CustomField::TextType, CustomField::LocalScope ); - customField.setValue( value ); - - d->mLocalCustomFields << customField; - } else { - // it is really an external custom field - const QString key = app + QLatin1Char( '-' ) + name; - CustomField customField( key, key, CustomField::TextType, CustomField::ExternalScope ); - customField.setValue( value ); - - externalCustomFields << customField; - } - } - } - - const CustomField::List allCustomFields = CustomField::List() << d->mLocalCustomFields << globalCustomFields << externalCustomFields; - foreach ( const CustomField &customField, allCustomFields ) { - CustomFieldEditWidget *widget = new CustomFieldEditWidget; - widget->setCustomField( customField ); - d->mCustomFieldsPage.customFieldsLister->addWidget( widget ); - } -} - -void EditorMore::saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const -{ - Q_UNUSED( metaData ); - - // name page - contact.setNickName( d->mNamePage.nicknameLineEdit->text() ); - d->mNamePage.namePartsWidget->storeContact( contact ); - d->mNamePage.displayNameWidget->storeContact( contact ); - // tokoe: enable when ContactMetaData is part of public API - // metaData.setDisplayNameMode( d->mNamePage.displayNameWidget->displayType() ); - - // internet page - contact.setUrl( d->mInternetPage.urlLineEdit->text() ); - storeCustom( contact, QLatin1String( "BlogFeed" ), d->mInternetPage.blogLineEdit->text() ); - storeCustom( contact, QLatin1String( "X-IMAddress" ), d->mInternetPage.messagingLineEdit->text() ); - - // personal page - storeCustom( contact, QLatin1String( "X-SpousesName" ), d->mPersonalPage.partnerLineEdit->text() ); - contact.setBirthday( QDateTime( d->mPersonalPage.birthdayDateEdit->date(), QTime(), contact.birthday().timeSpec() ) ); - const QString anniversary = d->mPersonalPage.anniversaryDateEdit->date().toString( Qt::ISODate ); - storeCustom( contact, QLatin1String( "X-Anniversary" ), anniversary ); - - // tokoe: enable when ContactMetaData is part of public API - // saveCustomFields( contact, metaData ); - - // categories page - contact.setCategories( d->mCategories ); -} - -void EditorMore::saveCustomFields( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const -{ - CustomField::List customFields; - for ( int index = 0; index < d->mCustomFieldsPage.customFieldsLister->count(); ++index ) { - CustomFieldEditWidget *widget = qobject_cast( d->mCustomFieldsPage.customFieldsLister->widget( index ) ); - if ( widget ) - customFields.append( widget->customField() ); - } - - foreach ( const CustomField &customField, customFields ) { - // write back values for local and global scope, leave external untouched - if ( customField.scope() != CustomField::ExternalScope ) { - if ( !customField.value().isEmpty() ) - contact.insertCustom( QLatin1String( "KADDRESSBOOK" ), customField.key(), customField.value() ); - else - contact.removeCustom( QLatin1String( "KADDRESSBOOK" ), customField.key() ); - } - } - - // Now remove all fields that were available in loadContact (these are stored in mLocalCustomFields) - // but are not part of customFields now, which means they have been removed or renamed by the user - // in the editor dialog. - foreach ( const CustomField &oldCustomField, d->mLocalCustomFields ) { - if ( oldCustomField.scope() != CustomField::ExternalScope ) { - - bool fieldStillExists = false; - foreach ( const CustomField &newCustomField, customFields ) { - if ( newCustomField.scope() != CustomField::ExternalScope ) { - if ( newCustomField.key() == oldCustomField.key() ) { - fieldStillExists = true; - break; - } - } - } - - if ( !fieldStillExists ) - contact.removeCustom( QLatin1String( "KADDRESSBOOK" ), oldCustomField.key() ); - } - } - - // And store the global custom fields descriptions as well - CustomField::List globalCustomFields; - foreach ( const CustomField &customField, customFields ) { - if ( customField.scope() == CustomField::GlobalScope ) { - globalCustomFields << customField; - } - } - - // store global custom fields - CustomFieldManager::setGlobalCustomFieldDescriptions( globalCustomFields ); - - // store local custom fields - QVariantList descriptions; - foreach ( const CustomField &field, customFields ) { - if ( field.scope() == CustomField::LocalScope ) - descriptions.append( field.toVariantMap() ); - } - - metaData.setCustomFieldDescriptions( descriptions ); -} - -void EditorMore::updateOrganization( const QString &organization ) -{ - d->mNamePage.displayNameWidget->changeOrganization( organization ); -} - -void EditorMore::updateName( const KABC::Addressee &contact ) -{ - // this slot is called when the name has been changed in the 'General' page - blockSignals( true ); - d->mNamePage.namePartsWidget->loadContact( contact ); - d->mNamePage.displayNameWidget->changeName( contact ); - blockSignals( false ); -} - -#include "moc_editormore.cpp" diff --git a/kdepim/mobile/contacts/editormore.h b/kdepim/mobile/contacts/editormore.h deleted file mode 100644 index 58a1d9ab..00000000 --- a/kdepim/mobile/contacts/editormore.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EDITORMORE_H -#define EDITORMORE_H - -#include "editorbase.h" - -class EditorMore : public EditorBase -{ - Q_OBJECT - - public: - explicit EditorMore( QWidget *parent = 0 ); - - ~EditorMore(); - - void loadContact( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ); - void saveContact( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const; - - public Q_SLOTS: - void updateOrganization( const QString &organization ); - void updateName( const KABC::Addressee &contact ); - - Q_SIGNALS: - void nameChanged( const KABC::Addressee &contact ); - - private: - void loadCustomFields( const KABC::Addressee &contact, const Akonadi::ContactMetaData &metaData ); - void saveCustomFields( KABC::Addressee &contact, Akonadi::ContactMetaData &metaData ) const; - - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void playPronunciation() ) - Q_PRIVATE_SLOT( d, void addCustomField() ) - Q_PRIVATE_SLOT( d, void configureCategories() ) -}; - -#endif diff --git a/kdepim/mobile/contacts/editormore.ui b/kdepim/mobile/contacts/editormore.ui deleted file mode 100644 index 1ac02393..00000000 --- a/kdepim/mobile/contacts/editormore.ui +++ /dev/null @@ -1,86 +0,0 @@ - - - EditorMore - - - - 0 - 0 - 451 - 354 - - - - - - - - - Name - - - - - - - Internet - - - - - - - Personal - - - - - - - Custom Fields - - - - - - - Categories - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - QFrame::VLine - - - QFrame::Raised - - - - - - - - - - - - - - diff --git a/kdepim/mobile/contacts/editormore_categoriespage.ui b/kdepim/mobile/contacts/editormore_categoriespage.ui deleted file mode 100644 index 29410647..00000000 --- a/kdepim/mobile/contacts/editormore_categoriespage.ui +++ /dev/null @@ -1,75 +0,0 @@ - - - CategoriesPage - - - true - - - - 0 - 0 - 400 - 300 - - - - - - - Categories: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - false - - - - - - - ... - - - - - - - - - Qt::Vertical - - - - 20 - 225 - - - - - - - - - diff --git a/kdepim/mobile/contacts/editormore_customfieldspage.ui b/kdepim/mobile/contacts/editormore_customfieldspage.ui deleted file mode 100644 index 9b1462f6..00000000 --- a/kdepim/mobile/contacts/editormore_customfieldspage.ui +++ /dev/null @@ -1,66 +0,0 @@ - - - CustomFieldsPage - - - - 0 - 0 - 400 - 300 - - - - - - - - - - - - Add new custom field - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 229 - - - - - - - - - KWidgetLister - QWidget -
kwidgetlister.h
- 1 -
-
- - -
diff --git a/kdepim/mobile/contacts/editormore_internetpage.ui b/kdepim/mobile/contacts/editormore_internetpage.ui deleted file mode 100644 index 6b1add26..00000000 --- a/kdepim/mobile/contacts/editormore_internetpage.ui +++ /dev/null @@ -1,121 +0,0 @@ - - - InternetPage - - - - 0 - 0 - 375 - 197 - - - - - - - Homepage: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Blog: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Messaging: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 36 - - - - - - - - - diff --git a/kdepim/mobile/contacts/editormore_namepage.ui b/kdepim/mobile/contacts/editormore_namepage.ui deleted file mode 100644 index ee4af138..00000000 --- a/kdepim/mobile/contacts/editormore_namepage.ui +++ /dev/null @@ -1,175 +0,0 @@ - - - NamePage - - - - 0 - 0 - 400 - 300 - - - - - - - Nickname: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Name parts: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Display name as: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Pronunciation: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - <a href="play://name">Listen to Name</a> - - - Qt::RichText - - - Qt::TextBrowserInteraction - - - - - - - - - Qt::Vertical - - - - 20 - 104 - - - - - - - - - NamePartsEditWidget - QWidget -
namepartseditwidget.h
- 1 -
- - DisplayNameEditWidget - QWidget -
displaynameeditwidget.h
- 1 -
-
- - -
diff --git a/kdepim/mobile/contacts/editormore_personalpage.ui b/kdepim/mobile/contacts/editormore_personalpage.ui deleted file mode 100644 index b22deda5..00000000 --- a/kdepim/mobile/contacts/editormore_personalpage.ui +++ /dev/null @@ -1,128 +0,0 @@ - - - PersonalPage - - - - 0 - 0 - 400 - 300 - - - - - - - Birthday: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Anniversary (Wedding): - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Partner's name: - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 15 - 20 - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 139 - - - - - - - - - KDateComboBox - QComboBox -
kdatecombobox.h
-
-
- - -
diff --git a/kdepim/mobile/contacts/hi48-apps-kaddressbook-mobile.png b/kdepim/mobile/contacts/hi48-apps-kaddressbook-mobile.png deleted file mode 100644 index 78fc562498807a2d23c2d434c479e360c6a7282b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3157 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 - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "imagewidget.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -/** - * @short Small helper class to load image from network - */ -class ImageLoader -{ - public: - ImageLoader( QWidget *parent = 0 ); - - QImage loadImage( const KUrl &url, bool *ok ); - - private: - QImage mImage; - QWidget *mParent; -}; - - -ImageLoader::ImageLoader( QWidget *parent ) - : mParent( parent ) -{ -} - -QImage ImageLoader::loadImage( const KUrl &url, bool *ok ) -{ - QImage image; - QString tempFile; - - if ( url.isEmpty() ) - return image; - - (*ok) = false; - - if ( url.isLocalFile() ) { - if ( image.load( url.toLocalFile() ) ) { - (*ok) = true; - } - } else if ( KIO::NetAccess::download( url, tempFile, mParent ) ) { - if ( image.load( tempFile ) ) { - (*ok) = true; - } - KIO::NetAccess::removeTempFile( tempFile ); - } - - if ( !(*ok) ) { - // image does not exist (any more) - KMessageBox::sorry( mParent, i18n( "This contact's image cannot be found." ) ); - return image; - } - - QPixmap pixmap = QPixmap::fromImage( image ); - - image = KPixmapRegionSelectorDialog::getSelectedImage( pixmap, 100, 140, mParent ); - - if ( image.isNull() ) { - (*ok) = false; - return image; - } - - if ( image.height() != 140 || image.width() != 100 ) { - if ( image.height() > image.width() ) - image = image.scaledToHeight( 140 ); - else - image = image.scaledToWidth( 100 ); - } - - (*ok) = true; - - return image; -} - - - -ImageWidget::ImageWidget( QWidget *parent ) - : QPushButton( parent ), - mType( Photo ), - mHasImage( false ), - mReadOnly( false ), - mImageLoader( 0 ) -{ - setAcceptDrops( true ); - - setIconSize( QSize( 100, 130 ) ); - setFixedSize( QSize( 120, 160 ) ); - - connect( this, SIGNAL(clicked()), SLOT(changeImage()) ); - - updateView(); -} - -ImageWidget::ImageWidget( Type type, QWidget *parent ) - : QPushButton( parent ), - mHasImage( false ), - mReadOnly( false ), - mImageLoader( 0 ) -{ - setAcceptDrops( true ); - - setIconSize( QSize( 100, 130 ) ); - setFixedSize( QSize( 120, 160 ) ); - - connect( this, SIGNAL(clicked()), SLOT(changeImage()) ); - - setType( type ); - - updateView(); -} - -ImageWidget::~ImageWidget() -{ - delete mImageLoader; -} - -void ImageWidget::setType( Type type ) -{ - mType = type; - - if ( mType == Photo ) - setToolTip( i18n( "The photo of the contact (click to change)" ) ); - else - setToolTip( i18n( "The logo of the company (click to change)" ) ); - - updateView(); -} - -void ImageWidget::loadContact( const KABC::Addressee &contact ) -{ - const KABC::Picture picture = (mType == Photo ? contact.photo() : contact.logo()); - if ( picture.isIntern() && !picture.data().isNull() ) { - mHasImage = true; - mImage = picture.data(); - } - - updateView(); -} - -void ImageWidget::storeContact( KABC::Addressee &contact ) const -{ - if ( mType == Photo ) - contact.setPhoto( mImage ); - else - contact.setLogo( mImage ); -} - -void ImageWidget::setReadOnly( bool readOnly ) -{ - mReadOnly = readOnly; -} - -void ImageWidget::updateView() -{ - if ( mHasImage ) { - setIcon( QPixmap::fromImage( mImage ) ); - } else { - if ( mType == Photo ) - setIcon( KIcon( QLatin1String( "user-identity" ) ) ); - else - setIcon( KIcon( QLatin1String( "image-x-generic" ) ) ); - } -} - -#ifndef QT_NO_DRAGANDDROP -void ImageWidget::dragEnterEvent( QDragEnterEvent *event ) -{ - const QMimeData *mimeData = event->mimeData(); - event->setAccepted( mimeData->hasImage() || mimeData->hasUrls() ); -} - -void ImageWidget::dropEvent( QDropEvent *event ) -{ - if ( mReadOnly ) - return; - - const QMimeData *mimeData = event->mimeData(); - if ( mimeData->hasImage() ) { - mImage = qvariant_cast(mimeData->imageData()); - mHasImage = true; - updateView(); - } - - const KUrl::List urls = KUrl::List::fromMimeData( mimeData ); - if ( urls.isEmpty() ) { // oops, no data - event->setAccepted( false ); - } else { - bool ok = false; - const QImage image = imageLoader()->loadImage( urls.first(), &ok ); - if ( ok ) { - mImage = image; - mHasImage = true; - updateView(); - } - } -} -#endif - -void ImageWidget::mousePressEvent( QMouseEvent *event ) -{ - mDragStartPos = event->pos(); - QPushButton::mousePressEvent( event ); -} - -void ImageWidget::mouseMoveEvent( QMouseEvent *event ) -{ -#ifndef QT_NO_DRAGANDDROP - if ( (event->buttons() & Qt::LeftButton) && - (event->pos() - mDragStartPos).manhattanLength() > KGlobalSettings::dndEventDelay() ) { - - if ( mHasImage ) { - QDrag *drag = new QDrag( this ); - drag->setMimeData( new QMimeData() ); - drag->mimeData()->setImageData( mImage ); - drag->start(); - } - } -#endif -} - -#ifndef QT_NO_CONTEXTMENU -void ImageWidget::contextMenuEvent( QContextMenuEvent *event ) -{ - QMenu menu; - - if ( mType == Photo ) { - if ( !mReadOnly ) - menu.addAction( i18n( "Change photo..." ), this, SLOT(changeImage()) ); - - if ( mHasImage ) { - menu.addAction( i18n( "Save photo..." ), this, SLOT(saveImage()) ); - - if ( !mReadOnly ) - menu.addAction( i18n( "Remove photo" ), this, SLOT(deleteImage()) ); - } - } else { - if ( !mReadOnly ) - menu.addAction( i18n( "Change logo..." ), this, SLOT(changeImage()) ); - - if ( mHasImage ) { - menu.addAction( i18n( "Save logo..." ), this, SLOT(saveImage()) ); - - if ( !mReadOnly ) - menu.addAction( i18n( "Remove logo" ), this, SLOT(deleteImage()) ); - } - } - - menu.exec( event->globalPos() ); -} -#endif - -void ImageWidget::changeImage() -{ - if ( mReadOnly ) - return; - - const KUrl url = KFileDialog::getOpenUrl( QString(), KImageIO::pattern(), 0 ); - if ( url.isValid() ) { - bool ok = false; - const QImage image = imageLoader()->loadImage( url, &ok ); - if ( ok ) { - mImage = image; - mHasImage = true; - updateView(); - } - } -} - -void ImageWidget::saveImage() -{ - const QString fileName = KFileDialog::getSaveFileName( KUrl(), KImageIO::pattern(), 0 ); - if ( !fileName.isEmpty() ) - mImage.save( fileName ); -} - -void ImageWidget::deleteImage() -{ - mHasImage = false; - mImage = QImage(); - updateView(); -} - -ImageLoader* ImageWidget::imageLoader() -{ - if ( !mImageLoader ) - mImageLoader = new ImageLoader; - - return mImageLoader; -} - diff --git a/kdepim/mobile/contacts/imagewidget.h b/kdepim/mobile/contacts/imagewidget.h deleted file mode 100644 index 2d72b2d0..00000000 --- a/kdepim/mobile/contacts/imagewidget.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2009 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef IMAGEWIDGET_H -#define IMAGEWIDGET_H - -#include -#include - -namespace KABC -{ -class Addressee; -} - -class ImageLoader; - -class ImageWidget : public QPushButton -{ - Q_OBJECT - - public: - enum Type { - Photo, - Logo - }; - - explicit ImageWidget( QWidget *parent = 0 ); - explicit ImageWidget( Type type, QWidget *parent = 0 ); - ~ImageWidget(); - - void setType( Type type ); - - void loadContact( const KABC::Addressee &contact ); - void storeContact( KABC::Addressee &contact ) const; - - void setReadOnly( bool readOnly ); - - protected: -#ifndef QT_NO_DRAGANDDROP - // image drop handling - virtual void dragEnterEvent( QDragEnterEvent* ); - virtual void dropEvent( QDropEvent* ); -#endif - - // image drag handling - virtual void mousePressEvent( QMouseEvent* ); - virtual void mouseMoveEvent( QMouseEvent* ); - -#ifndef QT_NO_CONTEXTMENU - // context menu handling - virtual void contextMenuEvent( QContextMenuEvent* ); -#endif - - private Q_SLOTS: - void updateView(); - - void changeImage(); - void saveImage(); - void deleteImage(); - - private: - ImageLoader *imageLoader(); - - Type mType; - QImage mImage; - bool mHasImage; - bool mReadOnly; - - QPoint mDragStartPos; - ImageLoader *mImageLoader; -}; - -#endif diff --git a/kdepim/mobile/contacts/kaddressbook-mobile-background.png b/kdepim/mobile/contacts/kaddressbook-mobile-background.png deleted file mode 100644 index 183b4a703c06a7a32d44eccec9e3d7d03b37f48c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620119 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 z 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 iw+0dkSVJK=_X9i@`b58J)TO9cX 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ⓈB2&E3a#YgM(y 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%0Dz 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
j%Q6N;R%={lvb&Impy<5_)We~e~G^DB~*ExE$ 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

RftC$Q5&78Ueq8c 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 z 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 z zi`JTWyLE|w(1rK$Zn8+It@GFn{Ho}x05)>#p8~GL0;Kq1FBfl~@e?c-rze@j^JdT_ z=rBXIY?2vzzm5(PuAOM{j!g%I!)y>4Thw7F!0Y7-KY1>?;n;L?x36(Kdh7Iz49xSD z#u^@dgqZ)>CbYzM5~q`+S_d(E%>v`ve-Dy*bhhPoK(Y=hrS#_+s7ZtIebTGyb6ZRGrw-H2ILzuk)PQd6&?XjkCQ+G zs=cAjSC+11oRTsXhVl4hAk{|g-kXN-aM~7M%g~t3C07ElG9717ZGQ+JbZFUm?K~@3 zU+<#noGJTzFJSp5d@Ko&n=8;L?_%$!*kHw5wyxq?#PnfX7YvJ~f}%+%`Hz6<#BP_Y zdBZYjh080r;gHAD}FZ+lYJFn<)&alI_09Qz&^c#G#*D$Y1t{QuF7wx)l94<*ki$NQ%0Xvbz788u~L{zQhWJj)?ZJx zy3N{^&W-BAA*8FF5WpIxNW_|-yre6Izk=R;4hoqM8+W{reFx<2(<+ET- z6F?!~(|UYefs7&hPaj!fPy$Xk^5Z5ZAmiMqd5Zz}_9hGWYAW=TY1e=l##lHP{s_g> z%jMmwsXeC!#d;Aa7EJ*E$F46Jr?}3we=;Oi(oJBBReLG~Tv-u{#yW>}D{(_0W)8d|g|4%_jqRM(QDsW!Q|eos8uWN{P$@&PaXTe9Y%lD%8EBjSq8 zB1w5zrv+@0?@L&k+oQ>P>s@MBs0|EbpMo1`!@8>H+Fm&tSqR%{<>s=H1duQYpxSdK zrqH2eSLReRwoZ_&Ml>m~FkDiOPtIh;JD=9I0pnCGsT4HT!lD}}Uo%4*QtPn-t7|L~BsbB>vHoRN#eqag{GpCor0T%+q>P#cMihz3#!5}LldF0*~-lS*Qe z3VKW^WVT&d%ZM|`)Es}$2~WPI+4ZX&ypDTCuG9Rbd(-3l$-gdls|HaDam(&w^MZ&m zzl+N^FLBxUXErpgn2Z<0lz`VL8lFxm>*9KWO(B1pCrnnkzzMXKi!MwsBwH@(O%**w zPG>q`H4)K%EHSkZ@e~|=d=llEuQK0vDyr%&!l7N#c8S&TK})x*HEh>3ZU21&Pj8B156Ey9O>*4^pQXpO95N-ys@ zC5T`sOw#rb2<|`e9e(m1bZ#^Hn6wY(qBjCRJ%qa3*~c(yb|E0_a;4qS(rfseX8vjT z6ydscX--=clP+XSsk=V=#a#yX&6+R={4hY`O@-&YgC&{)@F6F&-Vn54_Of{?c3e8? zB2sr8M+$8=`ylVJ+OMj?)hTr_FZ3#Y`RD_P<>|^V>mFi%@VgIt-~I3`Mdt3$R<~vD zoUu10c?Q~$R0k5atQHW|hWp!lyp=Ul?NL^@!uaN)0T!dxgL-2Z3lH+A)nV`F!uG6v zKNAtpG@M;o@~L>5W774x`9CoclQ%)YOVoUSGko%)RX<_O2Q2Os;8#ihK_7-I;eaT0 z3ykqh(%ts?m}(MK@tyEVCNDEq^F%;sVjgGzGRIDGL7_2T49!|+g|wzZ$?*4gI=r!F zjc61-F;lqB?{ptsE|fqraG*JU^IROehQK2cd+M%(ihE=WS*BzqK4xvDlyR3IIAJG5 zX#Cx`pL6&I2~;iyRP9sP_azI~aIQ%m!=OpKblTz?3GQV|VANPZt`LAHr+mE*h^%K`ybzmv zH?<>6s@Vx?J^^d9I|Bvz;bBf7DJ^Mhp-;>w1$eDtrl+lzxO20Q*>BX$Z(IN)5G|7W zfom9ZFdJvae%$}NZU(`!S#5IylF37o9pq@K+EOEgbdqd}fy$@1)N<-!@TYwbz`IZ=A>4f)JKGNoBMyhEuZt9E*$jo4|{+fuG zJ@WA(tTqElld!;IF}6%mg!2NCR1q%(Zv(g&1d7Cxa`*tKbxn?XyK@qoy%}XAGr5*zZ<@Zb{UGJu@tGkQlq^SfhrhPm{+8T3GG9|tzi%ptLv~gv! zrbM>x(l!m3R?7p2S`aZ^XSb4h8 zXn(=Td3^Ke%CHOEOlk7Dh2W{j)5_|%_vr-65IlrFljxVLqGv(1!tA7lD#Yxtq_mGl zT;Z@pg$2D8Dc%+`)JqNArc+h_W!>HzA z#mvDy?eS6^OQ~mA947ZA_;V61Us;nQWu^rmvN|-39`u5xJxe+~S_Qe|QhZ=P-S|+m zvUZrroO+c5_<6!@1i>{)w?j;L%AXN~w4moJ1#4><3@QtUNS{)T5Ao zKZG+m#(?)_WpYp-)~%jQN+Yvw0=`-8z&}2VO2y0J1kRb+eq?f)oKF~#os`q>uY}nB zJVbWnhFeTUkT|}&0Pi~?D|W;@2~r+r#Th=nfvV$da8T2<=pmm zLO%pl(WeiQv4bfMVuUZ`q|~{s5xBV?U}m|!Vo+EO|0S-y$4*jvFVp!?(uTq&MoX|c zVfhlgRH#lUsKt~N{i!D!IEPo?thL9K-iltxi{lG>=HPZhV9pDQStcqYwi|JgHVOg) zEHw(c8XFO7q=YUB_Uc*uPV#YXB@c5lOh&f5Q+^pFl_M!-axmB2X$lv|CrGy3q@TbB7f=(XkN+kom9H$}7Y2=vwaTzE z3}mco>;VL+$#ey0u4#vr1r!M!r$Htt=CawYeSMUDYWMg9l|VpVm^ws|;#R8pnrcC8 z+v}UNQ7l1ZDgDr10Q05TM~5)t4fl?8n%=b%Hm_G)M38+XTRMVRpb!s%CtvQBseCL^ zm;6Nugranp<6Dyzvzu=$&n`1yG5wQmLrB15zI>c9Zy<`IH@=z?)AL55aTdKWRT4KK z{IJLtk{QAr>Ygvrqrc||IiiB|@&Xv?#G~ZH}D#Fu1eB>pipsr5?|JY}LsZ|9NVmlLdlTD3vSKIVeo z-wp;d)DSMD2X8zED-Zks0>cr(&Uoi~M7VMD!&#^j=gD%qY6Mrv^ey+-0ZIf)PG&!j z;$lB!=;}RmgMom7c3rremWTwt8%q!?76s^>@zQ$)jR$Q zxW8Y{^{q(0yZa#=e=qCQfGPC4Vzv`Kavo;Z(QXq>fh3NPPww-k2i!Xr43jlDb}!5_ z6{*oz5e^W?@bgLP>}o%;L=rWr+k3<(nLRrm3RG{E@G7%p=-H{u^1>MBcqSvXSS+Eb z$KIbEB_dAe6be$_+6@r)+H<`n`kxk{Uo0`;t^yKv+ORpUJs5SzHLYU=VjzMp3<*R) z7#H(tP%Z)6m6O_hdtLpiBA)WJRWUW|-K81cPhjlhw#Fu*ldIA{+~d)#P${JuK{zD$ zeYF168*9F;?)U4TISKCr1EOrdB#k-5pecYd2e(uf5O~OTk$@FetLD}qVX;ifQ!xI1 zRs7$aAN2Z%020Ra^cI4gNHlX579^wO*Q-ufwTy4_GsS+L)$YjML}O z;jMxl{yqa7+rMxDcMf7=h03^Nycg znT9w8$_{#IruK}Ci*+p1QjW~6N|f zam4SAh*2MQ>67d5=ceos%}K{c;u|EU7zLtg%ZRE&!|IevWkVof7F4-Ed3h=L_vUr* z<9c$Z1@G9YpB+2lJX>!#kJ`jX`WFIRa=mNPaf9=~-~|VMEOwRIRdg+2Lsd$rQZKG4 zXk}$(;H41Y$*`8<@a)@LQp1re7gkYZcVDJ~R|M}Qb@>wC+;<&NF>B1@Z|Ce$H=M=W z`)g-Zo1??r-lepkGG6-W@Z;9qonq=R%!pfh!M(%wg`j{{Rl|-e)nl$jQ_1v8gFPEy z=9#D|uD(`bbFt;VSWA?Y`V_@IqO0H#xV)y#wSP`iPJVjx!JB*BVWP&)gPyRnnd?(O z!DLGxF$DIAqK2O~pwap;zx#&QQ4a;A5YfHoSA(eZLoGJSaxBU#YyROvhfHVZ9(e8#J6Pu(UxYU)6yeb$@%DOyRxBy3Zt9?cJrIoC&rRYO))nKdC5<}5@^)PksoGk z7&`5Mp1jABH3@({K8;~>Ve`SUGaefjjF0bPc~OOdYDC`692MIYvVuHoq&Fp)zRTx2bZ#CNoCRq!FpZ=@o|+Q>ZZdpT zJ?fdl_I;52(GKJ^&9!Vo)5}>IVyTU+u8`STj5J1>ycpP>xHi-DZ1s?p4I0>zyqS1{ z^GdnSw)U8iHWys;YTQ-KR+mHCfPQCWtW~g@9~fx*3<+rhiyWM12r%jLK~N!xG5J>S zNyDTr_~+&Wu31K|=HrwA+bNV7Rsl%2mil&kPXDVSUk+K{@pIzW*zmMa$RSqQEZxM~ zr8K%c1K)7|smrlGN=1G-cO*HU2--D-+#i!gsw^OpJPClSa^;wcV!T;t;C*}_5g++{5+}*b6 zZRz`?tyC6l6B1L7sPn!XL-`)A^yPd9N{J1nn4ik+W{Rft(*lYDaa?jZ5Xs4{+O{eV zGwv0iPgdysnrYxDq>tNd%bK|q37^>H`mSDa=?FyaT>W64n z@qiHC_G9{f19oX!#t&(bLJEIG7-PW-8dGu^Zg zR`5(Qd z!*Zw3pa#Z&%SZyb1gtBRX-Avt2v7h@)~3+i~l?R`1- z@Q2a3AS>Vc!Q>_d>6TMu#oS*I^c0hzM0``6f&U-7_v!-=~(vB z*O!HidG}5UYVJh_4*Dhaape0n&K&vC6MGZ{evo?XQx^4hwP4A?Bdg;27x1ZXgD(LA zd7W#5p8pJ4W2daAh#my>AV9mPoTO}@Fv@2A;U6iRP=BJEC2Z9j6zv!!EwnW?rJC`V{J4U@W3i4G4so;D0q5}-f^l~mpG#!q3ZGPkDa!bq=twtp*|B9J zpm;hAjp`inEaf0h-My0B%tCk|knz(XVZs>SXIM28&`?=GiDEZNXIO!$*|)K9RPDQD zrtb%qnZ|k2H!Ac6lje+!ze8NEBI$ut_xB^=FwI?u^^HbGuaQjleNheM5yfTr&6)Wm zHc6|tum6`6zlAyP^RZb*ky^M2oRRdcfg}#9>`g&HANZw-vN6+Muh3Rp7}t?ygwwX< ztDc=U0)>usDtY7v#2{-vq>77OW$A*?#2H?H(us!;ux)iSQF;zv!|V+W71x^Clwdk3 z)7G}=vH&)$%pvP85l#gw~;@igYl2WLIfUD{@3bfGWn`jc##df_pPszQZ z;jo_1ee(in_$j#Z{bBD*NAH7boFM%2ikI-Jz{1(y)X9^{9}YaykX&FbtC#r*g#Vr2 zMnH4UPu7grMPk0>RY;J*On4%Dt!Kdd?EGxjng5ao7Z6~Qm~AS%mU=21?&Lt6#$f2X zVg%agQw@sg7~I*n2iy~K=!l8G-2Pm_5&)v*^ z=?CQj9_F-ca&eJk+~v=0&mTN0MS&WanSGp$gr2)cV*!{h-abEZ;&6TRuuEa>lo@-* za~`{VOo9z|I*W`%%8pe)wdRuE7W|gjKl2UHAJASCmat2C9~y{)*c0?1w z|0=&Fg}4sw*GIHjHISbKEd?yI(R=v zJIW9AQQ%GGfq5cE7v1)$DVsn>(qh3V@0T6110x1o?jDkF^9FuFqYg*^O&^%!c3F$J z#oy9J{9@|goXa@n1GZ{=lMNt4lR6-5@7*^`&##uiprAUyROxU^Zc)&pv4Wkn8puh8 z9Z!9sT?Br{Ku_Icu$Ax@`yp6&13oiJDnDsu7rifw(o< zW3wm4I0n9GV;zE7Nkh$ZTgtW=$|z>@B)Mz<%Ytt|pDMm#1-n!XZ3?+pLX(&yiaG+( z?J2*l%Eb3#YlpQpU?ug>v}rtJ?;t+X&r@-bVGf45w~~bVH8Pa3PbLN-l)TtYVi7g< zqN`nbt(EN(UClq2^)_jyv8&oJmqVQIGihZzbyyOPYd|3d5hI8TGRq#Zv=Ufdf2xzo z+@4n_b*#BS-@8t5xn5X-sWzez4=K!*=%TJI=j(=mpe6^=6r+?gVpr?HWToHs7phsO z+BUS0b_t|qI&Q=dNH+fuQtDCL9a-dq>WBpLMzV4E=<86 zL~x;D$>cn_QAQmW(nLn4-~BKM%~T0-)o3`vlBH;j{Zab+wQC`*0|fO7fQ00>Co4GY zoV=xIdJ`&QjSY~N`FOFLmvX5IJ|7%JGDv$l0@z9^O&9JWRbv#cQ@~z26F}i8xA3OH zcmkgT8$~vTkMRu)4&`26yWwqIXeiyRDR~6LMRUYH&BfzPQ3E`W5*>cC)nWlRt7LOT zf=A@$@@N`cW|%Z|@I|%XJoQnZ_k5~I%fje6l^zh$FO9=|Qd6;do6))NXP7lcDU}ee zX7!0}=w{`VE$%fi!oSTsh@{7O_r*$hp#LU_3e2aA7uEjgx8a1OHgtqw*Ni7 zd8wL1^OTrdq5L!9redbUL>rl@y8cS7WuB?+KBuJ&78!eK{v`lC;JrQDVzQ6NVPf1+ zAP8c))y!fRC*k&66VwhKS0-vsaMWcgJ@{>Jw)0T<{Nx20m%ebs`l7h})!y*!Xs(V+ zBANZRA|WhcHv_PI*q0#i!`?Fo9GbX@S4HA=#!%zBsETq#DVv7A-uIR}qB)=E%@S<( zjy&=G9OaR^2n3&=I4EDF!kUdDYzw?*GfBFLiSY;cW+&Au8q?Fe=0-FY*OQO%Yu)@x6w4i2u2|wL2m7TK`iga zT3Ea&@4CyY0)qph;M5gsCmP=5E~(A+_rbj|hLkkRCW@fHLng|bbt-5D&+h4s>gL(N z7;dX{CH^- zqF;NMAQY_jenFLReM?;vSoVEs%7Mtm>sT6{!WDW9Zzhh2h8*7QDBRT1!BiYSi|&2J z(8@|yw<%`-w$l$NQkv|FYRm!d{Xu`*NobYf=2JxAH`Hc1JasGPVp5_24#v4{z+Kzn z=XF3LG&iHdXo<8UH4IJ`T)9Uli;n&r4rbk|Cko4DL7Hg%F-9p*onxqUhh~3WY^Un^ ze5-{%KVg10tWY)1HF@~?5ODMrVGrM=0BSq6Wcw+2??n~zVN z+hVdrteqP?PDg4TI?dlWCXl3hJywoUzpfVscPyEWOZGnBV*@$sWov$^KYZOriAN)t zIkB}WPtzItD;x&(jUh64-Kn3Cl;De9)lFupH(D2ra{tEsxrnVYQU5cDt=N3~VNDSb zDMev>=JE0m5Xa(m0Y)d<;9s_dx~Jlee4xUBn1nj{P=H8D&qc-I56vun*)jB z9~%n-MbI<>V-_2;)7tlDM-DllI?Mm{5P%q|thwIG7#dZ-cUlPf=yN`kl7e9THZ=Cp-5(?C`Jn`w@=0 z$wr)?Av5O-hos1pjX&z;DIx>jO!_*~C<~-hBkzmX-X<^>A+KM1u_8C~gT7GT1p%wM z2L=qJfya9W%AhBL1u=ko`p54>x_xMpJrAFMWmqv1cyhUMrmBMwK{%ls71fFQIwcL7 zos((T8RB86)~%#Vwi|2v1q_{9zPdD5#_-Bq!QBZ7eIEeAn5UYQnnH;RC;kxZ4u%hM zOtT4&OH7=;)yBz0jYkBl_lP5kB3MtgjUB(bGhB-*`%_r?j8YBn8^jSWDrW$h*3UWG zSg{zY&IYN;mtO}=!z5r_&Icy~pXks8Zdw$&UCe_z2G~j~BB(<^4D(i&h6kgxXe2$( zb;BpVk;3UreqRcgJ}6clm{L1#5|VnD(tiBw+}3{=s2A(JzI-au#1Ete|JwifBKX-m z@On##29^zC{|im3C~?aztMCvpuM@0a}GhQM4Fw#BUXvGA+niHIcP zAW!@E=Y>>&2z3Ab&?zhr66V#rx%E(3|5mZ`^g(DV1=48|H)OzC*dfHC5OrvpDO(2c z%N>`V4SlL3n{V07qyqnam6TMm@CT+)Seqr4*W~tZ{15JpK6<3K#KdZ_(ds>p4fz++ znG!4r0fVSNzOQSII3F*Ld2<^B;2vk+Z-~$kHL>KJafXY|3%!}GfaP!xt1G4tR~)0s zPWtZk-6g(rrt1&D`g`|EG!I8<0nAQmldGZ)P{Xu5Hg!o_-_nfgCRTgJO!jjrF;jJO znLV!H0+L5AeX3Z08#@7Ri{MoX%Nf>b@sdqeqc`&a&@q9_+@{TJ=kQQbR3G4f-F!$A z()3+tc~XR_Ybbp~jDzq}ugZPO-QC!5yw z>Bmik#GM#mUcHHs~iNiX*0<=h5RQUxh6O)Hhl`kxXRZnO=5DE?DPd}7P&(39C znvGpL417B%Kq|~=159QQUvoidhR^axLCG{P=hDxPj4^zB#|xG4s?S*ekFC5)0Ej=6 z4ZR5eVgGM0uH)Tb@6v4z#AhW^UCZb7n&*|)4w zHU_=xe0YlpV(v-X27B+Dmk2J34#vOs46dzlf{StogAagcX11zi8`7*})4@;Rf45_^ zHo1_mK@vsY#Dr0Vssc=<%O);cV0_1oC~UK3vv|P&z~L-}F-3oD8fBVp*o!%HR zRiLn0;#Rj0jTy)uq$JPqMYP`GEg-)X+S)IADMhp%6#KPzhYFP)UuAgMFXPLsEAoFv zkpOzKtIaprDEdaso398L{GDb&P6jTqb1!?xdTP zRsHi|XEb^2GCw{5h7<+X^ewFHd|0>}TKg$iUaJbTMtldBg4n!V!as(NMqYE6Z+Qm{ zcE`ZeHW*-n=y5k0QQBzCUQw~U=@-gu`709GF0Uk`Cu{uxFC`bDCTSMOX_QXRZ%9SN zW!H!h(U@$z)7rFA@4hFE>fcF$T_D3sTc}egUf%cy6;BZF6mzs2foHLWVtkW{8&LygiYCLX?96nQ`~H&%rMr>2NLfHQ=cE-#g9`Q zs((BB_f!V+Lye<*M#E4qTj}xS-N+p9*bDY4$rkDDA#wE{U&xsBO8kFTK!(JURnij5 z^+3cIl5b9d`4QE5Bzip~dH(9JLT1jXorJF1)Zv@}#|lio_~Gx#*_D*b{(OxT_k@Ml zkZfB?;027lgwg!c#ArTC);VH5{mBH8m=oQ*ViBkgTkoc!p`oKXAt7j43t{aiTebL` z*nHa9`JM+|h(RmJEup3{LxwB3!rTD)*IDJ;_CYUyJfZ{aPW*W5WR3HVJVD!vl^22R zUJFTj=pGB1}9^CR8+}) zu%#?5zOp3F5SRK3ADK7H^cGmZiM^0q^<(8GbHKiM%SO^_*yP+YWJ2fgHJD*Qsf4~k>4O0c|YE>D(=Xnh!NnH^^can6?ocG!CXJJt z>c6=OQ)`l#RX<%tgoX~) z_c2=bKhUO0gGgLd#_!dA1y|_GL1VU$q6ZFxTr7%w8fU7~)8plvv53*4{cB(Q!v)&_ zE&6ETqY9gOTsK|N>P84p8U5M$an>7gYp#)I8S1*ILG(0Gzd*R&=ww(J@i5nf0js0r z)MW&4g#mwv_VS9Jy`LoKG2Y#;R!{y_9Y+P4qrGg(5CNrkmXD;7?X|^7uX0nKX)DK@S2zuPHENVus`$l(<0R#1S zVl=c2?vD?W($dFKw!Le%xnc>;HU2?`fUmuzzWP^DB`POgx{E)NYeIS5k#qT)n}D-) zx5Uk35+G~0>irlFr(W?adrT;0qn}OAz24&M8^x#FYEdY)qjC79FO!>sj|o0|MJF9R zuon=z5B>fwI08X(C|ffa92$Qn@-54aAGZ}m4(VW~@85f@kg7s$bxTY`8CW~L$D@-D zj3D?>W&<$rEH@e8@7KFPn0tcWZlB?+zF*4|H?D4>5jFD9O+-GHf`$LeG$Z;L*&0IF zpiM!} zV2cx;?mjX5Hku};iy57reB2yriV@m7)pDPO6D>LKT?q2qk;$Q7KchH^Rh|=%7E^69 ztDAebF)x;wy^jjXM4Ak%KjBMc!cm_e%KPqDfJYAOt)t?`@#&=JDECskg|zg9z(SmH zGyrU20lag(!kd0Aoc5^JIDaYd=~M!52U|B&h^@vv48cS>`%1V-w3#qAQbSZztt0I| zN@pt*iKSANSw`|RWoZnSD*VPdNg>khPlfGk0x&)&E#I{a@|aJgvev#6)u>KY4k zflW*_cETXpv&-Ck$ck3|Txd7PxS`}Wf0P$}!o@Un$b@S>fz$f3lm3dSRWrQ8xjL50 zflKh+7mF=Z{2pv;2WwjLU1)3xHSi0f+#^nrEE+^Dw8<4@!$4|V3DJ**OlNXe?>`I8 z0=DjX&>CnwpK$Y>9&4$12S7S)=>o?WO({rgPloPjqMRq&Yg<~~%& zEfJrW?pOZK!-nzQ{lM;0_m~aNH$OV5Km|iXj!~l7F(FM8d(KyZC+)A5Xcm55HcA)U zwMam{FfBmWx~6kVYftAugfqm{Aw8iot?W-%y|}_~>PC?$6)BUbeFp3BmhV?Z%avRu z^Y@Mo`fiy*s&l64%=KBsZ*xt%pZ5K*Qo|IM*v3dDbD_^;SV9wx2 zKUC`*wP(I{+r;e6P?|`Toq2=^w_zc}bmCaX@0`hMXfaYzkS0_ z5=l&f%Y>5-s%-XejWU+@z?u@F|G?VvOCou=jWUS=db<-WiXg^jsj`8L+_nn0MytA| zeTFi^xoFGJX;=T#0!#|AV<4$f&zzn;$sDpQ2r&RCLPoDlkk+g(chhx2Ww*=4%&nPB zY^wSN7H}*Ka+te>ay56O6NFAhj8NnfBqIZiwbloCe3($%fBf5GhQdn?P)g77R@2Rx z*=O8P4G-yVAb~bOcF05h_++5_&?s2vzKVwQ&B3%x_2vJv03<)z+y|ze0u>J^sPBeT@in% zDT3P6<-b8Ox4xc&ykr7$eU@NQlm?|_DOA#a$AAytVP}CgJ6klHABdyI1d8%h2b!e9Za!4vzIS zbzslKi-By_vI#JmZaoz)v|+TV8pnHgk@IQf?^40rh59?e=U7i)}!#&d@7|Y_-WQ7WvH8FZ_ zq%4s0%{OC1!6EFFp*s`Pk|b!ZSN>q&Q!Z5zd_ag=qUAowRyr%RKbtJcvrmi{&D5`> z)$rZjmm`m+QkV5YFC}GYbzc){FEFMQ2)-DY!b1irTE@KD<+eut7KGx8#=!akpBPD9 zUTL4kp4d~(cR??^v=3V$N&#|{RtUeyN0kj>gd-vY*TG_U-_4viHy7KvIfm8ST~=qN zr_Go%h0}79B%)c)FXmp)$vYv2N}7X!%+}_k9h66SNMYlu&BS|#0n6!ZBC(R(K{E_Q>#WY{EB_y46WzkKoEB; zn}_1IN9qy{t?<;dVBziP*t)%`^{cxyMYZlJe0-(M@;`3OZ_Q{%C9ViBc7i*i;Zb+c zLR}L4!#1|JF)_;i`wg2tH4%#x^7||vgTu;SH%~mjSgGa=T_@q_ufIGNy{u^KD!5#y zKheliFvi*@AeX$h_u`z6sD)iJ8b8_Tl1!A7owR5)-#kdx)XbC444L_D;s@JCL2{|s zCtVK^gU70eWP4X@GYT2Mke7;IcYe(pj{=)q2u#Xv_`CuPF8{zm)tlp@2~8MC5-4m< zbI!8z(eX>F0V9QRu}xu&9|%<=NOt5@12o3{pEiYBdGZ{8UgnjKb7`;iXL&6Mb(No+ zzOd>s39Rd74hU(PX(0VV3)z*tfNDHGyoL`JOkcBm5Vx<@QAq%e=5mQUN5Q)#pE~kL za2X>%qlgscco2N0Snd2T4%n2OF4?ukZk^Md)rA`{tG1gD{J0KE=6w^~zxA$+T})j+ zuDK65)3`aM)3$f!7&GJ5R2|V{fWSwZ3@_$HRUo_VZXo4nf@kSca|_-Lc!gdmwRh}> zA16HcMlOYNR8>@%F+L?^rUJ4!Ms*u1N531SGfuwXIP{wSv*sxAFi`S-_D-b}KVGC3 zN{|GAcJ4RSQK2|zB#Z~0U&^;{fSwfz&XmYmH(emIr&fmejT&b5JR71!5v?n)losKo z;k#Dn&I_2;0;LfsWEkW_p@rvz_`M6Kn>T@hFVDDeI4{@AMasS?z*f6<#N?8VqP&2r zZj~$gQhhZ?6XJt#9?o?DiR*=WQrHt&#Zoo@E_?~iwlt=V;fdcyVlIq9GAR|yWTS(j?e3ll3$bPTjPWqpP#=YE;%Ynu3KuZ~K7IDGKALT@k+nly z&9!&IePJNY)bromSWH29e>*-;C|-h%19!xdB(gasY5v=}TW>|VwwWPfhq9r#p92|- zZYz*ma{`px8K}sl2K=UbDt86Ahc6ypF&uvxg`kjyUk7|jQ`yf)d#8$MyzBR$BmV|m z$uJ5&^fi$|ma|}*9f|4UXnd#p2b^5_4-H+4GjgQDk@JMTcGL zNBdGYKBc?2W%SN@>~6syChUO}RoyL*MHFo5-opKUsF0=42!G;Vg}e+Pnaq0DYwu>vJ{f58z6lAydQbs2kOPrF>c%bTA70!D_InThVMKF2)_Bg zyNh-wqBRRCPTl^3LMpAMEmj#smnJJOfjV_N3sZXzbUu`G%l|2B!t_#LoP&6_G||JrUGPA!(4G(e4R~S2ksL zTJ2i{P254pWH!uQE!a&Eg>s@HAhc%=@lGBt>kPH&)hk=8s^KBztN7}22rp2YxIXMu zZU4y@kHU{LxQXL$AA0umVEhQ=ilTd4RuZDFPzz(J!roFGwq)Yg{Y2a*e7}5d9a%V> z8g7y?Hl}ym%+a(b;r4Z1Pk-#0<>uvC`sGGD>_G@EA9Pr~Y}Lhn$55VKdu)~$(L18OO(kH z?U!3&#uv)`>LO)gkvoZaSEJCZfgKn=@*~5pRCqKfBE*VfNp_(m8_eeP(Cdyx?=BjqybedNEG}jLl8t({Afo z1>Fr-)Rt1}@^t8T?Md%5-{VyZ61D&#I7!qZbHW_ur6sY>G>T5<5`CkPf%8L3k4j^N zDA-HM6zB%%ObeP zJ1w~muA@YZmJz4VHKYO4PD%Rzzom%P19a5jPWnUE%%TEGhc z9Wvd$y*(#Zz5Zd8XRJ!#4iIKew9v8U6)*}Kch8j0ouP%wDwbN#y%saxcunLO^xGLb zAGM?KFE&&N)lhk%-aUa&rN>V>%+dd8`m&iu)awpg{| z>V6$mgs$eN=1r$8=90Sqv#OkOqPb6Cy0gGT#rFPrUdZqzuFUKPnIS{+l+gFL__^gQ zCfO|_P-OEF1h0(kem4pBz^(Q9d6s+-FwhHgEektE{aH1IF&HCC7LO;M6&ZrPeN2Up z*~r}^R8$BH2zt^g$+5?D zc@-6FfLC~GlTpW3#EGLzCf=9MyNZG#>A8LHw5_8sDGditn~a)Ui*!>8A3PxTeBy>s zDCF`;;V~geM>w*-X2D@pAXK&Q$a@uK6LBi`b1t4Bnja}SVXE*vb%>pd3l@VBV1k2` zY{2@T;7!jzDpzkRq-B?||81kChs`gBGdVFal;EL{ZxCFZ-V;Wn&;kv)C&A#2-0h6A zrQQMos=}^$gNRBgio7%<4%?#l0lLXCK{TOUQ6Sf{Nrddspd4Kb^%lY^CnDG}WnD_HbfA49fPJf^o zefM$(MERs0T?~M7%VQvUA@{RW;tj=g2iez_s=07fW{x)qn7c?&No|+U z(z}=OabF2N-y5-=kESF#n)^9GhPt-2+@ZInz&!8RWcs_j34q(A7AR2{`teo57m zDSQ8F7^gF3*{Gs{@eNj(Ob~@$KKXD#oM>S#-9Pkc;Zz5C37b@?Y6(4V`N4&K*K6MV z<(Zd4jpX0Z5h3Y!MF1_=|8+s@`051;^f#%Ond4v?sqYSSdbR9NS=TNp^XRP~c@K(c?wCR~WvMy7W^ z_nX%%@0nrf#X@P$ZMDVR)^qjKn4xw%8bp(Brb=NmCb zn1H5WA<>0*#<(M}S^<`hrtQmmIwhZKBY<+zs~E5WVllP;*@JE-7#qfF(^Y?YpNVC` z=(T}D_lGEIGM?FCy<3jIiBuFEGuvLLp^s|Cl zpMn6qofs;0Ec9<_cbVvHS3$K`mW5fAg9_%4UDcGn^0?pmaMITYWdl8FY_rkq#?{z8 zdaenhW2xp3p>)@O+Ls}>ITP`thn9Bt>ZDnzkjjzTFu*2#Irl|jMy z2~8Z=q(z>&^RJ9=NHbA$!&x0QGaXtb>s=CXSW**3)*V5PBXT9_=`KXzT;iLvzd$h$ z=r&5(X5XKrH*pM5z#N%9YbcE;r=mQJ2=8QzzXyLARE*;}dUeiMXEMUI*o01RuOpG= z8UQTNQ$2qHK?Mugmt?hmvU!!HUOk~f->@xd5n$ChN zj;?Li1a}Ya9s&fyV8LC&;QHY16FfM<-QC^Y-Cc*^?oJ5q5Kg~mt?viWi|Lu(dw1Pc zSH-hY!2Eq6vspx0PQkM&tcF<`Smo^3L(%B#IS$n%!hkb0|>P-P?~<_H;wD%P{p zP}sHTWPQ{5cj2YbykW~d8bQ`^u5Tbu4N^9`9*s*q)Xq@0icL2Aoj6-wY^+ek>!rjG zuq+G~dOr;%Qy~Y*iKmX^dv94iY7qsOlA^{ZtmATo%Bi$~I_E$;z^wH~K8-H_ZT;e* zG2JwPj^1t#w8RJ8@q)hSuSPT)yt0JxbbY{!pV<4S30&#|R?QXEIo=bfy8s!*U{a9& zJ>Xy6a4mseyj*A&imR}Y#;)g@MYn>?aD|?(1{i@8ntB7*ENG}+iER`r{Enc7{8JY{ z5O<0fq{=qSgzg|9l*fenuhKKApYLq>=gcVroB2hvw~X5UuY6hWaw4JhN%YiVSyi30 z_8s`u4~ioNK0k4%B_-mdsfpnIJWS1}eXxa|Ofn=8%=$@rX#8dlW`2_YC@vLc5YJR9 z^V)ZxMzo8gdR#>o6cz-uegmV(g{m}kP%FI~6*6wZ_|U zPe_}WdojYZoS9~+N3s!3RJrCWMB{2W>2dbUa{yEKNw$z|M0y>~Jd4qhXmeW#FGK*W=^tH_~D!{MYj z#m+F;>;a_SCf4wJkvR}AMfBtSIojB}0OjzkgfP?z{5{#ukLX3Rn%2^C<#-t9C zW@EohiEU4?08(Hc1CUYxl6K5Z3Mqi*J)v)MZSCje|LR}SO)&mOe*Q}&;&0Y>cJ^~n z78WhQAv<&sFBm_O1hKWQkuw@Eat`^3Z`zAw-oDGwNP-RgSjTedB}U((7vi3#cHP3F zbYh|YJJ&?toNNUtj_@Zrle$Y(bs0`Kt-1>ahH;@~d_(h@Whx!?J1%2xq9yaU1iC!u zBf5pC6q(q))Ow%v;Lf~wcc-I2l~&o+M(ig1cXxX)D%%Ou#b? zo1q|Ogtijb$4Y8Ie4k+d5;4BkoT;jD<4Gos;=xe-d)sL-%wwAdU(&DIhRQIt*)C~X z#<}i8xAefw#8YH!-K4VtG&DaIAb%I-?RmhBN$Hs3KetUbcrXe=H9=jrX+caG`I<5VE0f=sIp0pEjqNA_0gP09`55tC#Qkrb6o$UE5Giwh(!JBKx_T-j=TQ%C%H(ndfr358}?9+ zcU$Ih*Y+620kxU+|AHC&tYOAg89`J!8bJ{8^{uy!tv9;s1odVWTB9imWRAo!`1`Jw zzB=<~d)}FVbfz?0259N736Upn?mFF@Y-z?mhxsa8Y#D~Je zrecGGRAaDPUKSdm>2|pA)alJq*n!IzKZ`TePN#S=HJtfI%n$5&Ymw)p1tQs@(d);O zLu|Fs`UI;4ImyPW(-(dJMdQjP8=HAGX4jg(ovn*Dfgc72ooNeg99a+XWZ(5)3pgZf2Cf3>EKh%?;F1dYF`^ zn1v~{UIXu9R@Ufy$VW1l%4y0(_Fa{@J!j{LQ(jlzax<UWrwGJX>#N^?uwDyDTO;2Pmw5_$1*#e5Jf#&0xd7RCy z9<(F=p_YrS%jav+Ar)x(RsDbd$Pk#ODX%02{;v_#x<1ha{A%-qqdK+V|H5dIcbFfGI!oDGM>Xd%; z`bYi8#kxNT9Qkg5kHDRgWy{!x1FUe|O^nT%3F8lY{M&u|MlPzpO!IsTLI%@rJ|4rs znnbYiG#N<&Tb1r{^TTE7zWVqOKxz`2m(y!!FG5v z4FX33c&*`@0u2lrKpv4S@N}sWBjXB0FXxzE+DGsN2>SqrohaC^FV+~_+XGi7c%AYa z#-f$gHqztu0nbY6m-Wn4U8DL3*#u9n0_%pnlxe*GRIuSSB5nN2N{u$;6y^f=_=^(v zB-}MBI(v}JXY(=ITnJ``0cU~=gAjP|JFWJ`3JwwkDOdUKF=EdYgm^!ifEU!hf1 z$F`)hJ^0mYoYnclS)d;awlcgwa)Inp53u%))f{W?uPonJb$($dDMI2BYak9SfY;md zA@Wk=22UZ3We=jfobpg<4?2z+5~Hm+J>WI?K{cnNuIF@7j68*e<5*u^1^*IlGa=QZu{px zgxd6ZJOeX(9$ni{Pajhzv`dR|svkaUxJN6I&_i!x;cc&RQA!rRm7o8&(ya;$vkHvuNmAie3|fHJGV}w z0PFy7GdJEzo*jf?PD>B@^4O1|y*lP)Kny!Nd@E?+so}T! z$y0%8)yGqsi!Fo)ek&yksS(Qy`OT$Hw(VybHPwUjy=85U{o z;OoqR1*Yg7Q*pe}o9b*^avN$yG5!+O58I^eOqdUB7yW99Ga z_7~r$k(`%2o~Ry*ew(pGs!!Hm+Y?kcy-pC@%6I%~@|@6t8&s2kvJ4cRLs~Mtl_;n3 z+vDsT8c?2i70h`l8C4XV(b&-kXpxx|sz_~I_P!LV3iARichxr>y+N{M3qD8-sZf{Ca{z-LSJ#h=A50nu(?D3+A_9i31kQs zVYT1#w7jW0K9MVYVp==LgaLLg+E21PZ0$Z9i8^hC5RF?wK|$hw&arlCbB(+dJrO6i z^}jf{v?>}EusD2D3abVkY>8~WFNEJO3*5CecDq_Peq4HC`B9D+LoDJ&?^xkKWMD$j z3DXSWGra!K3*fB(0R~`*GYcS1jS;lUFRT`yBW+m89g-meb?kB=8hulGNXy(OM_pZI$*Oe%U z2I%}5h-4jV&Iq8Cf0X-Nf9TGTuTE!uN-HP1%RjYlyIHLXoXeVjOl^A#bW=k$kr6OO zRxX+F?26m?`G4TK6B2;hr`FE@M0ampxE@I<(-i^@lj@jVDr=h?XQ_H zYp))HbV$2Y1c~5>)+F*;$eq%_`-CDGf6ZB*x!MT((~(|0_L|pnhEbE_(+i58?_jLU zlFmj?2Yu{5Cn-ch3Cv4fSg2iVB_ofh9$5c5Gz$ zkJAo-K*NKDFRSwMb3zzyS-^J8c(A2IKg%=cb689^U+6=jZ+i z)(d-22B%QMOJ(bz49VM|Kl_^NvRR;u$K-46c?gQqhIWl=bJ^ z$B(`S%&}Zo)5U=WkodfOapC=b3^tdy_dUQ`{?+^PX}^K-mJ2#S<*Pw#Uv!eh&$gQmGCK+z<9e3V^8Hh&DQ-+*vnqLa@PAx&An0B=j-NxmQ0(7*Y1el<*~btT|y%{v}1j)WWEpH&z3^WpqW7rA*@# zB`kj+t>Y|HRk`m>s-MG~K2Er((n1|M7m-ANA*`P=DJYhdg37|-=_7wPHo4Tt8G>m! zm_8l7#0Atg_$x&%tge)sjz92b`6KZwIVWIGz^nakw$@UgE7Z4TzG~O6S=0sC>74Or zW_`jT?|OPh)>oy63mboTxTvZ8(iq!MsEw=roFZa}JrbDc9gMfioTg2U+uK4VCx}O| zs=Cb~mf|B(A~Xp z=i$q>Hl;1;B1n@`OZ6M$bJUkgzZF4N5s^f7o~A5Hw2|e;|XEcN^o#%aTc9Lp?zyH9ieGRz%ZT zh``!|;c=292zxJQ`JP5%5PQG}gQbv;!@{oGNHNKbvp`0&^$=B=Z=uhWnA2?&H|AHA1{t{k zB81-t&?o^_<44b%Sc7$2-LCdl&)k#kH@mFU9H_Je2PZ>3-O!b@gmPsXE#2^2^_j%< z&1jQyS=u=9ozQPtBW3*f&F`k?fGtK*_>DZ1wyBPV2T_Ta;%U=G&!QLg`I}pE)q$Y; zR}w$k+VhP+GT$dOKdXJ*p}hTDXY|`b{gagd6qQ31?_g3Cjd46=0ME>x#%{J)h6hEI zC|~QNR0&^nP|GbAfFUrD5?Dyv&kw$|_=7BPl_ zgNLLW3eCjt5fM|+;WuE35g)ZI?02~}2<*HOgbuv9nq7UK?_vS(z!a+VGRXS7)Jb{Q z)afSydIhON@rR!GEuWX6X5rOArRxV7LyF-KbG$SYZag(h^a5MrOLwlqvlF~)N43Z* zDQnimUlC&Ho~^P6U$b_YD z1}T#)f<6+Zj-AItT(b()?0SSp$-eGQJ&PH`GYN^la01V7Qwj znP-huUxu{QKM|;ZuN&r7*d4?DQv}C!eIPP{_ zDZbzOzLSmj6{j0zDOuWQK>#aQ0R2Df-(`5dH{tMpV_xI+ja<v!lc zztzdQVCu%WZ+i+5xnYKBTp`WovM$H#sq!kRjsbZ{jn9m?u&U^F3KIk^%XEsQL`4XR z^eD6uu@cS)gAv7C1L~ijPmApeFJ)N!yqf-_zND1+pl9>cjU|lyXUnDj{_Hur;^7#_ zrxfL8sJwQJ!Ax(OJ)31!*6T_DE6&4h|45yo+4@6Lrm=Z3dn1EF#$X8fLhUAkrA>0gSu!eI=qZj6D21j>qOJrJsB}?xHdLlG+`Tl%4$bK z;^Z6JFHteWZ%5co)tFDW~FaM7Gb4Gqk$#og%kD) zQR$R%jm!%E&RgX~3Adyk;q2U93&yrZ=X2q3T%W5l8QMYMvF_Vjc{@#wpxS?G*59u3 zwRC)@ir2B1sU++54G-EIKdqU-3_RGXLhLw4W@Z=_&I*-hIfrhvExjj|l^+AfTeQfq z3uHGQ0!5m;zI>^@dsDJG5{;gMqtdc+?=0aO4JUpM~@3qQ(1nLvy!S5~&AhOU-x zol4r(a&q`;SIW4KZTfV&2~yT>6u`Ud|JpTCkoIpR6^B+4^|gKhT7FB*g`0=Ru#s;s zutaV>xOuzN{}E;HoF5|$rvAwZzCk@yvLYlHxBU4M0NP#O1;89hzlfa!@Petc4fL;S z-uDc)*CX%RCF=eorB(u;1K7#ys_kww+h;B{vS3w&0#?VI?C z<`KS;e)Zz6X}(9%Up~j%p17rFdsvC`8(zFeEG4ohJlz+xgjgxr6R6#JmCTI#AR6+C zvA{Ri9$?JtpyW!&d z>(M*VcT0E4Cf2q>1J!KZsJ4elkbPqWKea!8rG)`%Yhv=Yl8#OFHd-*gNGND)D(qc>RC8$CqI!Oso?PC?rP-7WhmI+ z!4||F8mCKJ!5X&(NZSbAW_igJNW)27Htf8O*w#)4f3jPWqo72Zwn{f5k;bp!dhQLKen_IuGRCEP>e^nI58ZbW>#uqcJM!g82-N<@_CIAVYa5QC!$7GLPZyrO zKX&)ruJ4vnNeh$QdeaO zhE{R^(++Jh|IcZ{c(`W48UaA`50D+Lq>U}?gID1Lu|Vd`yr%TCmN=COCnB9ZHv)Ta zZx}%LA9r2$209DYc#sOfgn)drUwE;m&QHMoB?R!KqEeu;dHWpl1!Hx$oW8cM6h25< zTCbkP9o#ZifgOMo8E_SSd9qmAPeyXQfES5y$ z)jtMJTH`1*I$1+&gFR34YR+cc%UFL(IJkYgn)!L|$VbY?lPF#mp9>h?WPR|+?be$A zN5K%-;*kkBjI+e4a*Ws!uTAAXdG1mF)^FiliwM-t>Ps0h;Za)@7C7qVmtQbVU_h1{ z(pHm$B)7WSb^b*_Ldx64>X?BuK6%H6ezON{dHAYbQrMk%jOUQ7?i_crpL3Vqff7=p zq%dkce~PmcXM#tJ+SSU`mV2gZbMbZnGy5KK}KWxw?3Z`J#)0G-nc!({@IAckYlJyddk)ZMpNiw{3cJse@d3<{?xO(t?&vEG4s?$$-JZ~{j!ngUPMy$m*l|cUs zsXGQZRw1}|KM#2CW||0z5$(P`LK6BW4qy!mbN;ip;=FYz9gdp%?{+<5)IN<6nD|XW z6OQ(d|Cdg>SLrj?bh(wC>Jv_}}H= zQ@Cg9Vn=nt2ZX7n|6dU*qt{#PkyN$K%EET13o#wdr%tsM^BR=3HB4OLFjPBHteg3R zpPo>}mx-PtpMOT+tS5dQ3o88_=gdi_fE*0O{RkQ{;#xrUExEEz};R23x}r)v|ZR}(XU5dnhm-oiw|z_1e79Z~u)ej)4@gi&TB0KJzS zgv`ir9pW(0Dv6DwcBE1FBYUI-W!}5Ih_$^@5w@PKPrxiQd)sTlU@YCbm-mWqa!#JR zE`Y1f&$dAwb(5QGwKq$p zE|&gegQ+WLJsmxhNOR~-A)kUgh><)Y!y0;1$I`&{?NZGTKlQ%;^di0&(%f1&wI1b&DLjZi%f_2c@9WzPC$o^2m zcaJ3D*dVW0JnnFe|l)ctK5AI-H^Y3U+9 zcL~qdXF6%sEOGB>fOogvZhzjkp$Euf;A8NIKUJon1ds%|?6&I@V#%d;V$0X8vsEb+*fS9=Q3UX3Tv%}Q=4C7FVAVB|{atdUt#E>-Ra+4r ziTWoP-YE6c-vYw+4c}NVUN*lON@|@F{9*pmEf>-lru-iB?=B{z5y(JazZ$n{upYO? zE57HpY=*Wu^{gcv2rGrpf-s(qu=k2$z}l-8xk8v*zFzl9GEN{T3A8rAfapVoW7@Ei zU;cM{HIB3xC=ebMbZM#UXfD*lT(7#h3WD!08r9b8EryFq%umTC=MeXHagz%^dlFT7W8M=tnf#4 zuv!+}3P9SDG53n0Q)1rlxD!U)K;s9_Hj{<>F}HXGHHQ09?3LgqpJog9t^m^#! zpSeMWdOA}hzkr{fxLq)y0b_qA2iqe!I4x#?o0k$$O_M43u^f9u=IjjV; zB%k>4zAz)}lp{e*=lKbw^3;Y!@TH4We|zR^5d(IibDxJxk=GL0U?njWM(N1rajK6V z16pv4N)Tlf?vM|20<;DPDk08`y%Nf%aC;lBFG$c#Cj|knA`xYQm!l7u&A~>orZ=|d)mm0vCeiYm7aC~fqKcn; z%iIk}KYHIcD$N@5rH_?O`1*KA>8ameuud3*J|7Wf^T?R|mrUyR>*HYg7N$Q;wx!*O zgXwsq^OMV*{o704atJ=*YjvB$3Zxm=bRirRDQU8{_^9|k;oB^0&q9jMRey5vRgvb# zCUq#6#0qAy)p9$HMg++U;`K?!Dq8;BUYEckB+G;8_U*KgX-b7gcB7t%=F&?@14CciY)4^UR+gT>wM^g$i@IvAt25~Ni@N!$vPutw3r zLQZEcMtyPF_*5heWj?rBR8|4QG{IJ*-om*od^qnh?>oZUK4Flo+l?;Gp8~>y3G=_P zq~eTosl`j5yIVNHQDN@MoF(QRK^YcaFZT$5MYUN_nG!)fljhdjW^A-PN8zr+L7};n z`rnu`#(M8KX56%smJCV4~oAD5{ zf~-{!`Lv{*^WTJk)-|;6Up7Qz>x$Cc?$~}urILU?uGeqO{45^ba438N0@G_u0K03F zhF*U^b1M0Z^MnsV33vs((r|C&3BOedD#h>I*uAf6*I| zA8B%{N(iF8uPLCWO4_^b()s%2br$l)stB&r=U^)uDJ{lpRF4^O*}r!_UQ`U%{6ja% z_yLotSR?;#!^_CP!ArsfPk4 ziJszuU)t}K2cGI#Mrk$;_CWnpoTuetnRE=Anm@8GJZVH3s9BPAVh!6{jWh+7k5^Qr?57sNcugM(uuJX||v}8zcF8v{U4fG)#%Dmw}42GMaT^qj< z=o2U*I>IR!&9)0YF;7q|Gu7&2m>Y!AfEEOaLO)0*dtOeJ)WugaARsoXlsG(27P|8^ z?1b*YpWUs}rQY1ussqa*6-m)!lz0rCESR}D)VZqK#uEz}M{BIsxwd29;NQVJeLv9m z@RZ~8ul2O*?Ab3p%0xi8Ya4hKI5Y3|eGga6@exs1cU)c=E!tjU4N_=oV&WmIk#Bdt zE&)s8OG-gc2GOfjXEz`gtDvJycNOQ^E!pzwe|)QM_QoKcol3`CeUNkW_%%@O5!h_^ z=RpIm?v$5nKB@<)r;*nfF;Ia8AZ`Kn7vLZR{{g4gOk1eYYnEE4bPB1wZv-mSR6@xy zI3O~YXC0}os+a?h5d$K6;l8@RjBPHRkJ!W|Fi=;=@%`D67Uvqr)$Up-DCxIj_l?spG1$(9QzRo?OX7|pq&=?F+-Kd(1s!o z8H$^gNQ`}uIVL;6XdRYnl@K&SiDd{UswXKI*0LhJ>)cS0zI_B`m%8RLRgz%7s+iDc3?bStUBD}WOLD;#T4$SIq_7@{=C zeXoCN0j~ttoh%}-u$ev0xT_lU)w$+xeIFU!W%&T`Aer+I^*2lxCkBXSoz$ z3(Kd&^2sE~+b8u6;AgY*@h4fW0`u%VrbT(=YMY6)-@S54MAg?xvOFExs-LzVWbL$* zM{YgbUj?k^5e>!h6y-0zmCe%tDHA4ivsIQAM*n{r9x(*6Z!>!#ls=&MV3K%s>yg?o zKJOi@8Fd?wki4T0JuqU;a!QpNuG8h{NBSF;*qvJ!%Zc=$tkoNe07Su>jN;*QpN6O! zh&r5bZnZ95Jis^O3B5Ut32=8(*zmEvGP%sV+D2Cr>DZ21leK;3+Nxcc|H%4fKfz9X=VjtuGh9^7?F_4`Ika-MHut{6cgstmqkOhWyxqKoa7-=bXzUi zH+D<0hUC!km5Am7wz;qK6~_rh<@xY`M-oQZZ}rRhZ@*zFj0$Wzo5dep|WDKAN{_w zhhtCps{xR8QyN;0p+R0unb|=^EiD51=&{P=fULJ3K^Gs(hVP+qI zzC7Q52NqyTwk7(-ervV~jPiD=;18o)ZLOc5fHIf!)26mo23y8 zqqo*zM(xIzv)s0}ZdTV---_BSLMhr~H*8qhb!=n5{TvNWF1DJ5O|0*fz znigj>4tmjGX&|x-{)JcuvLSH;?nH7Ti{Kbu0#N!;l}&+lTH8 zAjkud??367XruWIQ_=f~Z<3{op5|28kFm2xFDvi%C zlf$)qhZvf^aik8CxkPm+j$oVF?=ROQl}9I?~&|< z`=BjOl@0ay{3coD&L)y$f2v+c%fQkPgRART|MTR}HRXKKcd5cr6sk_yh+oqd$c6SW?J$&2Aa88 zg=rES&63hjBq||*OH+h0v0zxUq(F3g@BA%FGQ^hti)Q^lmx!v(5F}%K4J{_Q<%hI? zUHU2a9ai>$B?T8(Yp(PJDLyir_)bxLYBhOI1jBS=0{_2*@8i>&z8TpQ|FJXUzB+qx z!eaA$rv_jez!b%yW6So2R1(Mhh($zs>zqy&{yT>FhtJLb2?ne=Ax)4pF7%*b$2l>uLTma&d8Rbn;KGc*jV;u}ZWYmcjr5KgAHNFnR#99( z)omW*rKTH6`=-BkK1~9PA+AptL==DoIJETV5aiD^(#n~IZa0nx;s2UTON!r7X|qL( zSMObs$K{s0z!ahUi7=6p#1A7w?2Lf$7#F#q<(?d`KDv5`terFa$d2oDR7>j#&r^dZ z&fx@}nZM?lVHETVt}_iV%aLh&x|f!d_ERNVy&*&4guI_4TUvgY6Kq{z5oO?XOf5EN zCCFqFKIzW4lnz@4o5c?n?oYmCLH~AD1Bt!EAtPL?OoBPO%`06GU*EkWV(HKVqAc5H z^{-G-PA9$e;;%|El-NA$uB_?LY}xzzBwhgBP!b2=1^B$b@c%)w1zk^+4aQmu+ouGwjAK7T2T`sm5w|33@#WoED7^fAj?n;4A@?zp~b%! zPw+It;6{qa64s%rEn=BKU#Lz!-12?@n1DVJUGnn=bS;g?ml#9|{3B+m5-LWPfRgrx6&@!J>oyJSsH*4#oO9%iuXI@|Z zfy%zKJ8QxopP6>YMXNbp!F{VbrEiUS^=0X)x#|<=nGJ-^NoD!^(a*T*cN-c#9%ITX zH@TUmSmGH88uHE0(6W=BM1Koyf{7s|a(kkyBFAas?iPqOCp9bD0a$M-%})j6sKMle zf`(93wz5Ro%7J5D+1Z_|`@S=Lr)}eodRgYP+pUvJ1gA;+mtcXc_EWm-Y#2rP13&Wq zFVLFxVo;P_*!*oRXR3e9B7mi7!t`c1X{&!I}0UHaN-8>c1V|I<{REU z%nonUqKgzsog#f2V#*j*V@-rVanCLcH4NDQkebzC;f){m`|RxV+n1LvdGbU7!iY=@ zA6vxXO%nJ8PER2`%_M~q6%;#-c~EtpzqXWaG2UnZNy%BdQA)a6b<{6R#@iJD^sM*& z6XpQD)vnq}wmw6cKnEJZ#98YG+i1f_wk1wfjxNPHI(r02`Mjxbcjf`{x^c2G5BRHn zhWbq}nm8~SiXujY^_>Z`Bnk$SFK+HWbvM%9pA$f?fZrVNX_IA+8Zl<`oDaPpTQ+mG z!C*dARLE!9H!O->jpBhlaB+8(AM?eZus#|!Qu8KN7>4@Hf6OeNU zPEwX?25e$M7?E=_>Cw88vhlmlUW~d%P5Hjk@m(%*zCz@68-E?T^yE>$Yp+Z-v*+P= zg!ikl2N6W0vMJ3joZLpUOq_t@#?q_LPgGX`$M1^LXqv!4UZxFmjeHPh%i7<`qaxDm z?u$PZd)lls@bAi&i~a2-gnmOx>4h;+=mRiGVX&LwwCPw`IdpQE4t0KhfdeE}ti{k$ zi_hp`u+g-b_e^0PBe0NPE{>a6UG&ueAOZh#akb4}`Oz-0J()DD)GMQlWkRJzL8>$^ z9r{|O;~H(r3>Mj8@j#uIrL~WbZ2W&$g;F{j_duEk^Y7u<Rf-g_Z6k6Su@VUMO=Z?#{8!(>zu9mAxFAsLR_iAA9=s-S6+0{X}# zs6W}#&0s8IGsuoVe-}Z%UD*#6TTD7I|Ljhem{gupV`UwvY>DBRZa=g7AlM%YuY5!X z%zQ!83fxr_w3s3SB(_RnLXfpp>nR|FKn=!ivbc$zv&m+8tGW zLl`(~t^r#r@y(w|!y;VNEPLy{0al66qLu{?bx(PohX^x=G_uBxdM2t&cGg11C<%d5 zohd1VWQx)m_OKCSov=BdDmqvPuvp(TK`+_TxWN<(%!;L_a+BZDsnk%yofINXB$m=b zXd??dFb^K`F*#$c>gC}3w`1nU+_UR8{%BFPr6ELh&X{Q%lRUKnVdz6`^h{UlxrdXx z1ifBsAI*IHLWhRCE~4v{AfnOgGm5WYpbhL9ATXE`rPqtbnrIOvmgnK7o{C1IuvYy+fkRa>M;KmJZ1DdKDCQ&;8`Zej|uBx)Nq7}6)=Y2<)-Md=3 zQ=2~fgcRVCD18qlWq`_9F^4F{{xVkisFk~qs+Ym6vDk)?Q7^IPnp#X8KxE3FMszOu zZx}7Fr)Rv%ll}*NK+ma~|DssRH_`uVKF8-31<0?LUl72OjF`3|b$@9= zi7iGyn4PL5c=V%GBA}aFX4;p$d@b$Z4;gY#e zpRtNxvrW`dwygPpPm2XbgjWj80em}OtLDel<%ypfQPB~)ZsCiI@D6v<94|r3H&elf zYAm&rIlKxpF04Q+gq*BjCZJ#J$*QbEQ#j3Jc9CXpG@QSi4@sy8}nnGC!ag7#i?w@ z9J@MZ>_@-M??G-`+zbiIVL&%FU6#x3w_e(5{y4E`QCM^wDfH{Xo&-z>`fC}hLy7lC zqnk{i3^hSpP%z>2kN_#)j?so)%_Wx(e3yD^@O}Sf|9%8d-d;i1uJ`Bj(-ZN-VK58y zHwJ64`!7llnOS5`^GClB2MQdi5B*HNyZkJh{%=MhjzS%ki*nrf<&^ z$9@)pDRd9k@gCrPxEz47O71t3O0{Qie?;@2k!~Kx8Kx#9+XW3jxr${D%X}rdsW^?*~3;WH;_8R5H&ykS9^2y(df}PkRFpVYwyx-YP0&mF8e@MkX{^~K*mBK$j zHNrI>j%12>>`6h{`${!!Oa=emWj1(U+t(V2Ohd`Z0P>Eai@{-_ejODT{#n|=Ur!^R z$w;&TFATf5#x-mvmMGP#M(Au3vXb#T3Ima+7mdodI>hHM@E7qQe?r)SNl&X(&?V6# zd&*gSlux>GV_svh`_Dzo@Cr(0GVOu_WQ)6wr}{Qctl}?J1xAM6Z3Jms{s_RiIsO=B z{u98Saf^=G+fyJ%s(A15dcx=iCA7S3O#ch9sA>351?g5cQ>&|WT+@90!J87uV?W-% zWn`h~ZOKYahi<<=ZoRkU%z?PFvj61+_Dy~D;tWpxcKN@~u$`?#+;pdmGanlq`*|`j zBFMF06z4|YTdl!s1QAq5Ax7Bb!kP+u?BR8Y+*OD495YJfL&&gO-^z=vE&+XsLt5IE z>RU^$mCf%-_j(AXq({SOu)j}~i}r2}0L`~|tg{UHHtwO!wds*|3gY@+R&g^}TPSIr zeZZ~0lgRNL5DDhGhiJ3>5M%6m&azb1;AxWg@@9eHoJd+D{CRRbglaC8p7BRBDqP%2 zrjir?8yMXc(ex{SQZG*)D=@_H9_4}>f4}?2r1L7+49t)27yDS6>SS&1TuF2_rBTy1Dq=AyogrQbS zJ%{>V^puJCSK-Nv2>Z#7?vb++N+mSZB232*Yme2l2Z3~XpH`5)rHhrcQTtxy|7YT&;c<~0kbUK-Mc@l(ta1+k#5zBYZOofX{ zYb`2xBKnoGHn(P0I4u3ENZDzz?GU1pKIa9Pw3Bu}wVSJY`+@&$R~XztQ{hw!NP$++ z&MMr~MOryAm|frx78X;$>pDy2#V#SQiC$$}ksbv_HONTiiWg&+&S~worRQIUvPR|} zvmmPY`UOiOmZw}W8%+X;BwN?o+T3NDdcw-G<}VMKBIDZq;mRpo)OnoAb}|CQm1bk# zspLp1y?C@?A%rCY8*pyv*5Dut{7{o?HLQzT2hN>GC4@G?Ye1v%rRmNu65C>Pb#KHH z2M}A2#}de0-y3z6%u0OyjvN4PI(+NeQ}lgq7$pSiWMZn;?;QK)<{Dn7*GsFfVZnN$ zb)`l`*s!ypd}uWIK3B)4%hrWz&reu!j@!-0c&F<5&9SSms~ymaBeRPT4KQgbrdB}; z+}Lv+bjg{h+!Wbki7pi~C`RU&0TTTq&d9fQzgjaDL-VmKI=5etL-`UZupuvE9p910 z4pXz}+k1pW|7Ec3DFch`_3SF?8OWaNKLG+cy_rya?}SIr7zR$z%(e zS$uVGX`q0j_yZ<7Xy4aYbYa~J|DNF11WWjG2Ps>oMNIbxSuC)sjzt{@V=7OE`6}b1 zzoLa&3K+4qB2xbh^@(IxR_|LWxoDY_{N*#g*^!- z1)N_v;}b=~e2&?_aF(ZQ^W5~?Ic5$Xm*5!T$CEG`C8?`kb+Vx`WGK@1^8)`qvWZ;D z>0vN?@fKU87@6V)dIcsNywNYCQ(}E0`)w}P1_5CVOkke;91NPWuc)4crhekPhLvkl zIQscWeWCH#d6v&BwxOZMf-dOI1%d5Ec(O(?j4R$4;cXzkh3m&5+C<=G3B^^}`X7WH z6ESX71(Dij5qS`<0)N@D3+UKu)q^H)XAj;6z)*<)Kbp=mD9$d(!gwIKOMu`K945FE z+#$HT1PJa9!6gjtuEE{i-QC^Yb>DBd_TT)WYO1)?w{Q13=W!J3&SXchUdU?R*nEOi z{YO|BYt_^i45`bp7Mq$)vpI5S2v%&vosAL{0GYh(lPapr3>LvX!-{+%DRw;BArTY# z481Y1XAed*HxnU^2NHYzH#^=IKCWxzvX4{fvdWF*dTpdFB{m)~VAxh_JHEPWP4y}Q zu4GHP5fc4HY={+%2w}9Wt6PKC*`p3A_PD4$1P=8ZT;7eEI0GHgdl7N+sZ-{NHram@ z2eH_>t!U%81b(1Pthn7l-F+4DZ#G`nZE|u)fxzoGPhqXrpY%y-{5O zZW(M5CC$n!Jhy<)E(XfifUB8wazy6C^B@fkx*M2uz_71rf<;Khi3)9>I5Hwl6tPqt`&q(U zTY@Cq_}%^JXhe;aZ8k@mIyd>f<-(9ue#a7fOQt3D+BU3g0dl}u+V6?-hPta4_c8|w zSeG^0@E0bR=Se3(1=(jAMOCq%W&HrxH)pyy*SsJ1|W%`n2Ya(hIjM;($t zNzO(4O?)vUzXx3Fdpa5W2&wi) z76aK>A`dU|OSu2K|JIkR?DMhPr-D$#lx9c+pNR+TdJiT9NYR$&z7-#lPg#Ny zoKo`CE2IH@*UV9R6E<1bWa7XLul8?_nP&@M9RVaCnv^?S6~jN42X#EtG_E-M@nyCJ z7C6wd{)!kNl^wuEj_oAXorChoxE|C8PIV)#-bpjgIetM(ow~!l@|k@eP_)7%S;IOK zqYN{w1!t5eR>)m;vL*)ypQOijoeV@PgJ0qU8#HSq@Kc zv!Z)tn93c7X9?77Bh_6g6T~|ge!KeIGb!V-Z1vbK4i)oy}j%Ok~Ti_>Brl2<) zvx{ZkSo#?R65)kTshLJyroq0JZ8!b`JAXK`BhhS`H$Y6jAa73?d7HQGcF!}7Y8PL& zU>NI3y{wKr>h9)N6{!!V7_1>oJQ3Y>h*aDGbtNeiF4h!9o{rog0!(+c@jbC!vWmy& zJ+*0JUaA-ehab=!vQr?r{iV+-)8n$1{uah4pLun)HBxddIW8|b_5&6exjf6X3b zeQ41dr;hc9B~;VP_Lq=WjB}+$T`ZoVfX@5Sz4*KzKMn0NBR#%8iGO*{lQcDRuKM;! z^vv(9<&FsmKUBMEzbZ3*Eu6U$TEmEK0+-zKC=0}|qignhg8EM!hz3}Ooh()sqf=oX z{Alpt(lUU#3<|F?&p)v2vyDMF0LaRHI}dkvSA}7xP!FdXnLjG+-6b@Y zv~K;hmRyn;^uE>_*K@;RiUbkAIZrbek&te|c{@q8A=4lX?j zymLbi^wHq#%cm>w{=^L8nDva7km^kh2+@ds@CIykSAG9wWynb*mABQb%cM#|yQaj^ z@E2Jw!E`kN1~uiUB34r0FK4dILuxe1dMT0q&=qj`nX$u;&!wF^>O~kF3!`BB@YHPN z8dLa=K8qxqRPIOml-e8Z45uNm9d&O3Ks+oMT)TUoWSSd0LLfPIt5cniNXkM_e+95%Rr!GU_*BOWDR5z@cr4fERcuaGKoGUf(&$$k>4&}}lY zpnMc9s&Gr=IpLq-Q-Fp#UGS5me;I6`_e22ms`WOVk5>xk)(m0z%30Wt?$$wshdv5j zt>&v!)79U&l0@lwRdH})1t>u1o-<0kzB`uznVJBubyEuIZ|@}V^Me^526&Y#=aaQE zqUk{9;g2qIOOf^3NExsg&*V@41ym$OWuuOERPJ~MSKnu+Tl|+t!f7>;*2?yZVFT)} zfW-5*=F}@bStTGB7cgrZvuXqn(1HslJKDT*1%yz_orE%BXX4(1k*Y8Ln$YnQp{OUo zs;KaVsYLfB%Q-u37bq3E*{e>m$G9}vFZH*^fMA4FJ?8Df%YHKobZ)0liN z7&E27qK!{BwlMvZVROxkO2x%TVRqjcrTJK z_Du^4@WRAcyV4BZwo5WG;o{hHJ1IlgW@sG;ryk%R%uMaVCEg(X-I`)X0*15_u(EDV zX`@!Judhg`?Lu^9SB?zoyA$^j#`%?S^6wrtcI?>RGU9IMG@3kN5;TMZQ@rjACrjg< zCK?KA51-QQ4d$bzdba`gvUA_okz^RmdgQm*OWp$M8n@g+I!PrgsILHXBY()m>hH4IJj&o@g9)z~>Ki?x?l?CDfaOn`Kt(fU@5GVEH$D&ZdEy z>e;!=w5G4&w_a6eO{5_qHC1Ym)za(^{t%jwNq>wh={1Ng^!I{Oj@rbb$|*NtM#cw8 z`rO#&sp*hkN-1sTpNPUZzBP4J=!u&WL;cbVH}=i5V1Vq1p@1R5IC19BDaXLcc6k&# zbD+_q9QyTu2arr#7j1epBO6YYgSpDM93jfU#x@ze_#k*C)x4_JR#S5i8}XC+uKHE= z8lbhM;t+whtfS>3+Nk@V3B$-}^{w9m zP)FXf7Bsb))mJ$np3fm`B;>}(WS-oG@fKpSVRa;-7|tP;*Zo?l2Xq2JbG-BP)Mq

9nV%TySh8M@C`JW`Km_xmjLux199GeuVdpviB9QT zxyxL$`byRh#kROJ%!Jv8HaE=gOcHO?c7)O?JQpIU#Qq;Az`Hl|JBDuI^DU_8)PJmt z+~V=dAAM~IAr3>rak_lwa_4C9NFzgwG*5CdZ=1q@JC94X=ci+teA)J>Q##hHdm~hI zj<(MckTmJk=2Zo8!!f&BvvMwzBeY6Y>MKvd!UgZiviWT2SX!zv_0i5Qkxo6xneM%c$w%)MwFcUUh3d6k-F{DhclKLQGFuZ)kzq0}bfCS6|FwpkY&0;fTjxPl@k(aI7`0IpG0z zs=R!BBkU^3U38orU)sUuXT+KOZ~8;~>VpFZo&Mfv)?^{tC{~|U7DlzEs3g%dMwigr zJ~*W|3$xr`P!>k;eco?;(3X)4A-3W+VHLq=rBpmoy8{<9f!j&1ot;@`8m zpxT74z^%C@TzfiGFXrzCo?lVeJg0t{T{aDgWcHoRQJm5NP!J0%d#DE=D=#hp@_pwB zUf$U5_#kP`>U|Kno0hDAI2Fdk8hr0Mgr+qcGW5OvWA`=^c#*hYD6X66GEn%!#ev60 zMt1yP0qsRt`7f3Ul!q5=$+XRt1ttj!w4anX$En39DYD=+NGB&V^CZuC0*aD$VWI+B zLk&c)c;yAatvt@=ipakGcJv7+{_`E)GfK%TILW?!gs=L4}q0KVJgV-q68P{zKd^HbdE)4C0(mafRWtStgO*E;$ z9bHQ7c`L+uzd=NDhoU|q0BISqAu-BQet*}1e<*agwlVOZWK ztOxqsHE0M@}PQB3dHb! zpg4oACs?8|`(yajn_FNL#z!J1$L(PtujxfnOaX7U#7ytvYqwBi3-priA2>cfexHV{ zW1ARbkCrvkgjYwr_S81x`Bx+rhW`+E0HQh(fNLP2yY6_vWVuc+yNVqG`VNr^~T2olM+<>;61=d(8uzN z1S#OJ1<6R*TZVa#V-&paNnJm$yp8cf-+|b$K_|!#4ULa$f}T9BAQk6&XNRceY+Sva zxNzoEJ(W<5i?Fv}D({)9rbJ#Eg5ceqe{V#C5SpQ~%At&010%DWXdfgq3AyA?dV8v0 zDQ2Y*Jk+JW)+vvkfUq)AvnUm=K2Z4v$;a%#t=^wzIB0Rd-Lc$K?r$I){Fuo=R6y^#0Ap0-j_@d}IJcs$gKwM&!YcZ2Zct6cq z*^?B7L0tAvu)I`C<7mZ5SkIPzCk*sALn8#;4c&;Lt;@>;fe#nJMjhrsWOW#GVUl7B zvbL7~x%(zDGCU6HEpC=)aV}HrX;zjGv!@XSuwQ=D(6by-sfAqLKl=lT46h3x_j*9< z!e?-C!zEQfRY}%AyjVPoF3S=jyP~h73Y&LAhn1u+RQ0g@=CqXt9UTsAk1H$xIL4uw3vT?o!L_}o2%Vd2)vnh$ z37GC21lkq2(ieumeS^xT(b~>T5liU-JY@q4Rb)L9N_`$ykooaCrdC=3?fLn6+oY;b zgZE+j6plNMhV{mS1SX1%*9MO*Am|=@`1|;@0Ftqv&HA{%-&WcR7&=NK{zQK>dOhF6 zx4yAqTgC){w`~$GkR_ntVd6~wfW~-ZsKX4kzuY_a4V5iOD19mTi(V%i3loVw)IAGP*t;C*v*6!H=*9@yXeGxhUM@0J{dDfv^*7^3m2&HC`7 zW;M1DO6g(nI4?%Si|j{njVk!4{MVC1l49Zn1i9&4SFXnYA7NL$368Wj%;W6Y9br-zx8qJgWt-(@1Kd+9U4OF=y(G=?1N{@V@#sNul(<11{;D#6`5bs;`Pt;ih zH_52Fu?I^13XzE`{Ho79J919owUQTy@M0_lDV~*s1s0ogs$^^g%0)9u;tf79f{9rE z$7Tb52r>xidG~#Yc8SC0Sy`?J^dh{&6Hb0XWUy$o zq$y8Cy!IDFQRSDmUf@ikNamf_(o3K)f>|8huvnLD`{YT5_2IlsHe%>I z&oG7Rsk7Eaf71R^xWCj0C$5eIFo+Y0(jg!nZnvO$0xWg=M9FI~up%OCBaY*&C~(3A zi}9WQaZ96-VE}2WXD{bUVv9F-!8irq#66b97B4pF@}>)SfCV^Vix3{%7*nmfo=;QG zrJ}MDx-+2i0DdA`*hX!p4dil2n~@)8Uz$CUxO&kP7(74XlP6BqP>lF-r7 zv?`4l`<`}kx1Ev688!9xK~M$2H5SWZo>|aEDN6d2JN|&n`|&y;b>M*~MVB%F9gTGMKoc|c zt1Qggg9kejbD0O?@=uTqClk z9qOpHl@hTl@P0|oh?`;dN^hzM@BG5o{(kkvM5`YT$i^r?X@ptyrNJL}Zs}QDg9dOc zK-f-ogfNuR+Lw865(^()zz3YhwAutDjW@tDBRiT{~3@kv^Y-3k*db* zglxfeEPT7&nc&QnM{#a#Z%;ztb`aR%z45}eg@+i}31+f9B}(SYNf!M4r4*k4Q)3Dk zA2CxyP%6Z*y($vswrjU5>kb}dZP$)G1y+|%BJ&+!v>5GhQVoLlXu=5Lg|YhQX;9pC zO*1{FL81x!_YZilK8Yqmy387K;4j#c_iy^=ot+05Rk*)@Grc>k!mVEM47K{^(B$lf z=u-++fkp`RLuJ2ZmPkxxNUx3DhRc|j)>fWq{!q0{( zw*+|9OpDe!r{i@`&wH+m0vZp|kaYq3+k{%Uhye5VALf%b9pW2REULvAQl%CxIF{ge zEXiwX{PIFO=i)&_Di%^=KO)yUQL4`j2ephR;io>U0SK}7{*=Osn$u)N4k_S_CV4|_69`Q(sSf|uz=8e3Uv`}S+aso(i8w&KV? z@Apw-kb8N>9f0LSk>Wr^OF8%h-~F#{_w(H3WksJ49)8RdP(o!_w)O3Wo|N+<%ZD+n z2P6zPRU3=R1a;lx=*tmDOK|}6Rnvm-Mu#Vkrm4rBE(9l$08KK>w}x^iDvxas&0W}% z5__?qRsndRc$={iL-c?@dSPy=k1hGektL{Krj zmoLA48s16Wli25QoYopqI0OZU{$@uT;E}=$r!fK6O$!In;BQUh?Q~UWG0E36pu0Fe z7|0YcQ%B2vY#!bedOBI97ITkir1@%aZ)j$6RkoGEAfZ#dEXs~PEBf@RiDILwmj*8V z&35KYHRHR>&y+acZyg`Nhq?Y1j`NH2Dkv1^5Lx0g9VrG$Nepp@8jcU~{ltHhtH4A9 zS+D(7kbNSkzo7i;_H}RGwPTb~W9lZ!M^kq&0||IuW~4O|T`WpKLkXQe^hX6AA0}dS)vCUo1l#mS z0mq-~*6JedeW*!a%>}E9gwxxDOrNV9F;UTz%;~UO$HLNZ!vtI!A}QF82#-u1%^>VS z*%CMFL1G6^RaCr~Rk!r2s)M+*6;HL6_MWV5saR9AG8CC(EG;G!TW+GNQOq1pp@h62 z!we>JE=4$l>3wAfL3zVHiV3slh@vRuDIerFk|+tEsqR_Bgtd}3t203(GSw!183j;T z6sBFAC?RL`pZ(EHoIHH)Hol^`$XKun?ws33OM6w}%@OT8RoS<~BtMDvFz=d~gexwv z9)&P$cexB!z7lv6D;Y&l4=0sO<3c_tBlESvne1WwA`x7u15#H1&`%bMsdFAPp8)(zq|}mlE+wJ_?*|#CK{KgrZ@41bM?NgY!Bv`RddTn%b$Y7$kXJg zpHoiFa(}v4rNDSl$6}p)mSO8cSaS=-sJ~!~GHh-27QyQS z(sA*E(5)BrzoXe??90#p>7pEQlM@x3nLTYyrlP2?$mTs>{7qHsrw>zCPuZi z1h_;)oc434%l9LBHP!;b;4(YA?Nhu=fKZ^mg@{VaawO*#Kldvf;l0dlY9U}Y%>j`# z*;syZuUMeF&gmTBK~#i>nWqJjJfnWxUif&qx^`Zym|LQQfrVbj4)Q%jn{xba82D1ady~Y!@$N2OGY4D@RLUY{%pQf-DWZ!(>6q=jdrrICMRjOwnbbG73_6^^{dCn zkmmNfN2wYKc9Tl!#|RPt-18mF?!Ix2Gm6(BXgxLL?Q1647$E55&dvR28PMGH?4OmW zJ}9XXN7#Gjp~MOh{D@ zLJLVOO{%gjkRmI2^M$7=zK+#k$f#CWFm`i#0WE;QB?7K}VjY)PjiB zh|U!VV}bA;SnMAfTO2=d&RXXVODb^U=YeV|PCDDTLV z>~%s~0s8C0!fzZl!ba^f8k$`7#JR+&2bTioVi;B=VL}v_Bx;;sK7M{fLUEvNbyu98 z73iQJd-amS?BC~K6?pEv<;pItHH(wh-bJ(lS2MUOTPIl%2g#)TvK&PWhxivZ(sO6e zj(oT4ew>c1I#QkVGbT}JP5s@K5cs+p>^}Z>gqM$xgOIzi>%1fOy!^Z*BcG|1`q*KT zboJm1!G-$QQM?nYm3W);1+r9eLqO={Iv)?ctcT-Ruzh7S3N+YoSQ0FIN82_>JdxSY=v{S>R%G)kZ-w46NP^Fi`km7`*k?PmG+}C0(~$kj5LR57xH2R8(vXV(h_se?(5#*5_)} zT9lviRGs6BW>>>BT${Df|4Wroc1e|tXTBDEx)y6L-N5=KJE89&=Rlyx-jtk~ z=gdqNi^GLIPVtg$Lgt@+ovHl5|JkBD5n@F38fPNPoR`J#Qw8a%vjs_X16nex=FIWo zCIWg}I3qT!m@>|b$wis9SUbYpK}1ye&6k=RKh|pfWN1o@*o%_+JJSq9 zeOo(t?@V(vc8*hhSv}+6yijuHw1v3d0ASH=DzY}Gf*3)1jC<-}rGBb^>xB6v6f8 ze@JuVo%RbQ!)76bS#!w4cpnb8O*AT3&WMWaH$vl+OMIxAH!Cd46+ljeVj($`xz2OG zjH=-EJb2j^Znim8zKqNc5+o5|cGUCs2Cb{BhxR9Cg2S_epvd#56e&hN*mQt1oxc)F zA$fakjqi=y>mXC*w&S(pwGq_jh;py;Nm00PZ>Lr|Z58goeyk5C1a2{{YbdoN` zkE&_f81Ki^@`VY1;f;1SXFXSt_6mB?K!%Ei|j8#Lez(quS@%7?dB^meG zn`SS|Du-SQfDe7ti7Ia1oyE6dwWKp-`VD*!G8jy|w76!3y(^^|lIXE8mI(`bclwiE z5HW5|uNd4zQ&%TEjvMZKk}>xGS^!k-1#D48vI#4Mx(hICLuxi3gvE&od*FaEjR79Z zIF~G~hL+!2)I`Sn>blfYJFidnkIs~C%IK*JffZ)jCY=Qr=g_g(r6IF$iLFZPh}L~l7K=7~`F=Ouc2|9zggVWyg7yky=VqIN1p_?6+Q-rT~1pUY><5OBWRYi~o zSL~uju?1n3|LAY50jkVYq)v@TzWqN;SBW>Fw6cx)DgZ5p(;%WvbB7$-hEsn-eU7*0 zJ$?%ZsSExP8!%#6u}oZ#^TvrPa+4IQ|6+JI+|iI20Oc%>_YS=#m)&77AZ9kyTif!d z+j6c}5qFO3R!4ys9D~{`7Oe);;@yOvl<=~wc~A|GT5yt)d&BczD}$w^P#%d&dd1or zG*Ys^esVlxh$#3rc7UryG@1NB!Vdj3mo#rcsGU>z$6W`vwXKb;vPGv;6)R|bx)f0% zDVXg$LL!u?zpvkS!+wD;DQqXT>I>MRL!u)&KR9mT0d;V33EpAVsI!e`q2>xZ(9NmZ zY6<7JXzCuH0GUTAR*AZelm6cywQC^kSVGg|u&Q92M%j%}dVB$|P+hu5x;nlA@oY#s z)y|+{*O=)^+2(NzTIV-gu`M3io+mbV5hSk*{-fsh##dQV?ir9l%L>aI0!KgQ{rSy9 zhFx1)F=J&DTbOzPnmR8#A_S%pF7B6GHMM8p2P~?pe)}G1k=DBMTiF_EvQ@;$0ocv_ z{3+vh)AI&hzCf2!aPJ~F5l?Z=QIAZVkS$j=QS)07YtgE{zvzLOo8mjRGJLKUYRIIt zg(Q(dgCo5dsZvzcX!r=EabSG8^cV0nfBEJZ_?yv4-4+3?=!FyJ>XGy?)qM4vjC@nVuRuu>`SSMAh42f(`}7^G1Z z))}~MvLbx0yF{dHu0r93Z~@6CZ#A;+TsD^ySJCYX|MZsad8eoSb~jV~FBU;t&JkwQMA^!uM&Y_AA(RAFqPitNp0u)oFoDz)aFlb zjKW)SMv*1ToQ{^9B>43J#AH2xQB;qjD` z$lfO-{=cj|Sit#*2Pf8ae(!-QLUT>X#N@LH%=CJg-FLI$bdk}{Sxz*8=CQhlgrqw) zB@Px&So>FjcNZ^}MndXok(gJTVTS!1Hw5?6;qZb7swGCsJ%lGh&HX{kz@1pbkuhW52Te7NOzspedLuX-2Kcl&4 z%hxXH@@7Jy1%|HXQE^EAmcP~WC1}kiy51T{@(nw4J|I!DK|eShvCwg+AF57}tHz2a z-R0tsx}ZVKaMDQOGN=c-CK7q4+5-Qah_gD|7jeKDtk%rf6Nj|B|?->z~G!^pDSv0HIoX)rdR2^Y-F#o zhV=?TW!0)@gF#^V3Bz;zq04Va_&esJ3zqnFCniD{4D4VybE1kltn zhsBt8!uf@jtqoX!xs9s6H`$nXR=i-GUZfxN$;y3KCUE4>tQ1(yW`{W2+xt>7*1xBx zBQBtX2FJ+pdn{3Gle>mFU~#Xo0(cVsV+xV2`)dOGobBK%_|DE?!aM=nHq55Kg*FiF zLTA%Pi2x@Q(ii6C^vN5}zBRhXcb3x-i6{T))dt2Bem4FC09~8}Kra{E*C^2%dCtRq zl8>WL>7^Hl=nj#}a}!1@xn*PV__06YXns?cw8ac>TPGSyOjLcWi1qwLA`A)VzlU?F zpq`R4{(DF#|9uh)Lp0_kxsK4fByz|TnkJNeg4L>CD@{%uXmm2iu6f080s6p&Pd;sY zb6HCZ57Vq7RVz1nh^^>5tCY7AN92eGD6c4)l|$0+(3+7gmc#nG`qM}uJ<)EZ0A9%? zuuJe3G0cc-Uyzn+`>mo{l==_X`>3zzOF}oxx0+iym~2n?s^RKeTqzUtW!-qkcnt>+ z0mnw3)u+uYD8f?6eG~gy!C;1^aJc_w>0+^{AlZPP_f0svDZ`bqgit={70Z`wwr6X0 zRJrpW#}#z!H4V@v@5FjMNtkWJnvo7J(-}Dw-(tQxS2!7_4px-|i|6s6WMY+}{q2*zQ=dXk$w^e`g5<<>3XA8qSc-cIMXB15 zlI~}Hppj2&3X4rGaL&Lby!Y@V6!@#r(P;(8L3;W6K`r90-r3||l|rx9@+e%Py3ZT} zWV+@hR&`H=nUIDl>HT8sHfhwZfFC1=_VvOi5`p04oKbJs_=*NY${#gw!T3D&cj@LR z;F{j!J+uUM#%Udm@8 zuAY)B=a~}9HW{;o(Jebe&+P~zi-W?pWy!re4dX%Ge5jijIVbUEh?2La?Mn}H7Cl{@ zNhq+q*3)4v24Zh9Jm2m=-M{c8n%q0{Bg_ig#&)s1-*1N0jy{L2B11jT=5Y3Jyx*&_ zN2e+}>Cmn;sY3+sc4qY+5X&YDufl3kz2v^*->%{_OPetvts4bT<7dLpdO%J$Y4dXFGi z2u{)9V$0-s3up+R_BU&f8);8m9>O$donJyVp&y1k{4s!=>JZdH8o$3r){dvb_z8lOMS=lrn$dE zRNov!(}hoWR16G==UJFqID~oxVDrZuz;d(Et5ISSUln6};lXL25KK%=aO%kErhUr~ z{9HyI{tLx_GNTU1B7v0s`+(*3ZkNZ@V6P~PGWXI^f0I+nBCUN}nqrdPd5tl>97dvF zRjRRL|MtywHkS;9wW)3?Hb+Onu8g70O1;p+cRVD#(*fceUKR$-&a0g@Y!(^e8XNRV z-B$ZK4lwE|+#Ch%6VJiYjo$%9n+T9(i>w6C|yIFo$cCR&%AJ zVbuyC>!7s+tQH=Ukc8%yZfrk%7aG*C63+ARs(2^R1GBLy#v8Q{n?Fvm8{JT#R*r3| z6YY$jMQ1?kiP?x@JybhqAfzMV3{&T5+Zd_H9GzFhWgGScWFNEr`$bF|;~ebo38^UF z)q(!yzxePa(euD;whrf<>dDD6&yU`Rp{p`A$|l62rqCV~w*%yylG)Kahill}3V~9e zAeq*l-GvekZ05mOl(I^(87u+X>C9d}bOCXz;n#m=O#}%}|70L;DY;Ks7HEhWO@Fy+ zsuA`v!^SMZPh&0BD&9NtyuXF@!c85UZm;G5ApjmlFXc>SaW{w!@g z)1sgfFJShqKxP}ydci>c3!}+T<6kM#Ib6`P@#u9)ZEdf59q(J{*)@F8 zQkhC6!RpdFXoR3g6zTmq&Af{3q?K|5;e@9=PS3jy(s)33;{`oUee$NUphcS5sw1p> z;MOmoN&W^JqmlN0Xnsvd=63CyRT@^#Vq<3vOCDBShLRwkNE9Ng zOE2v_KhDi2sw2|b*kS&0J+OrpbXj+-h(vCQDw0ef28l0DL)dmnu{ncEsYHsTo^OGD z3xmJ&h5aJPh+9cRWpH{{ksnfmiAk>mT78?-6is9UxQOPwAfltA)f47!-$3W}4Cr@V zzCrr%^Ns!{aLoDORL|fIHuNcY-=u5HHrOP?t_)%D&@IWT35+Ur&{-XV&)_N9 z_u1@-vMp+7@#3yuX$31O2a-xwDG&#K#+kvng%6-T?RnnMW?7^t#^<9ZDgFpux^n$t z`5<7T!LlcIGJJ2sQ`pN0^l2r_f;t$N4{2AYO?PT%E*=pxfhT)EhVs*6oK{>B&Y2?z z!MB*McDq%1=w^!ts`AHKb5&&LloBKK*hJZjwbY*w8?ta>zB8WKO`$*(XVvJtLS0q14wL5=_dw}dL>U0 zKUf`t5Clmi&<}+03|afjOTGb3bC_j~9jpYsKydn+!4D^2K}V^%q^P=bI`FOPtN464 zW&3An{O71apAF0ghK(!LP_tzmwyA^9cHYSowLnu z8roN63jS3igLo4t3oPnuV}=uPR0jW9C?)nXN8w?Ue;LT&_$nHch|G9m$k2!1+ec1+W32|-%X1|qqgl9y%(H(3 zytfgjdwPIpb8c$li$SMNi-~2T*E_4HlHQ%!bu_$_wx9zcZ%tTIv z#b|Uoa)2MQC%-V;`Z8N4MO5Cb>=`1DAeXMP-cuku6@h@p>x&&@_~6 zU9XLn+hA7zFCwpJdvw9l(hbv-t=?huagO5Lr|rKO-~$d|H%#{TH_!(AF=I=ryBiXJ zN0pwr+{)iUx7c^n+%_Ik>}P$Oi1YUD6Vj_N6StzwpXG|rPyWybTY1`?Cs-+V=xHPX zP1KE#+Q@)&jnm9^b2;EDboKG+v1xe7&k!@t_%PDsRftf78A9 zYGrqp&)~R5-GA)KZAd6aVc~z~Y*zF=;1lD*Kep!UQ<5yEDhmRfqGb;{zFIuD>^!I~ zngz|(jTo)#ER2T#oHb-jQdn;1S65ETY)u1s%EDBTu1|^J9$w8QV^r4Ck~oGia*$JG zON&Qh+`P3c^lzOVcP=)Fo}^W5Ixi%*s41D{xDK#aBw2q>Nr&Kt7#f=2+Sxrn=LwFesv1UkfzT!6AaAyD zXQyQBd{LMdM%-t(SPGU)b2~k~1@PF(^SCefxc;B~&tXpR-Dp4xDeT`bh_v_8h~gPF zwGKLJ^*U-_j2LMfOwe@$Es|p>Y0KeegAB|eg{Y-H5&6!a?D@0V>hq5@Yh@#WLxKf^ zY>KEC(mfcg0lN-B2wq-15=TZl88u4A??El`k;fD5x=a#mB}Opz=8{AMkdkSJx`%wK zpWt_{j52AHwl)0z%#sIXi)&QlUG*E5GLFSdkwj_473s&(=Of7*V5am@AWCB}ifa;B zq@bpw7rfpElE7CrC|wj-tn!qJ>JpLcOy)A{MRaP6@hC+x>vBPbe-=-ywr^ddBIwu=&l8P=wI=>7zxUWW})Nbfjm1wJ;Rzu|uSyVry*z;g6MI;fex zr20BQZWgdMvvZ;_z8ycK{0~iM85UK$MqwJ1MjE7>LAp!28|m&YK{}+nrKK4f=`QI8 z8Kk>=q#Mruew_bv5gYa!>sjkwfXuX*Q6;v#mvHAPBRN*z*VOH`-aA-rKb`FqGdI;no@L|Mz^2Xs2eBHrTK* zeL#)zBnVIq8YmTvb9;aZBfvF9S0gm-u`X0yxGAP)LH5m!QazzEH6wUpluwbSbqzKp zbzOw|f7hQ!RC4@@J+%4HxBG~K|M`dN_%Yjm=N(v}0zS>-CZj##2|2x&dtRv0^H2}C zmSvls@CYe=Gnrnur`$CRcsELfg|L3e^5JJEymy)}xj5#n$m-ETaxr>EU{_y zH3dWQB8y_Kg4YJl3atQesnQgZ3mWF6K;U12B1)r?r3)3= z-Zk%RRUJ8j98?TG~wVZ z(Y}#@s(+x(FOiE*xZ|a)3$+yGQ)wsh5j;H+tqWnFoVIz=i_ik1zxCTj?r)a|QZ2(fIQ#s(9kd#K;epgpDnA^KAw1 z+{#rQ4YhJq=!3tEpGsf<-rioYlxizyTg3T7$VSx_xZruNYcP*^RZlU_X`N)Co8-zK zUsaGJD)`5j>D~L2zxfp=9cx=YT>&kh&BK0l)}yIfAApzH1fl(db#k?}H$H3!hEs-}hjb>TyR`S`rdKG|W*Zk2D8kU9OpY0J?r}s^p>x zgVYw(NZSU~O%&BqGtda574>Qu{DPxHrd#3CG&@@-8b({nm{dF4gnlt`kv)=itmS&9 z&{oOSLu1@=ecO!;jSb$Tne!rSA1!oucWnYEyf4_z5l8(sg8*M<21Ep1!cpC<}tj*n8H!ACe?#HY{ zF&X4LJmb!~VVx@P?iq8CVG7?)-kwDRenb^>7ir;!i3A-|2%X-^LU1Eq$lCBO4nqjg zV}3}}d*fWIKc6`VA}U6(W~w?U1`*;Om9wS;CD}1DNzv*TA<;y;f7gf2E=?`i)9E`kPl* zoMZKp3*U@j=D)G1O(wCHWe`!CDCzrB+gLtY5!1DW;Y&@;@(3O>3pN5dZL5Zor5Oxo zwQ4D4q_DW*=Nn+b@@j$qbMz;se>uJ}hv!RLSzV~~Y+|#y&lfYFK2uUQl?Ho-6R`Bg zAJT6^?7wBpI%fo>J}6kxb7>KjsCL%av#>i3VH$UvSj(Q*uUj~mc*_A6oVLv@O&T^9 z7pLht$Q6O0%Y#`{^S>dwD_92FWvAxV&4W>1f6FQRO-Qp5E+X)GSLZ=vCQXNqsiUiE ze_n`Cfh}K|bKK>p7&t)ZlZDJp=(cI3nDq=;7@iO>JdPot7MX>4{hT)FI5UU~g!AzL>{H@JkRpsXP)=XWH>TbN*C^F(}N;Lgy5S9u#;e+?d6_y z0xRATlnu@G`5q>?cWG5<{HUnj%9uUA=?<6DqNYBwN=`h_hS*B8)4ftME=dY8M<1t~t#mFP3XHL2XeZcqf8_1x`a4jE zTREznW(j`Bqbx!@TZg*0?#CZ}K7ZvYKt}Y#&Y`BzjMLY+$>7)cah0}>;?G2bpXvI7 zzKHp|{4v8^I^nSBr{Wy_Y?A(6+ZPu{9g&+fN^1Cc;omQ(f%X#7x1$Yle@zl|txy!> zDT|J&^c32AwKP|S>w;7!H1W9`Jm7%{p>H*q^78Yu zqV5`X4ik_L*8&LCPKW4!OJ~0eD`=OAiaAWyf64%3H;l5c!do9iJ!S)T^q-cwvF|7; z#7&$?>5!?)C3Ee7qsOY#)^EQ_lvp6k(IYUuxN>Fl<*U4V~r z2)Z9J_R>QTB0TvaH@Dj))7pZ^*xzWCDD*cLIr@Z@QGOFy6X39JV$nYx9@QcFq|B^^ z$(oPGc1LT*W&3opQu)+8)Gedy_~!=1uc*QES7DY`mx;DC=I7nJH|Xasm!#5TZ&-78 z1qFrVP*a-QS5y;pEVIU%Y|G5JNdw^|RYhT1S9qu_Dt^X6lzO+@PWPy#AxNVbPo{xpxd$Nou7 zA>kjhbbw0 zw(?hQNtUP&4m|n}N<~bX@oK-Q$-B^8%gFN^9HmI*+kr|-o20q;4p@@^;iWGT~ za1Ny*Vk#K^O7x*^^cw?L3Sc8@?+|GrSypEv=A~J%zp+lA74w+$kCJv{Tl9fb!>*DGJm1PETL#PR z&)Cill4Xw&6!N2k)tQlyCADVKJC?E?Pg8k*PIs0?7rKl_#=3IZe>i&X%s)B!q%b?e zG-~nnaTm1R)V*A|Kq!x2R^9pzfQqywK<%q^8`o~vU<5T4XDLQoTv<_QKdSx1D9 zFes@gPCdANJIbD_uD2NbU>j(XOaFWgVMXbODTRz~Q*v4(c*k>*RV(@5AG=W)I>E4^ zb+JxyY@3(-ZmD9LTR8Ew)^u!lqukY%?s^3vt})(O-hOSlzg*1>T9P$|@&en`o{4p2 zm=nxsIP>%i_L#MJiRAUJfN0x)L>}AF=3oUFqb#pLPv~U~J3XQ@#+#WR4pHri+n~5nXR5QlR5-_mG zC+pTmln)2Av~cD0TC&eJ#583b5CKBq+Gz!ixb08~MK1)xdAxtTu>`!$Jv|GL(G%*R zj^>N$)M?nj*J&T0HB=q%p-((B@@aTOk~Oyf;)Txx443+;|00M7XnSZ-HxGz)F7Ta(W?mFL%IhwG;p8VxKq`;{tivZhn}FHhlHgQfxY$=P|(;@pRm`urx^ZJtPuMf18gaZyh-ESol?Hka`# z%+*#rH`35jxhANz9 zuDKZ$VvQ>ujBDPE-LW`Dft8R`PYETX_zAfV7_x~KJE%_y?ywFLqEBI%;d)Pv1_=UN z^;tTAibZ;aSQ*N*orD?Xa;T!ICHFIT9|)H&MLXoFCpi)#yL&p2VGKT5Yi6_5BIVXp zAX+uOEkQl61%nVnAsnW;R_U;;LsoUQ0^bWm8d7cJZL^9PP=N#I)q^B7zb>mq778Qg zV$N?V(P}ik=+FZG%zz>}py)qdPx?hSp9Bdg9`dv_bHIS&ymVgw03Z5vAIMwciUA35 zp!@Ll`Fcl%H!$K0rXs}R&nPOeTKRB_j#_wt$11^_rNFJ(moD&z%>^U9g(E&QF%8U^ z=8c$7obUq&bZhxfYFebAJKN42erMYzif8#HzVQWM<}GYI;)b3d&8%h!$z(kPmWu(o zXaI>k8uuL&b2TlLhWS-R+7O&SGh&oRt6Z8QwdSS|efo`RKV)0a0GUq*zc?j89(Li+ zO|U&JNX%pkfNL*c0<@A)D`MkmI61Yc-c<%N`FD2-l6X6W4F&KaqwvWzby}yrX_bqU zsZrj9HuoS=xs`iZ?fpQ;=wOMKl5U|@(R;+g4FzKk>V#j5PTv^D$IRm`7t^u-U2I{G zclr(cjnGtWlcN80{>6G95qQt*fUziGPCX`qmq)8?WnoB zuHhQT3bNvCVn>CID_S&uKU!dePj7Z}|1Xja1t=?W4fLFjhs6@!(Bx|P&}8kmCN%jf z&f#Ku8D^igM4X$6abGKH(sOWCsG#S5%N7r?4#f=@goM!AQ2SYr95m@YyDxrdR2eri?xCY`vjENO(GyPotHJ_Whud&d6jj~P8#F)br2G_|D z4rNUA{6;JrxVYXTi>occIHY1Xy=agW234ipIEU{avjlGbjeL#~|WE9p4|Rm%*-IJ1okGcfaB1b%0RO=kTE- z)0{DTx5xu(!DrzgDQvUUYb^6REaaFTENoZej(|E?s)(mN9j$h*C0Wehy7H*-XQ+41t{}`+S-L=D(s5WCIV8ho3gkHj*w#>IBN>N1kM* z;Xg{@O(15HDW&DEB?mS%>g3P{^_+p$j*f!|(~=}RLCm5N1rlTpJ3pjs461_$f) zkUwxnD6cg5CbLZ+0VznIf*`O4G5S6^+r{+Z-s|df&fq!AD~Pl?g~sDnDR9aRwLChb zWu^MZXBjf${ID2xgV&ew`hg{NReJb2JwXE8-y&$jmS1*)*eGD|>ED4}-OHV9E)L9| z&K^sKJ#_!AKm%p45P$Dl9IRG$5w2nDd4t@Ck2MYMb=#w}$Kr%^vVY>#BM15S!kvsau>{yAg7X=V9Em{V2X~=oi zsbY5gC;q)t`+FR9CeDs#yFVG;xka^Q&FwX|6kI-TIVcu z2>`I1qVQN|!RzfSQpsLpS~DdWwvyXAYu+$o@BNr{eHF}SU06$%N`;|{3XbE*%#C&w z0BibUUVOEd(pKD7b3%L!)rlKRU~%1c6ZtRb{xH%4Sj+fzNQYZ{eE-qS06^G_mb}d9 ze;o>11ku+}aYLXO>1d)rWuK}*T)v^bqhr|SkSs?ma@99qR0T9pU$y9e>}%3*cO=bA z#*u1udN-%M?|qJ(dU<*Re$`ymYOm32KkDwGUCfy#SV+4v(Rzo0dGPYOS*DFO1BETh z?a1v;^v+!kq!bNSU&Iw=(KvW|V#eX*Q6Q*t!lYX6_tY%rYDHd%xsh zl=z+5Oy>}1!SC+Jm7kynJnWJGJKM`Hb-eBmdU5jP{7!Vmkr8U$)YHLm8gPgm1WL&= zE13km%^fVrBWG3$b0ZUfE|qGVULz}30YY8bFY78ELVE_FpACDLkIJobui8;Ry#rBf zvqYOTg8>_*|L{Y|P}r@Xz(X=#cmeV|w&ow2-fFnxfJaaaNAT)Va+7p7(yKe%Hk!HdA?I=b2)l##&ZMY3Oj6Lm}g97&ZFgW zt{%iML{!O?fOvX^5!~yKmw=f7)V23`zav&$cWayV5>-n5H0T=ZU5IO+ySTnS$8Ew< z->1q&n{T_gp_iG8^wQDaRr>CoY1#qv^w&9Vg010U>*751y_~Qn+8Zx{*vS!e~aWk^Ia zGOU?kn3oWO`d{PewChOWOMb0P&PPPkDE((kd|Dy#VIE3Zh#0>)<}hSuX!FJf=D^M| zGJQ2HHzY?BbG2)_#lNPo5rt)uX77acm~)wx_6zp(+4ljN(C|BuWTC0b3$Z>vef`YS z-mp6dA*jeiH%-n94ue(ug0?GGodnZj#^hzRY#_T&W|!Yfxa}ppA+-X1f4g*YMHq|3ZPD? zT$^fjQflo>={4*N=6rLw^%)#yK*573$_dLmP{ICoV>m5jBe|4cc)8HLFRP4;hiT>%b4Ei zL($ibw~K|Vz2H8@;n~e_t<_828fu7B?jE1+dAE@n`c~J`*D$N&TKko$53V+i%s~{r z0WxiPp!J4^i8J8E8?b5VZwCR|hFf)qyVc6s{CGhjo3sf*IEE-u5kLUoW@HWc$6&5c zVofLwVBNWX&DrO%w&a+1jWBUMT||(xPouux?*P@0^ZRY=L`z*YdLisJC%a~5dy{99ETpTn%$a7cwEZfDGt@#mTAf1X=9mc zjp6Tz`08gdh6&~+7}0ol85zDVHvcTR(5D*RV2Lo87*6U{T2a0A@oX)!_^ZROL*h+3 zxW1IKSpQ8VPxzy)hT|%L+`itq-x@TIKJyQF4Q?-Y)M0vYxJSGH$x07UEPw!@acW3V zxqE8Vms~95nbnGcLEtrAIm?wZ=1#ZLQM{(fXCK8v=(Uj(Vv;^x{tsbr$c>dXEYoWU zY_>+fUJXXvE67r3!dWTjiI-p!Rk zbH`F6#R$Yts0hS`D71&L(dghK(Y-Ts=?@6(1;iWwCRAY*Gx_a|q{i~WvR^Sba5pS~ zl@Yi%x?Ro)OT)J2xKd!QHDF6WqYc@zd7E!ZOARtN>{kr@yE3%0BD)hg3k$h{ zYv(Me{|b^~YvQdNMu}Xv(83!?0R(!5{r<6@-fg_aOA?)@@vke`X&Kne-=DRLT$;v1L@XLs`)e=)nVn}==P%-ej>fJ7h{2cCu_4+(FIM)Lwm`v)(a z>_@W2jl_EwQmFz~)F!E&AC{xVK-doWO|_}ufeC^bVXJjvOREu#Q=|Jdj13LunVXgk z?2gF>cKG*(U_i1t=fq|r&G6QG>&Xy7l&#$?<1W`c!=ANN^RY`cGnVQJjGvF+8Ax7| zg;?uG|J(~bxzg93J-o!eSc@~Pr=9+7@+Y^=Bf5%t4>5gwaC}+lulcTJaltYq{Fqr@ zKdk{YY_|We2HLr0IFX!@$roSk?FaO?@rKf6Cm~Chr7R8)_-HT`tQJ+Yw(>ge(0S}l zFx#?x4yv!h$}Coc>KiV^uTN=R?-M-Lv)L`I^XH;EC|XZThQL_3;x+J*F!xiyPyzjV za-(K$Z3&*oo=em2F4X5hpSxALZfs(wmw1Ywg*=X?UcQJ7Efb^GLqn_s>CyPIrarH+ z{41d3_4Ov_Dz+E)-#|yrsT$X_%av+qydg*KyVK4Wi-74rJ^dF$^z2Gr5rdmXdB!kk zJYQXc-8tmJsWWu``T$rpjYGL>4Oj^j_X`dq)(L{_8ZHp>@miEifN(@*S3d_8z>mJ$ zyq17|PQ*F}rse1kI_GaTm-H$ zB+ItSJep8Q=R~H!srI@KFewe)HhiiZ?q7pfSMVwnx(9ILGYn|r1MhsZmzzCU*Xpal z6tXYz{CUce$tbppE~-(M@<+P!h>qhUS2L-^%vvW!g_@PMd(GWOHYo8<7mbSN_Rh1z zk9Gku`VGDgMufD*M{S9?ERDwWiB=rtyg!iO_gJa->{cd`fEvV0I)&QI5Ok;78M7f^;TvK6h{{6QO~-pB3B{LO}}6ln0KWs?Jn zH|K-y@~ABCI^eMoGSY}*9=v(+2)u;tEx(u%N|S;P#S1=|er~2#zD7fsV))<}^Xxaj zijSaajf;fOLPtQwiDORc6Ut*wL&qvYia}UiNTH+wLC5iG7+E}Ys-B$ZT(LML|$zL-hNeAx>6J2lB*k*=+)g`a~{R6~M>e~cw%;Xx-@ zNo$D)kF;#Tqdn{z3pAPmQ%|CU@xi6xgHmf_RfKhg?qABh>|ubhiLO-P`A*aJMhK!( znyOvJT=;eo_~_YFQ+er4ed_5u0XdCAC!XULa#V!)R{!$y^C~v|#{O+r{m#8%}cAQEoTCpB1VdwAMEzM`|OfBqqPn8_wb>1 zD8;)7PcQ5Eycp<~zatyC3n+dZ7dJwRnT3a?N;NV2>+Tm(H5@>J}p_`om zk6R~MT}QF#Erg+j{Kzi^&UpV~y08By}V0Lg(>%swR-^H01N?BYi2jP$It2I zSZ*T)HCNZIoVl{+MJ4-*#FHCXDS_$#ZR7JR8u!{*YRzT<2f6;&x1HmzbQ*<*9pxUq z&?(R#P6^mg>CKo;TsRr9bygiuSTAK1>}!T!7{v`)?l46IsO*Ph2Vhv3IJeiKf_*Os zGMMQADY<23vY9`p*?0;n>mXRiPOg#VHjW+MDFnsC90Ge|Nmw-Fn*glW^oZ!(*+%r+ z2+t|9AtS3%iUt!?{ zLuiUsSaCSc5Dh2V9e5QqF==J4#7Ik&K91N$3sN9v-mUv&H;V8b2EqjxHB1qEp1d>t zp9&f%KX2;8tEJKOU`a|&>#fX{RR~^ox;)o?A~lpQHf3@0`sIN7klynw*xCIG6AY7= zE4t;^X3}B$p>&g}>rP3-)M)WEpmXF$lm#Oc@}NXA{a3ekHd6S|~u%KwHR1&WeKgbG(Py zOVIH62`10IV@Th`33JB8sz+*XRQr5WHLqH^;}PwjM4=d|Jf*QSZ|zUfodk+yWS|Hp zX-AS1&}8idCr~nt_ZcFAZw5B+>KRzPTAB%0=Uc5gu{Gh-C}WJqIT1O6&rxWKnF z=se0@!t`YbZ#`5_9)iRarNMd~;riLu=JoIU+`lv#QN(3zk_!#Fhs*Okotns4BXwp? z2NreTEx#<(JS3QJo7UA3(yi+!1FhcopRlA%O*5Z6wK;1=#h22;G|Lt(+{CabI8$pZ z#F%E=7`O3D7~~aEE!#ULr%*+lK4?4rEkah)xGRBysi;gv=`r(o=Vju#W&wj6MoEn_ z(-f!hmFAa13NE0Bv}^?Iuq~YTwAUD3^7vC!yD|t6)A4;{Wru4fTZW^%eV#2Hf{pIG zOXdS#tkAf;Kbd3GX`14TKNJKnrnp#R!+L~Kpc(WDsKoGAGmU+D9>0?`5s%(@yPxEh zPo|+lsS-o?3!y-qeE*nQTSIowxR-ETJ-+Agz7P(=B{6!n{J!iv?)7I0YR4_UQd*nO z)8dA_pAz)6w#!03TP!S9!|JAa2iYcrMI_BXj?p=_tYK>;z|{RMhX_4%eeGKBOjG^H zJZ)}!P)Z_D_TOE&8D5eS}DP7D-#uRiaI{5+JHNlmD%#;CRRTew+F z-HWJ+(7W|OoK1z;S3Pe6(%I9)np$BWWYE_v@HI&bgZvsvY)f{n z8mHD_LlZX^je~@)Uw2*A3!!y)2&?^kcccouWMORHT-MS7neY4=H479I!z|NnzI+_6 z`lYURRkM~NAs}xMXakbHr#htMi1XNVBUPd#ENg4ur9>IY!kkc1=jC1o zOK)k+4PT$tEuSmuHHP#J(?mfKw8~e>NbLxsvJ%g%?CF%{twOQV22|HSilWZqwyYq& z?e#p96Gps?QELAn!Si}C?9Ao4!Y{e3WOKE_gABN+ObOE=7}~czY!;(6Oc( z&yX;11)&EqbE*M=)Vei?kJ9gDLkGwpkydzDuB4oyf3%*6$!wSDE~g)!!@aXyg~+;Kzbx7;ToBDzPj4k{(Ly~j za6?JBE7sW1_(7!TfE zN$H_Rfm?Ob_Ite^T+dv3|8>k=c$c+tX4>>~+Cee2F~M4s1m+JVvP7qdtSqLakB!nE z$23Nw%NL2<4zUgp@8RSEZTXQ^!$lSaJBL+rvCe+j3bTD~SYRG_v~K;HU-GqUS2up9 z4}vgYOPn&}gsPD$J(tM*g*uz!dAG?QVTw~l8q3kLNbP2D0NV-{oiijsw_xmMa_{gj8 z0pR>>=Z0nL6TzF7Cn ziB}f%&+i+l8#cdSuA_Pp)|KDRIWFg5jS5Ai6Oa>tptDt3KXGM0 zHXP)v*{2a;QZ`C*WouZHu2+EXe3JrjhHg%Samuhj(S7d>$tCKq7rgmt0a`!@i;~Gn zyP5e`)Oh`4s-~0#PE0J%&UD}-=VQ$s;G{yLdXuCh-`-7RwfV9TSx8tC*45S7y_x>2 zhfhlxG5e6GWhLx!dV!!6O(|UUOGEh(TPzjk&200z+Nx+hl~&P%O$D{zHW;M#1!NWY zd>`J+03t^(?R!~+dZzzlL0u6+bXcqGAS&g|8<6eGcU-6k@qNr&EVd+i?B-=cF6997 z?eF!vtGJZNvN?K50*FXgYFt^~Izg&Pqc6%x=5+X!Y=%E812iXThg_CQ*vHSa8SU4(KC#M>Bo(VWf%`Y>W~OQm(C9pp0HkGPcL z;zkog!I~*ma+d*~pBMCxfwW~f-#2x=V95M9h1~sgI<@-;awK~JFA@%wY|Z73ISXb&d$=TIF2zIG6mB&&$eGjCk6ks zk?--7pl%A2#bZp5%#yPHVztRe%08Rt`Pt=5Cn_A+*W%oxZ?44Yx8UgnhrEdxH$}|z zhvzppsntsJ{q^%`Y;NC^$a)~&+cT8(Jp)THWiSX$N_MP%6^hK`QG{8!&F8lB#Ab6s zIm(lr40sn#ZelI>yn92fGTvON4u4N!1>AKORo)?~CFa`;pq)i_e`Ndifekq_1i_rw zoY)F&E!5;)T`Vdaaz;3jj`;Oiq-_Q^h;rR{gZ+k+4e{`p%r@1OOdGTlU6+TA{4T4# zp97ijiRc8^;k`zWnT-sMTKHW$ufsTeyVd6njKgEtl$RI774uViw8j z7p<+w0I499Et~>-WUem}G>Yt)sO?~xg=@aEyg!;O;otiB6lH_a`~^2J0|vQ15k3-8 znrXHmU9p)H<4^2FbB$ruu(w)t3m@*($5CTb zfg#oWdr^h(>78!Qj$3y@x#0C=I`EAi5j973il4RbbWWik+p#5h&B(M7>_eYQq)BN|(y-(*3Zc>irqMO$ z_doAG)IhZZtRcY#Bz4N4b5nJ~@y1cm)(|FO_F^u?y(U_0OokkVv?BmTzO9wrxM`$pYI+b4ji1IDX< z$vkPL!cd=hiM2EU9)5UOfU26TW3kf>VMNsXP6G!*fX>;Extd_>wt8@29SaYO3P4O= z*z!ldVlt7IVkVnh)l6~9Sy!knO;}Yii_C>NI9v$2Lt29}KxyA+h|wo_>u1|Ie7JGvYK6L219rDL=(R}!=)LuB2G6m-iEj+-r# zwF>&8Z1zv=j<%Ee!X`E>b+f|jCBKOF>F|BAoZaVA>BfOKN%@`eUAZ|aazeFY%ByFE zdip(3Q4g+OT+mM4CH4NzGKZ_d;Zgd1azs%srcJbmk*wi|hj7nLrdfw7Sb9Nf@Pn7RaF; z7S!3vmo9_)K0gKCk^ft9enT?-SlNCVGz+R;1i4ee)hYgaPy`B%@-HpKh5;1DY6<1Mdv zbw~m>B~+@IzOO_T*)(n;>_h&jEr0P!=eb<5ElYOFxGu7yn}@toX_! zl338j>#H*`%=D-GrY!9m3rLX5CXA0=G~}&o&N^v>&F=EV`;A8Z_>MSfKR!JF<@v1G zKyFATwi9r+GL>+&r<(=zw3!6*ZBAO)EMqXGFimo#+t{KWaHN^Kvj)O5Om4IzgcV3 zkQ+@CoBnB&My&6S1RbwpH-e`VytZ$C8+VJ2_tp_w>8E$d3{ly+kUopp9CsNcOQOi|^%hP!54K0N-kP#d}j+kzHNgaGFV%t{g_emakpB z@3M|_VSYz!T|~YFKwm3Xg&3l3O{^@2A-L@`1 z6!4d=?j)I4{}1JdS5=4ehM7W20$GCyX5{=C{uor3@-gS3WKRHFP!2M zCINCNk$jl(k+#)baKd+ZE@+L*Q10keIhge7mH(c(bd z=qEX?40gct{ZI~!tcdvg2n;`^(Z3_33^mA!m?E(>xQk;M^_leyjJzmtyvp)ly?-$Q zNFR_=k~NowGY<_-Wf-_T4uJ2A$E?V7A7HPnSLP<8ppk>4;t2RJzhW z+F$_u$)ckwKPrfGYlS?LnvjEvT9FHJJYrxyZ zB)L~snndhQD3_Az7scxz-kOj*hG?NhR&K+a=)abH0##R_;cp#MSyn@nWGpW!haDAW z4D0PRImavsEGndbbgJNtr!yL>XV*l8g&!2|Z(qY97ZyV+e>kOmAi4I;vemS4j&>uv z##jYlC*qz~Jaq>1w%1eONK#sQfVo~dlgnE(z}Qfb+t#wL@xfwL8V=$53!${G)&2lY z&=9;Np=27~oEnDJqp2h8H~le``@ij!SRyaol;@H-M${c#B}3S6Hkekb__LaE zax3++nj>Y`Ety2J=A2q84U6|-5)?q#IvITbdghsB7=ymPVeGIhiT(tEq`;$!SOJ|) zf4OKfWW#y*Lg$C~*byDhkS3|aSy3UoPR#iwUlb2fkyVFJIm#1j~okZM%6 zdb~i$rFc?kLG8wu722N{g7$2k8BK5?G-|H!iFv`!B^P;c^;aweK-VK%Z>gyqrCj6# zEVb8$5z~1+UVV3^2P$c2i5$huUny$G{&*r*qQ)t2Amnem zs$(d3!!giM#+Cf`#Uso+lYQ}@DXC0pjje{-F5>a=xe*njJCJ4?a1FkCBC$(nv&SBoLFn?JWKSQJ9FGY zENf<_$i>+rZExQ=Gm(ZJN03C@@#zvx3`rn6AeU)%q zxruE)F+!xW(}pT1UI$*m^l8kU-qo7#Vuf-JcVc}{asAdlT&cVtkSNoFBz~-hpi*N} z;%87df7Mj_E?&)_SV&-PgrAy?)3oN?u{N~@g6l-!L5tam*vf|I-fzQ`it0C2q5Z63 z-m$W?H_R&}8tAr}C|-#dbl5~mQ)h6occuN5v$S~D>>IIk2)fqvewwOicY9dws;I3& z^_Tb-9*su)0ug<^Gj8hIEcosCJ+^t-eFC)w2+(7_8J6i#&N20yS3oXgzX>L$l7fUg z$aI`wydqDw<3$v~dz720CH)RGR4=P`Ou-Z;OpasuOx##@bVIHKtj2*Ct8lb@PQ3bL ztL!%ct~n+eX~3pS7R#fQ^H1az%@(TL85sfcC*xEUkRb>civ(BK@%|L$>g#ufkg!p@=QBGfp=mg?lAblugc4v%;y>jqjis1p)4G4 zj>4S|F1L1Ze=$EM4oet4WO#8*&Oh-gKfSwN@e?9+kBXj!=yAtd zsu7qDyKER<0zX$*^}b+I{b<}yR;#9K*~YgY1k8g@;IGvuf?A33lq$0qE(lSs?9D4I zU{|;LlyTZvP~8S}(zmhIR10OI8~P#`Q;724n84@@I1dBpMOd!6IE5b#Ec1ufZG3zd zp6gL~K=es_?7lPeCnO4xff_~5_w_X1P=48A28>8hkj+_b3S%HCGOFa{O!G$`%P7dv zZa!?+R|NjXn&FQ~@M;EAva@sWO1yjXsJ#j39T=NWXU7hg-t5Ii+(}G&cO4(KU`nYi zRo~|t;1>!x-(~+QEsA`_UNBrKw$Zh+H)s(-6gib!J6Xn;%gV|*9taF@XuVJy7#G32S;l(lV_!x0Om6cI-&;#U=IC<=TC1+_*mTBB7NX4Q~=^N$}n`+ zp7RJhbBZ`9RXJp#m!&(j&8l5H2gS0xg?$fDaXfsCr}R!m`XrJxeYL81S?;*Fm7Q3> zYL-g}RBrpwEa1syWn2q1hd+h$DYG@x;C$lT+sq0`X}8t5rx*e+=G*I8=$i7gb+U#B z3>@{&XoHyh*rZ7>1XZXW`GLO;B^qg?wBiVvwBO4m>d^O@7#cZMixQ%uukvasXpqLu zTEW5-0a5?~v5H=&*ePR?gAt7NH;&S4#VkgMIZ2ZA8pMg5Yl@ZmTZD6zzIN^OAu!=k zW{`LpN=OmKZ@YiXFP+4WO#hzBo#l#QtWz>;_YioKgI>;q_;#hOG6`@WkW_~0X2O$k=1r7w}pf9l5ANtsaE?mTkONCN=3!!(}T}egi{f+eJQhM4Hz_{sJ z+tQYWbJQLdjz-NPPbP>zgFTzqj_u+8ea5BP0Km(^m3I0<_y}vbLN%!{=21kLv^Su5 z<)DVj3~xVKT2L@m4?1k0w-~-gv5lH(=8h^fM8?+CmUGLVhlg*-Nmlyoicz_NSpk_1 ztzQEvt%+9LwVepe&Ck92z~WpQ9@`+-AHv4wg8dTM&qnbG@UO^w;9N8sz%fko+--jb zSsQjk9>$TxIFenna!v;n*giXpeP+_b3r-~_b8Z}m)^4oqCfH0YT2P+6XN8j@#YvK4 z{)<_jkB4Cnz1{z=PQ0l~wltvSc9|`gTT53!I?+-Tv?U zhuu&>skh;1fDsoSfbsi)7lv(Q6yTK`=Jht*|C^qRqwB$9ecsk^fghG7Ds#6ZBgt78 zKf5p~=gSxF2HuIe6G-Z{I= zsUx@+5m2rSGHKb?0zxr)Mpg|ehNJVyCAoiv|F84nw5rdzb-MS@M-2}a48JHY!gcH~ zM~{xwQ7DwUv1?i?kwxHw7?_toF_AKlySc;=JR+Q!;Dit6DviF=vR|B&oeziLu~0|b zM#iJP=12LNkuX-lhVYiY12%@=dp=vVrr8u@#N-iWwSRN2<5bybg!K`lg@8LJUBp`S z3qvfq?*C}I%BZN?XiaxFg3{eRbb|uV=orwL%N%a3$5YQyQ~Sibb|sh8xm>`tt4~thiFhf^~>lkGQUoT0egE} zt9rT2CiED<`WrJ4uOMfH`kQWQjGs3SiIcR3k2c#yK=F=`X`@&I`0$IT^(E(Z>uuMV!Vez}T zj>q7xB?DQmI~$uGpzKO!Kx77Pl1-y!-AN#T@?Ku?xwy|KysKaT00L=*gqo+IC{MY* zk0|e)tQ90deneHxbG93-@!d)th+5I)sBnVyR2b4bkN_tVU`BQVl7~Ww+AY(6vJTlYHj^MaZzNe5Ns}VLYL2+#XG`_>u6vX<&KnII?5ve$8uieSwEUFc_jKM=otfn5!Vwf={%;S)NxFa^Ybh8 z>}ba7Qui-f#Izd_b+gcwDaW#&R17;3(IqI z?HFJ@SUjdgh1^c&DbIT)r#`>7R+(ZgUDaG%b&}*(868^;aQebSm1k$)lR?LkB{vde`F&Tot>J+*wgNHBPBdUg z)@ZgHs00mrdKu1N;{Cg~B9%oQr{@KL-(eL_&DuGoXWTLP6A-Ff;(wtrHPQausJjiU zM}bc#5zx5s@gC0md;=uCA86x9HYxk0+mohhr{!G=j(_Y?@+N7M0m=tUjfgwbkbR43 z!WUc43G~v(SE@L23fge40~cr%pn}YZVF1$HgN=i)9x#FE`m6w}WuP?zCW&D6g+l4& z>80*7DPaoU)}h&zVdJ{SofC?0#d9cM~0n#SZv36Ef_mhlOaP4Xwn zW*x6}{`9e)iCR`Mm9rKiAc6Z#7g^)qin6%UACs#RrZ45J0!SgnT-WbwKOb*3e*L%_ zk$`Xn$IGT0n9KD4T!3(c*#77@HK=z^n5&poSzf<%bj&*hV>850=ddtvjE$~p_Ktr} z+f`m4cgs}vt(IP&AJ75&REN)*Sy}p--~OChr7e+(P=61Xn-l*-f9u>vscgbfc~UQ& zTn;JQY4&MxDSg7MitgnF1Bm6Z9!P%;e>o!IHe}vnbm1IKLAJL`lC7$Z9evXg&FbKgX|DX&p*9YT~ zHi_`Vw0#P|9OH$VG{nwBxm!lumZ-botdX2?l!6}zA}%n>o)q_f$U4{;o9|kF1gz>a z3jc;^;?Gx}<$Nt&46{5MHmPb}$A$5Dy$;WertGvIIk+=&XQ4v2z2;BH^Gs?fPt4?k zqqxl7;CE@D(Op^lywFm5RzB!*Exivv3Q6N!0^*fEc=MYV&pWd~uf&|&87CVWcUqnx(eEs*`%AwyMkv3T!-|P@)Zoh^= zwf&uDF)IaY6DVz0tI`_f%9%hncG4mY+h%ANFFZCtLQovO@gok@f#<@Kl6QzFA`>bg zf&qc?P2eYYh`uh@W1`5%uXu3r@V-Uy!2rz7x>sBLSJny9QBcIc=-y_bRmU`o7H=l5 zcP@MA$$FUHn+oe zY4@|PgEf}|AKNaD08N0bR4tmULE1+w@JreD0(RS~{eH;ppa{OCM00P}+cPmhI!Ayl z(yl->A@V%M7l#xrK#bk3+FI2?_$K=3N188G}7$4S5A_qRdGg)S4v48SBehX9?QhdhW9`cW;ihl|^9grtGR~ZOw7*7C}LaqyOTi%{^n5Z%hb&AplM+`&TWb zAeuY3hkRTBOvq&GDZaMc^8htd>C(0W*pstp#RCxLIA4!q`z7yO!NO=~?HaWZaF*Tw z0+i`HYPR~Zp)2zB_Ll(4d<>_0TbSPz@9O?VX=(*sNZEIf(Nw{g3^4#0evh}{v3lYC=N~1hm zAR}Nzg`la7H*vmp^;Dm^e4>T|DGye*-BnLZ`%%DLc$A-ojW|$U023Xl#q=hoawJMb zAhjm-_9*S_qupk0eBd}gEyBj#1Sf`VtJE-(i|1MS2h}MSLjagxu}}MU;nub>l5B|M z^Al!-r=Cfm(O_J;9)81DMLUR1Fq;3Q89%bdV=w?u`RPjJipk3=Jw*ll@i{v^$^0P! z_3N0W#AD;SxUod1#JX#k5>kFY9t-#w2rhXgRcrjUo=`yA4RYoIq_mt7oC`m{P86&2 zcrieEYjvGoCXZReOtD^(r0)#a&j8XB60xy?CP@g%;|B%y*oi!*sdF7;sO`OxOlg>_ z*+h%_@{DKZ=rY%nBMnNJJiFqa!>sFAbfCF^aSU1@%n5QkQiK7Y;jDz<&Z}TvQxbqmTAKA{|iP2hK9{=UflqG zSIN(`vnhE1gua|Q6(6;vUpq9QYYpn}r!sLr9(hCepS}qh*PTe)o zG27DQRAlpWwLygYjtjp{S!ua(DM5o_B*ZZ?sieq@IMc7-;cemrX_dtYCLI@3!({hI z7UM^}1sIUrqz9i0vZXx{#41~95*AnO1?YQ&pb`~Ue}UK{%v{F85WW~u8TFKHUWFIu zaH#}WMCuD#Ur+E=FHWPm?0N$~oqp7pUfP4ZJFQXt5@(oQ2c7=@K(imQVgD0{t9QG@US)k7(6ai&&L&Eom2uI2< z)8&r}{B$qIYWifEaf^J$BwNc3>s+5}pE!BzCS`ndh-U~(RDhZJBGO9@uRR-b=NcLeaFns$$$HuR z_Y=XhS>|onh1w~00AG?tv+k3@tXqY{XV(rQ+07iAYmnF_h!?@k%XyP*2na;(SpT9y zc#FK|D)YfTCiv|5E8GT|CuYq;#upwyZtNu1v3#9)77+3Ip$zBTdkkF9ryR7d59s-X zZwG?J747r@1_3Q<^tvQTijJSue0@gya){a;aNxC%KSY4pS9vjScTvGm5(B^6Ycovy z5MvLV@{q34R@@q1cdwKXn#cXLdP%kUkJG(ve%ypEEjafNe9`#viFcv-dBfRp$J#*) zz9cw0WAVL-c6RQx;?Y1DkZBKfxSB~7zFll00eBM0T$33MdHJ4I2%Cs3ae;@rx1(@& zG+&`=*(qBgJkm$>PvP2zf6f_2P<_|9{BQuQ=qZ)78nuB&IJ&h_Il=kmRLT7p#FZehAKsIE$sGG9aSYEui?c*9q zW^QuyYR6X|t2%%ZV@0!SA^RIYWN*{4j&mVw%rxFB%$`JU@M^T!n=qdD4)&^s^`k(3 z{sj-?*WA8$sXNSTH`pR?X493ENau;>Ds6yqONt$F$VZb}bY9G~!alba*YGoI*G}Jt zZKRPyYhNT=ufm)GG;KEJ_${=#@VlqzbWL=Nf}G!HFDGuBsZdvT(LIPQ z-mw%7i}m;4=VCXe04tmmw~?itKX2Eu9iNK$KJ#Gj_#cg4_UuSK5a|pfD`F=*)26Jn zJ)q7ONl7hjxaLf0Jyt`~SQVV=o>41__8$TqFeRA7dGD4=Gh*aFM-wP!Pzl7*CEjYY zMag&R7e+}z`784fH`M6~hh6neO~(}DYPa1*JHRWTMOM2sVz13D#2*z{e-)g$iQxoD z%lvJGt!ealW_{moLsghG8BRb%p1vgH=^^UjgZz|VS}-l(l-h8hk6#g$ z@E8p4uQ+!D3jDA+aQ94&FgcZj1Y~pZqG>LEk4WjPgRTME-?Ot}mtWB(DiG1@H~*sC zq(~C7!i*&<9&iJj@x>^9?Tj%>U$-6zWK8?z2l#vrF>!^yz+Sa(7_9nocMdi3$K=uc zdRPgotoCxLz%)q9pP3{=1nl3{9|+6r;5{vDqfQeFR%q!^p_P!y4o|1XN(?sP-^vCv zp>i4rOQ%!Wy|IqmLz>h))OXVRRnf8WiIgZ)GkVQ00kBb z#Y7ij^uGQ&X=|Y6;lMc<5#zL8_^0M-*BfnEDc~ zDE!wezt{B~1dmmR`DH>Vueb5VxicO@w{2yoA2F$qLdsXA54HDo8R;i5P+&>M^8CQ@ z_FLEmfc7~BE0Z}ja1LPSAC$$KLABn6W>vgx|in{%qqkU0Q;5r zrnE8*@~GT>SR;8fPeJXaqI?lYB9$L7nr90xq1gTfY(h;u@%xO?3%U?*!Fe{z!K z2Y;ZNGqFW+`QuvXdA)NDbbi}}!m@Y)B46Sh!Ut3gP?v@NVA!nKyZ`g%N6EuPEzU%_ zh_hcL%T2OQnc1C*NBWa}EUuv1+WLIYDG{rZv@$xKBt+qJaZ0eBpU6)Y?%moo{%qvTv7`YsJgOPi1EY4A)PE3^GsLfL8T zcYXIv6QlR{xViFv_lU#8^CjTWS31oi?Dfd+Mchxr&HsaLo#ur!&o!`z6LhMY%q4s^b=`%* zv~qUq)`)HJY~4+RS>4V%#A<(+ZnN}5@)x$L4$%OLHH-6~(|?bli@y?r7Qpe$ym?^< z7u;>!=X5i^WQpOs2$|{I+53 zC942j90p>_KAsx9Wl{VNO=shryOO)A}f}-f?(WIF>d#5IY6&O#E z%qmv&)7jr$9weK5-A{_|LSW}tHO~taLgwcwD$h=y)~ZJ{GG$+tYeDQj&V|=r`t;11)3kpT z%)=lbfV@83zPQvr(n+@}^55MxA3~fupO(?3;p~J~d85-G2!7H}sFM$XIyw>#2@zu5 zJJcE80Z76W+9m(rXl#sL?TP0Hjx9cAA<-3yoK)# zCd3Ad%g}ZU&7AnoZ2|vxtF(75s~;foUhudG&(EH(^2Mj_1E-&)s8W~vcN~YyRj$f| z|BdWMc~X%cyR}hP-7&_PBu^&oA_4MBl{DsZ&~Jk_k1rcz%a17zx2-^;0CZ1&%HnK93qK|E-^m1JWzDf@lC`9du_q6O+t?O0K2>V#*XktJ= zE`BvIBA2uIV8u-=;jdRe81+vyo|ga5P_QetEE5Ji13A*%^F5EXtobs(7+;~fP<`MP z6}AeL1SyA5QXTEfJ4QI2s4mA`*ni?yOGL06*5M0EgHm98PM(yG0IJ_8O{l*R5(}NT zYFx7rjIGSthdL5i$BO40EUhz;{E}Q)td|S>FFblL9D6x$+fnxlc^r8>j4XLFDpse-mp<|HhRaOD%>0McaXEjGq~mk4cpDK;W)?PFow#%Ot@W3U z5F2s=KU8Qtb*$dM1m|a1-2P_vl9+JHKr!pNl0n0n#umKRv+&9X1b-$vk_eleclk%i z`H*8Y+)WqntFo0dt>m75r_sCFnvIyyJViV4z1$&}R$UkB!$rWIoUJVFcfDPlZ=-bX z+uhqkhhLi>!!OIGquT+e?hBdNuK(=Xfyhn!PoqM;Fp;U^xV1%0@+3dS?T{_vzwEaH zjr#(HV|zxMwlvI0gb~BSO~uhBGCF}ea|5F|tFI0xW1}oVN)Z&lFs>I5{6f1KFUKA6 z@lhdxK#vA_M`s+K+I*@wR3}VsS0RkM+mZ0yaCjB@d(jN-A~sAGhM&0n*3-wisM6@d z!_J3BN5dS%`o5n^H80fCie&ntX-OV4U>ie2-$r+SI2bkiQNKser5KUl@`$JRwfgow z6!=@}5uPtp*;&$v!)9grq%SwZ^2W!QxoB19yTLyZD5zg(BhN>CQ=Qu4S2+l3KUf{0 z^J&mahCn+O=;xgXw!ev_hBTjdihyZn{Y#5Cb}|xPlatRf%wlQ$30-@#2i2!>gw1G{ zku2y1r_3m83sq%1s=TXTe0w+nUp&5T&tr>~<&(WL|5nPQ=8feB@s-wcsi08qbPhZ8 zOV*-!IjtQFGgiDv!9LWMX{1UU!h+k>L?RGh?};3vsczqUa4#q*#w^ zLoSCg7n_CzwrQz;Gfx18C5v)T=Twj~;Ik%Na^}DIPw@y1!WX}}H_JHn*~s$hMItCs z0J=o@A|KCD_!*+egtYhg(I&+p4i-cfn;eO#>i*~UfwaW_pu~JxDF0~Fp`#S zFJ7JmLO)?xR5?UP{jwaD*>EQn`S^`u?PR5!!r_jrA0nfs6|=$?0jJWtpQa~elaYuY zc*9`2d*IP~;_D)mjKl@(*G~0RroPgaJcS`?!kyQ!vJaS9$e)61M{`wd)Aea|zQ1&D zz4-X{xJfStU4Her9dFmj52cp1c{>I6iWo#y?t&e)lQmg3+<&l;-!s`au=KbWg(u3A zQOi*ktv$VTy$d7k;iW_~z19!%)WHp&xdig6)|8C%wY({SZf~^kL{+5M>3G@afv%ce zE`Fy&@g^9_w3$PSMZ&#B^s#cFnY}aLJ-Y`q2JB?r=85=M4&y9(BTn7CulXfdj{hjm zwJ`~Z$L-are6YpgO38Px>54S_{rz)sKM40%DWn;O#TBZpskFa7D+2yldtBtmkK4>^ zl#;y2W1$}E*zuLuo~YP;yX&Y#&|1{sd!X_U)ImC zS9F)$4AV<{eFziV9Z*b}QYtI5WiStUCGfx7atlIvxjudY-7eIRS4bMnx%N%E1H_-b z3$KmV@Okr#_Ej-PA7c{AC@BP#s`6Te)y+jKoiw;Tu!>7}bZfpG`LnBZXm28sWG4>z zw}3H;aT*h{;x>U(n#A6N@4qi*f`|3=3y3T6J30a8yEsdkFi(fjY%PJaNz ztjku%Cbnby`F*BgT{FBER>io*P6O3J#;6RhA!B!c+8BM=PRF7CL@_-wR_0Xs#aAyQWH_^u622(}ka-L{!WJVF@?}jCa zOyPn`1kZzkmN$mv^9Td{_ma&=fsj=15(n)NkSMMWczq4>#T9;LM-3jwlv7&&3 z#JqD@{eE13&%ICVBT^w)`qpq2)Fd!Q4+mUY)B2V1cegxHD~~P?9`M&D&gOW(+!iK( z4TwVfH=SnC|LF$|Y7rR{tbIdd-iI5CArEz&l``S#R85#t6_x7TH!HLSS5cr7Kh^&h zy6T2a`f{eRYh#!qE=Bgkvk)21-~C+Kx|&nQGd90szK#<^+UK=buJ{)L2MRb1XUQUF z`a{L$JfYmGzj%lK#AN6ArRE3x*FG}IPZx|mcwU!r{=@wo7}5!3m-`9i_WA(d)SIL3 z*ZBAyjXN4Pgc$cW38Q`alyMV89%tF)txNlRdZJP(pz`ee^)@0Q0G^)?on+x#sLvBU^a;F+nQ;@)nuG@5|pN7>NH%@ zbiWVyx_1`t5U5Rmvc6F8R8!+8H4b^anJY55jBV;)uWyIL43^xPPV-C^9eOm~He5Xm z+Y0kgV)4HOn#UiNxP^(q`(wajO9x;>vXhK;YAx`dSBa-(MK>=V{lH||wWv1i6j}#d zkAV=pPMGtOCL~Ub!$>g^he!c7Zdsc{(dafsg>Fi-j~44WXUH&R0^9p{S_o8ck5+>N zj8Q3Yb~5eDH-RTf%iVtr+nvemCpygBu(GNY-EClPU{=KA-~A}C)3dJw>i5$x-^fDA zczQA0sZ_E>Gs77^6&&FolxZ{3UT5-!zvz7~+dl>t^4!%bR9sKAwtq=t0wF4RmZUc~ zq_2ibM*Pmw!~h{d`9V2$_b~%d_`CNimRb9)Gg(<;O&syuB*WW`zc<`+o7X|DgD&D^ zt`wi4!CyNJC4}OfzrcN=5C`*&pE>ZRlfi!MrNMmOiPo;B4#(rzNl5Is8=4ox`xQ?s zX=j{4O)_>BXcf&BoA7TFsIt=NSI2@MFtmt5K5FFx#1YX@U_KiWt%N z(QhDftX6k7Z-8Ai!D`aD6$Qyx-*fhq2VkrpF{Z!<)#81?CTEZ`YCy{=p+oy%){J<*3t{*%%+PW znQ;p|gI#nNFIbo#8DSOK0$yp#sWISobSxURy*}Kt`pY@Nvx_k1V3&~hVBpj8^HQ=4 zcb#}irxl3pMCJ81=qY4eilJ_Z$7UAIO^#Hqh2vd^ERNM;oSmJCM+~NRS1l+=&yt3F=d zm%!`l3VW6?w@DUIBFlRY6=d?eKXK~<(x@yY?n=f*MfWe$OXMQ|m-|sV;y?656dH&)&w>w4Z2zZ3N7kGF=K`Ro?9f_1EliK$rx>~+Uduw`lCxt7N7*g92S6Lcpg`6Gn-zFKH zd`P6l2}T~>MFU^l)ry8d7WeScer(+zu&$oEsMefOsE40Kzd2tyR~^S-V0y#xyRCTA!ArM5 zVIU*Xryt>#C&XtNx;X_!zkVP5lRX+Y=U9qHr#C+f5pY#|a&t_xoc~%c$EbRdAM)%0 z+H&^Y&$p&ikqg^e$oCDv#GR&yad15^Q78-w!&Lm}Lfy{N>=nb8Ogbky_*!at+1 zDPJNWM-&Zi&#e?`2EP3bM}51Q^UJ>|gCX5$*?c7=V;L0`9+HFo%HXGmmoX_c3JZI> z4kFKk2{UnwkMRoy5pX7q%OB6aBw6esf2{sn;tl1G>1U0AyLyodg*~*IzLO`9Dayiwrq>5>u6v1_6?d%LFQnRjnkK+X_F8{bc)hrIIMGGwfn4Fp z#d*&laNvNb8Wf&Hc<=$r)H*MkT&~=y!D=<1U?(R=<7%ZZ5|L-X$PbHNUWJRx%lAj! z`%lh-E+FF{aDkoptD(l7yU!tz%+*nr30<8;gSxl-SInaAgb{7mIixDgmr=(y){%?L zZQ=hghsHF9F!hQ)fk}iyrwJN*B~_^l_XO%Uln~f{o4G3m0|$3=pb2vvb-$?JXHlR zcpA}4bVy*@v6^*!v%O(ZB{c`<_4_2(J|F?S)=bLR!qa|6{L0vhr{cJ@(m{ttHZI{U zB+e5ggN#25kb2G1zdSm^q+mpn;(2CH4RB8Yxt*`d;5kkt=o=u}~F)+wl}cIR?RS&GY%0K`=P81RDT&*@C1O-ieTpI`oexg*Jnys2QHF99 z;3qgxmb@s4!EZT}1=23VJ z6k1PHVS26KG1_vM2g*8AztaRi2}aAQ9ljr6wfn0&@b?2&IVbXmV}kJ?axZ7lR}2nSf)(=WM~>BQoic2f zdlh2oui}xfrDMT5TY%$iq@5P6O~O~jWU=)6MUMR;A6{b;6SXAZ0`~asy=^Wqfl~et zyJs>?fR=mc48D_J)+}0)W*AK27gFP)#QaMNtw*!;emRlMa34*t<@F6KOa6**+pA>@ zdS#iuc9oh?CyTlSiO)ULD~AC{5f$fVwf6@Pi`ZQYn)j!Xj0@_Og*=ExV+VmRzQD$7 zaBGTWpSw7rrtVJe(~l`&^&&E+T>0>PzylXVsC^QxsrHE`*)g)FIoW?&`5pli2KX`} zD8$=0Jw!HlcZKWIe}kb!U&k@BY+A5#=;{yGbJqDVq+8qC8+qAAxPfK7oubA=9RmlN zfUaT$Gv=jzOWxG1FMTSK&c~j2Ay}a=aR_)<5vYb`QfX?!_HY{4fM>v$gb{P6lJ(}w zQ^*$G$ArxjH%V(NV^8_}sL!AevC4eUjdX;6!3ODt#wv8o#G3basfA2w&HWdh*Z)8Y z&D#26U<3Vf#xv-&pt9 zoZt&7=Lr*iQ1Y18qoZ!1ye%@vUTq7sT;CRtfUgPArYH|Ew6?aNKO_^a(&sOE0bv`? zq3}1)@qtbwJ~u$HcZ1g3*(C}@PhR>k4A7!c)|MAno`p3fvI=r!801T7!?x?BQK39E zDIvY1jQ8lWM$GYvVvc}{m~NOrH+)+jk>p`hKH0BZvtVn(FrYuPTE@9EWeP~)y=Z3XnM^#`)Z5axsDtZbIVP?|(OlMAI%@PJi;4o>}M z)!bDiL2#0)Ae?W&_R(`zB3^F~vBV^_2i8?KJe{TvtPDV_9@-U*k#HrL({+E*M$f@n zEGr9Q;6z<0jn;jB<^)`*C-YJsNXoT^Y6$ctPMilr$^u)*g}R17+Ee&S#q6hKBgA?K zEm={mcaM-%Xt?RLfh8-!yvy3s9tVMbY(!=CjJ@firQ@i|fi=#7;_);Oa!PD{KL~jM~5hn0M$T^|s2>%Kz>U&?C0F|EB{t%`Lf(onlMVTG{#Hdvj+^&fo-E|`Ay*c*#6@TbMCQ^tx7^R5g*h+LNLiqPZ@5GCA}P~$~Y_+6bj zSkegI70W*O_Ls<4?omi4XEe>N+;75iDt@o*K&52!i?8oiv0=W<^BopS;y99A0_}sn z@Y?`T_vV4cQ%W*o(Kf1vhG$rY(t=QHL1>1hz0|F+TYK_Ii(<*+rew#^F}w~D(vdn} z)3M3$2u8^)sAXbS0i`*g?#d(O>j80iF3JRveY}ple5tAwYT$R3oK2*H81LAerg6h>^u7t2tYLJ7?3_=m{)_--_SZM)drrxLjDP1LA0@}FVc#J5=O-5 z#8WZruOEuz43lTuTx*eHSvXS+^Ge9-?4nQHVoRHspZZ)imUn- z`JdkD+Vhh=zLPkdc549)z;JHkX;I3Vpx%-Y*Q4U=$$E!qL>3}h$Ysq!2-X{g&RG+! zju&m{qkG*)ja+Zeh20nVZE3b4{Zlxf7|$8+Xj=bN_P9eUS3e-i^l$aNk#>-)mU-q? zI0`l~uGiBCo$evqq%D~+r;8aNM#1|72hsc>0s_GBG817O5 z=11th7SeOB6*hC^imQ?Q_)WT99rKf#>(UnPFdve?Fl;z= zF6|2KCP<|@ESK@w`y)(o&tX?IhMPaK&)X|HJ-+Q>Hhwb;f1@VK zfw2;XW`R*hkR|s!9ao$g6`#~1VQwvJEUzb`AYBN;(Yi3h3>KEkbmE{G2fFAjn6ju_ zBN35MP$g^%J80SbuzUS%kf(LM68J#*t)+)IasyDiawm#A%aqKNlH)eO@e%YDt_7zS zOl+aBd@6aU3|jkOMJ0Kbz1JdJ_-H{w4B9&N`cVwxucE(hpNQX$?_P!%6z;-6 zch5eNUIs$aKKNbunk}OBF?^gBFiQZ_eLDI%ZziG31b&l3@$mG#ai7L+Lp;9m?J7z6 z1jW!_UkVON)}Bun&7MNb{l{geFins}afTA$A6m#wHOcKr?j^nE+>wG{9n1*&%s=9i z6_!uh_fP2DRnQmw_w_a!OY>zC7kHWN0nZo-yE_a*f zcnCy54xYYwNkLk54F|U7(;j3UB)?BzgCCo>^hIibR zj@!Qv%C+4&Ta~3Cv*4PWKc&-b&cuX4;fSw&qo)Aiz&};=7Z{or&a9y>IEh2t%F5=O z>G|Q7LO1%MUh?u|y;kN0Q*lV}wd#hfS5jr`tUX;TXd}5Y=5i9PET~DG@YcQDP-mh5 zf?cD|O1nmLz4$AEQc`8w%$MC~gexP{5ja(RoCyph z4o|#pan_vPjg{8d86AdwtF68}xT&{8!Oe>7+;E~EWV}_-;hc0Q@dA>lv$D9ZX$qap z3diKoHf@)njX1KOPBUtG{QHe%?D@2fW0D|A#{cyGG)2~&FGa{H{zBF*MS}OoWGS`Y zZ+d?vH8yQO;3~C4c`saus&-%jtmV$Y()e_F(cisaVt}YU-%5A8p5~kF)swZ|x%)VNpH5qdW4(0=XL?FV3-Pn)!dqxtF}BnUij5E`;)d3=A_gA;ae1iWgWjiAWQy7}W{uA8}F zxr|yeuFs}CFJqvX|JYumSP-@LL-yXyWJfi)1;BZZx8K z`Y!al3ijuX3m$_nY8W?XOrD;kq7^!fgZOLbxU(|t&V0xAdV$7T<(ep~V{~(VP+&=) z%n#uwwH^Z zI%`H>pFKA4D-trLG24&j3MMuTHc&ith=FRG$0wtUS=r65Mnlj9e z&K>$EHCR4%+A=4-1xWVo8`1?*nNji>r64*|){Qdz3;amg{o&+iNueyi7ps_i&%cRm zzHG1FIPYJD#x~wybfA^@0SaaW;yk0-+3~rz9SMJWifOB%^FZ>Gu{7(L;pKX#srvCy zfMmk=HNn=LCQNgQ_dk-<{)wXeg6rz%2f`Y>Kch=eSI?+0zFmrn^oMC_oRA#*dGyDe zJA}0w#*2$rdqyrE*Da9SmmQyn&dN3Km_d`<5$711Ny)L2smWj*D8T^GyCo4#zLtNaqLwSAD)j=2 zdATZI2F}G{VuR7MUx;2|7@o4EN6}!8wF9{ij0eI@+`RY_L2AcaS&VWaobKmzaJ=ZC zva*dPt!ol2PYlgtj_ltut_pmt0r*R9d2u)G21K1WlfFPuG;R@BNQrz>(clO<0R1YP zmTL!~XrH{r^Gbe%lOo43v;Cru7*hn_9I%vF?|@T;8qeELDiaNFF}LwGY!?@lIj8C}Y? zf99ixG|4CJFXR$>YEbq{BqAhggnRzxbU>dL>Egsh!L16xyzvbMMOVwRc0P#w37aMX zp1|P}Op-E>xVm7B&eELI2f_v(+%uU|{)zW{BnZsOMk9sC$%daxD-{MmEz%c=cx8P| zFlyBt;^&ZwLk(jr9bYtfiQ&}!oow+@VR`{Gcuyz6bZrsMTRA$jNm4SJi@s%f-u&i@ zN(T2b0~#)Kn*LylM;%0mKv|=Jtlz%yZ+h6X+qXl&j`83C3i7DBrzYI_ z`m2BksU}L$n+omz+34dTC_ZEkTeRQUh&BlJuMiKR4r~jtIy4$Sef7TMb>8m*3`L#pH%ibA*}eaO4?K;FW?V4pPbt#=_IC7^ArIlt*Ih5c zARsAD_}kFj^?{7~P3-zx0As{deMJ+5!~{a@5=Z>{n=q5^`uX4*gDwbr+rRSYef8Yg z)O7{KzMaa-4nP_0*ZRyZxQU#iCji-re7RCRz?=mvi1#BPsF^8QDFC z6ZP)`Y;ML%vh|mRxY>qF7&S&GjRF|v1uKjR^V0~FuY#v1OL@W7sX;2nkR2GNw5+VN zZzHu?R7*$J6D$bIy4#@Yos+E`*oQ4G3OF9*r6iQA=1Rs-27wJ^9F)ItYxwP#=Ug#z z>Eo1jg*aY(TQ2c3C?Ml-0`_-gNvVQz13jqnS0%*B-_scC^g|hAG7blj%5OuE{FmRc zw5sGj^soJ8-QJ~Ty#50Ai7#9@!v=o$hHpo2vL=Pd>`C=+KqGV>o)`5wq+QxUVG`yU z%X*opMf5;JYx|kS)f>L=cUBgK*n!>Xl8%}?|5W-Ep^Kj{47mnF0qZW$D7x)lx3&gf zztd%HfK3!*{XZa=R!G0#%)7&ZR|EPq_d(NQ_{GiCG5uddAv*Yy1YJ=)N-fq}%QVGX z>B`@Uv?>JATqBoEcyu`m6bTgJ=8}O3p!^!IS>$_0Fk+G<$GwSSFT8it&LgzZt~P=- zF-k$Uy@)8Sk}RoQoKlY2n`HwD;26jaO-HbEl+(FRd44z&ARVFY_@|V7^{=8xIc+V zajx8>ufoblIsb>Iv*3#AeY-Fz2-00jhcpb`T@ElPDc!Afr*ug-NH<7#caJc1N_V%^ zdw&15-VZQq4Z}IlbI0D-{>@$F(pw8=EW=%0pjI@|{bm7tv-;tuJ?gaz&O^uy9cHn} zphtiEq&WGXXx50YnzA!+hcZtK3AWdTl1kK zI6oho>gDY9x$Bu;KaI^7Z6ti*rq7T!Cz&Qrt2-Jwy>jeO5(>O?7%e9{!XhFYTU!{V z5R$}!ZuIYU#-XBr&9nstX;_1B(_H>?Ul-OJ#|n@*5)DsCehSo$@n@=FzFdiGG}9BN zRayT^k-^0|7+yLE(3SUH@gMGRF|4xPd)6~Di2UlJmrt9}%gS6u{Db(n8zG@Kv=miTmAt}INc-rgOqQBshzIycX9jviIsD6R51s?O=7eZ9(|r~^0t7SyS-0?Aw{8ehX6Lj zE^U8&M0}ps?L_0B%K(euVmmr-{}V8r?W)7oDx~@TRmmw8=KKjyV3!SKUqH!04Mm?P zEh+hvn`j|`P|}f}GIF4PSLE>6?UA+!H|VUkIO`P=e}#~8G?39dc4O6#`MU$93KZW!8 zeLTGUq^xx3kCG;CjWhTAUQj(Yj>suO0*=P_set)Nih=L50yEW&4%os@A{N$}lO^t=x`^;jJ@W6fg^w3!AIycs$eSMjp z@2xA2@1+Th@rLSNeYc8c1vRa;l3bv4qx?uQ=m`soD2AjXBfoEwEnHT1RGz;{}I7H2qlvBl$ z(!!}hO*oWnvJ(C^Z4JMP4X_{o-m1?od&NRdt{C5chNWh#!xADtq!4Ad`XtitV61H9 z+!OEOV!cjNdsS8DYI(|c?CQnGt6HVJyjEIRD;Sis7QxsL^!%xNX>V6Jt-#)QWOFVK zPI!k>LIotHI&dybNX(k`7z0OU+8ztQzAh|b$YNp);YhNH2dW<4nSLp6qU3MUXFdl- z++>u65E`7S=h&3a6Wr)`$G~M`7ZA`$<(>(msDXCCu<^4`5brIRXk zkyC}C>N~vP7DgSocvQ>ZP;FyXQOCyY`nW3PR>$J}re37N(D-Bk8@416&g4J8n5|{! zweX?zIf8mVF-#;7F5iQj0VT%>w(|r$7Vr!IMGd(f*1W?Qt?fU1y>H8C{zN!a33us0 zYWGhWY?o~@sUN$c5=Pzc_k3jFd*nquVy4ixcyu$4ZmjnlX|K`Dwu`dr#(Mb_upR#T zTM6RZ6*-kF?E-lbhkfGdevfwBba4 zo9m-gvg>j(`sx~5M54djT5PU;&U7#?W|Pb~V#w1p%}xR-*(mMhwXHPN0hSHGk@*AS zbK{NA*M$6;mFnf1f(3o?8qVbbw-owXA6G$t(S{%3Q9~#G=rrqUv;2bo(l3w+kZ)C$ z6Od44&mEbLaM<6E`~cHekvEGk+83mLDcFi5%qt3j<)R=DYBni z?>&9>!J>}oiIaY=n6jiO1%I6R6P69Dj|L-}$`I=|kHxY@h~YiHLRcQ)92 zJl5~R@FE@srCjSkZfl*AC8K%0J=nxx47$H|U~xF$*&hXtLY+xiSR z4^?Ya%Essw-086`Ve(oZWSm16&#>g{@U7z0vT1L2rRs-&ORCM6EP`rIbQ0Bfbo}{a z96GX3gx_Vu(_ko@N0+bc{mWhl_*i604DKGjJ#7M%c1825R8qwPjx7W+eAg6ZwYOJa zHr*<@L{hB)pESH6fJ?B`wJ3#o-bofWiU3z;us8}MwxMw>n zE(_coYC3Rfwk7U*tfp!f3F$fC);nR~y|JKw^9Ftc9Y!!ejz?QaJ@0T&2!`;LREeCb zgahCAz|Ri|V6S5B0I)2m=jT@cK_7=ssiomRAsGml@R{pXy_*R7o+)CslT+6e!q*t? zyw4-xa2cn*ZcrPue6(4dTbq6qn&%}GAObLhxX&qNe}2U$%gN(m@#SY2V~CQiNjA~A z4klAsLJ9a$YbyV-CvlQ&V&czoSxNif0)a6T$-!6Y;b^qdHl*c{#tswBGaN}%1z195 z=mfOh!w6F7#ek$%E^W6uhat62mCCCEbtY%ReNEdCUq1aU2pyIrNivF0)v)5Kh8TTE z;#qjtr~yLzJ`<#T#Gs(|sd0XgT_s*NHXHZBNDXHk`%YeMa= zTAE^-a$!bJ-<^com}7p;F>~TTyEy1(Y2-IYth4tXq{`b$1!YgiPL4_HDM(UQ*^uF# z4iSf9Dky$6<>jrhaiHP8!~R=3h=H@774du$$?!=Z-!(M3#O=v`T80KLp+^6(_07A# zdD(QplB&qwzAy~|oU-7(s~z+6jt}2VMzh+tx=q9ln^A$A91CUT-9qBgabu;suP^7s z5N1o(XTR6S*Pab`XEZzW*1X58claY5mn>3G-(I&2{FY~h;JR;IrErI^=BaF5Tc(OY zyjaH8Jl0+H!6C!4DkGhaZ{Nc28h#e&Ql~O9gKRpR>YP0L?#M5&u~KXre3m{CoeiAx z&VN)Wx6Fw?r1ASfLMdHAdz_!NZR@>AD5I~s$Hi4B4CP8xH-q7o-g!uHng%Zg8j)9* z+YrG_(s0ePW8_xsKm9Rp zM2q7PAd{EI&+{*1$vRb4Z=h=#5_O2xQc0r(!i^VFgN$&!dOQ8dhwQN!rmFY3@hyrL zzD_xJ>Z&H!BTw3q(ydBlJLLk+Z)=s08ZQ_xy-`Mcnk3}ub;Qbai$AVPlkoi@{Zevz z8erhqJaBeojf%bQ2+p#KpVDF65Qd^sHtB|sF4>}8MNrdkP)h?$V=^ANu}@uh#YAqw zI1N(KoIIqQv{7BF--yAw^LLdHBMoSzA@{&uE@G%g3*ypl%-$Xm(5r2bJMf4pMyucB zBOLexu2L>*cU12hhvv4gg$aAV7N)+(AdV=$KFCq$-`3FC zLIoOZ3bE9pkl(?e^8EC zFbOOvEoNjM8$EAWeKG913hCR}w;+K7B1xTRZYB{>Oymk>EP$$lf%D^+Z%xdXdEHf_ z{1g`1OnF(wIH>1J30^`j@CB3lO9|iBr1vE|bVY0IGYrU~D$uIcrN-#BBZmkORg%hQ zd?MZ@A(D{yC}YDo&{V(-g-T09yzM3V-lMR6+!6c|ruuQ#s`&(dz)0~r87nFCW~G*2=U`+0S7hKbkd z2dx4C$m|7tPv@;G5rKMouLcuk5fepLIThGY=P+u39`|<<4);86DzcmO1WZbz+6P#h zYt;2oe(}h(16BTcQ`hr1#JrDDQa>Gx*ZeJFud^7kf6KbOBXmyQX(4bSLlYp;uH#PS z`~ep?E{UU1PX4rNjiG>QknDU}8Zk=I-P$PAu?&dej314Cs+hpmlMaz5D2~g0QbJaD zAI_p@iTg8hTR!>!q=Cm?5o_I|k@D4i%=VB?8KGwW-lCtSM+xUZEPpc>WV4+5Ot(7z z$L%z%XodWAfLLa-A~~KT*(ZkSYmEIcjS-iKEW&hni8dYy= z1>+^TxcGcSGam*CZmC)4Cz@n4*Vc|xvh<>r4qupFsw&#hl%csb)dJHKuGE43S&Xg_Uy(KVzMuJKC zG87evNQd6qr=V|2=TKn~@dqnD+rxlhQY(1z?lbR}W}dE7+vzNi-Sty9?}Y-<3C7j` zmJ&P{v(&^f<`QgwnO^{wRM*Q~YRY4+upY*{a9C5s+TH-}eg ze0N|+{1v!-G;Qu~3I~;S%bUYq?CH;~=g;s6WBIuoT%S1`{|PZT5fXHF_d)k5WODtK zZ~aMc{@hRnH{_nUHr@i6hf;$DhiBD;s`MaqZS2C`vHvsdN2vcud@ACP=i9apJ=qSY zN+60GcCbjKn{39PF~AVH9}2d|WnfEYi|j>C{J7a<=cL~e!LkTMi8SC{xA|&aTO$xk zey=}v?AUaC>29y!e~%gS2Q^NOlRLfR%r^TXJ?NkG3Wd6f(}P4*xVeM8EbKpTUG)2>aT0g*kwtV zr+7TE3DNblvH^I4$z3&qT!PTL&+k%PE<##ahSz^qrjZxpJU-*}aWp@E0^GUe@+7eA z_o46&L9YrCV>@_$FE_u!p56!-i3PyHWhe_aaMbNew`$6b>6=A=7jAbOEgr5;&|glB9FMR*xl(T2)m@vI5H-UR z+CW$^F&rgGUrdC&?Lr|zXy$l)*rDeyy(_Jb+si5vShTPuJya;nU$~c>%!tAm^En#=C6dk(9U~s zSGk#S`|}CIa7gH)bfWs{g-MD_tab?#bV7lTC5P6_0WE0DL71znvafeL4Ii9@{by_4 z;9WkuKKjMEb-#amucmuP$HI03NQdw7bL!X6;?fIk01Ro1h2A8H3bN5|N2U*axpY%l z{niHRf<>$Y9QwEB=B_iVX>p240y9Xi4H=Lhww<;WSNDa0?)59+-z@z}kd5T<^9nHOL{lTRVn8=d{BIhA592N{wOcq3Tk)?KodsJkg6OaOg=VcLJtv!MOB znxq|)T`S4uMqjM47&8CQ>jXKP+rd^bZ@w+5TUuDzD}N7O??WPHaPllj^0L@vDxb=~ ziQy43XT8r^K4Kf^t|~2Rp_*_UhlTapI<%}!M02pWr-eo7D2QC_%6OtqW5^Nzo2&OH z+y24}0 zn`(8`k=5=A%44aq>-N>$`t@?~%V+w|*>ljGGDDmWoCU;<-njNvRb9Ni^eqr)s8p*9 zeMS+?`Dg>Xx)h1-SXQ?Kk#@Ot_x4Rc;KNo3ua}vSLc;0iC+x7pX&aIg&YspaU>`Q zKbz>Hx0jr}+<1Xd-6tO$mYy-TlTcc@t2pC=F-_a|Jeen|#0>}(3V4fBN)khHBZqwV zry8OyFaVN#eJo>y18-A`M|K>&^RXbsuRrx}SjKtZy`1kDSV2>TjnNsv-R3+}DU zILU;K_A~52SZWa57zLo$)c)W;SxH4+hE8TF6Eqk#3AMcx+nlxrdJ@{fd?+N`YM*1;^E>HmBXQ$ zKaGuCT$d_+?s)$1Dd$JHP227Wo=xEpz=ljHjC(y$>1y>=xMrHtX5ZtshWy4Rk7h+z z)B92lbcuKbOAh31LPQC^3QDSRxx(ZDa9jMOE)Ey63XFmcPH`{+q%h$*#>jw1tEa$x zy^m9a4#cT;9MERnNw$!)(6x+$#$xwf zxJp|hfg_KNDi2duCHlce(Dk9$fsZY-M5GaMX2`qlE2A&_N}5~IJN&H}yKihzBYP2* zi^GwPmt6*Fn;+}xrQv^Ay{12|9$$Ts{MUJOe1(8YwyEX3iYbH`IE=Q`J{60eQgi|j z`snWCaf1--dd_`|d!6x~(SHfSO6DRSrGKUm zP4AXQlh&kRh$6)HBPq8wUN9xDyoG_dJH`=L@Ckke-y4r3*E;Qb^l<&O#cd>Th$o%3 zm&WIYa|Z2ASDAqNfZ92|=xn4r9D%j$AR_faC#lUSdyhCI<}s%%H8hThn4U`)fp~XV zW@D^Ri!D+NYiFcDVe{WFFDDbyb`_8y;)T+?Eu@3>^v8)cy6WZGFog5R53c~AO|<9R z(x6RiPm$`~GR78Ykv6e~Z^2!5bP>{ckzP=wZT=u@o4w~T__&NUPtR+&rNek&zUc=* z3obIyxO(V|$l@c{GeG`WK z=0aCJlCDE$GkU0O(Q@O)@(~|icT~6Rj4UHO)}A3dlf@8YeN$PxK-lIm?l6=w0#{u< z*NT5ui_c0_%RdS)%L}MVUOq{7t1#wTnwpJ(Y#+{*?k-+#Lx9YeBrGcaK$;6DTyFR; zVHdS5*}9qZ?;a19=5$TC=GkNU_%~g7G)d8wKaNe~fFJaRLXa%s>-8dG7b9Jf{QG)$ z*ar&Cl!vKoV5&m==RM!tvam(o=A=SPW-8Ax+oZotNZQbJ^f^*&JZEO2LLMYmBp?Lf zT=MkZP1=w0TSpHNMJP@JAhF4@mQHWyntfX3Ju>MF4ovc>KgM7-oFm(Lf{bfaf@VHp znu9$TJ^;xVCzqxHAk2EwnQbYu>KgoZ@wBrL}X; zzZA|)Jkz#O3KK=BG)bU!qE$nIal8ZOR|7kqyxR&Io#@rbZCbeV{`j&YHf@9+8iuQc z>=CBuWmo|8(JrM7g6V5dG3dlT^t^is0juRVF#g=Nlc#)`%;$$ngM5Aveh@&@*JK(upZ(7<+nLO5W{evhO83JA0~r2JPct zyEG#6&srCZKk&17^yWQrXv!=tY&2!Q&%2C&t5K+4t06_E_C7xj=#hT#gnCSlf3UKz zpX@Tn_Hi*K$0)$1b0ha8$CPXGoJ-URFi1BXAvv=QKgI1X)*ifeL>g~YM(VU%-j)1o zl=J7lT8J_THMFmXl=MwIrq3%jsC=Y7fhv~7=hhumM$I4ocU4?x`A>sw^*a}_Ut$#g z;v5-ja4@a}zRuC;8006*H1xLBH7K9R=VCL~NaW*-GYuCzm%w+5&2IVF9yLvDGmQiu z8!e2uzU3{En+swI>GC{PGu}9;2alLXwRyE64%rq>^p%R%RKQ+_|NAIT6kE}F8L)V0 zs(kI}S)i(^`SkwZ%mCThuCIwXltVn%H`oeOV8RdsaD$^jOO3?s(-GCwXx^DGw%Z*M zN%;>YDq=L922|Oo&L_*nn``Zo2yr*1eUe&mp-{^>-0=wLEZ*9g_cw;PCA##PQ(Zn& z`NWXwXp7Py&56N+MlYSefXWvSba=~fn|}I)&gu%J1m{SUeIh}hwp)HvS_79#m#m{V z3{4<;j!N*Z`9X*hQ4l#pLi_PMDo$;b&H?}K0}*lv-&l>}5sMO6xkHNvpKbO8k>ok{ zCteumW~ws})`kA!Uo+QE+P4R7S0HL-HEDQ2T`;uaekog8Rw6XFNNXsuC&s&bFOp^X zjr~v%&Z5TFkVb>Ba1{~jIfLcTRn&|$m$2;;F*Pq`>vnK+ySV=^8o9J8EB31lWs=E%_DkUFfG|a@^Z$(FkwyNdmj8Iap^>b(o#Yg*%X?Vn+9^OLAz}cjDzGs`?9e(VtSn1f7!zsMzEZYE&vH+t zaqL+&sI62HeM=1g zBYSGjrzKv<@-i4_yfQUi_-&p$K1ddGthE)JI|8rO;T_9=zc4Fd-!0~(P-x{*f6xj* z7O4ZL_Qg}h;Gyu%5L>CdJrQ~z!$Qcys*7rzP4s3rN^~(izdxO=_3)h})5#?SCI;o6 zW^pOb?6iT*3K99b=_#Fe-;d{w3FIv{V(Jc?$s+$?yR7mvb=l?>DTzAdo=89xQO>I6 z(N9XU`Z4`W(wG3(Rn+g&*ueZ6(ZxX1Ng{!n5Jz0UWb8@Y&LqEPrAkvOSfMLYGH5(X zrXKTX6*CwjWAeCK(5I2@kT{l9#`wSCm#|pZ64KugvF8KL>EJGWu#CR@y@`!KM&IE= z&i-PdRm86E(3I{S2stspf4^*gY;gh+zeIs_PHN`2-yKi1KI+AZt4#79Fa{L@3I@~8B z5w1W27_xw2E(j@#riVd!9fdEiOj#~QG*~$t{FtyYR~gqGUhsg!B`UgJ%7DzBOiy}FnYCO_vBS2Hi6JK5 zLU=2KY=<*NmL+NDZdF-EZ{yAzB+Kh5X zNm=~jYHj6b%svLlnDA3c{H5lrzAzQ_hQlzz5M(?cNNc}up@4WKzNxNjqmudx~ zQ{ZihLnl{PCN0t(Gueq?jB2)i3xEW{K;R2U$BiZ|?uaNkW-@$k|JQP(HbxT7%hBu8 z(Kowg!H?K-oFVv}6tUvX(~6~vtwK`vEYz|q&}se+IXoR5 z@!j=x@wqXNIs)V0m2Z4?UxeG5&6jz<%=R@%RxyBKIhWE9&t|~+=k41mRa(#y{Y`-N z@BKU3uBq)%6!F81!}2{Jy%V4@`+?l$U>f|!>O!%(G(<8zqE|NL_wRAm;YhjG-T5h? zk~^iWuVThDCn`1m9GqJu2oR!9PO$QpFjj-4LvuevF~>gT^4Z~A8I+#$5Gd7(;mmF5lN*`bo{uUT}FA*-upsw|RT4NP!kyaeiM1lBQx^Jm*7JC}C=?Hnf(`RVx zDpCan7$=^1UO3xo{~3fFZ|T~L>ql9iy0&EziGZE@UcO7?C-%0thRsU-Nk)c{OX1u^ z6HL_C96z0f?NYzArB51>e{b7j2<2ul&ShAX%CRz{3IA*H>{|WKF;osv=gd}BHD{_1Hs_#3g(&`Q)CYN|6A!130yNTb zkv=lBac{PnLo*}~Mv9Yb(dS8oqVplK?gwk%-t|&%+V3Z;j$g+;7v!bgE|J4t{}mem zmYV~@1xI&9*to~2bxAUNp4zmVqGd#BL;e`vU!-~-4snGWz{x=dll_uOJ8+|F0G7-KU4}_Td_Y)6`*c zE#;KmaOb~pPtFFx!zGiq?;`{E1{s}{|K6=8FxisR~JPH2yT} zXmn)S*c0loA7_qbW7Oi06CJv2FvOX)?U+Brz$R;f(UUiyo&b`GkEN?gj~fF;W3HHL zAL5<#vs6R|;_1WZDr92cTUQO&Zo;pH4l{hUTW-eF38Rks0g1ysrOPgkUJC>Dj{$;Wyu?rs!Xfk^3oA`Witi1JJ4M$6243cjkP|}kJ*S4IBk6~y+F+ae+ z7@DA(S+&Hfl|nw5vR^dz7=M>lSywEFY;EjgsKgh9y$*FfAAL)B>(W0kIc_5ab;8My5owAlE z`(Nq|`hBjo#)-(%@k^pFU%We<=~kGP=+D;dHKPb|Q_1Z7)1%NHDP&Ueyhln48N*CP zv$93xS!yAl@i*B6ObM1^WRh?@d3-gEnkvwj8VAO%_=;tH2y(bHzd6oh_%Kj8<$XI? zkJ;+$dmn&Lhg{0^Dg|$b25w*fJzPufG7v2qg$VSo@3o47-n;4SX?2Q5Me_F7{MbNb zn!n*N34}`TFHHDxW+X!j<|v;))AhV2`-=a`Vlp9_O~&_Jl5^pm_CI%jfn#hYt=+e< zPh>;O&$pi?Eo|p%?{-hmnz-3tT+IIdj1{u0H_9>aqBK+xYWv9tqf8rWzK|v;V*0lZ zc*<7o&-UZ9jmYEVGQUdJps6l;jY=rj^QFN9HiKi=nTD_g{Zufmctlt_=Sgs*4Ula$ z63n+6fhmNQgY@Z1$>^K*`Jd8qv>$ppiac{`%V)O>aJrKp7S3X}-OezTSD7P6WoA9H zO;&lGPbgeuq}2l)MqdD%iR*@QHWBd~HO|gA-_)v8gf349tmIBcO~sMzXi(PKA^01v z9jzJ?pJ}2mcMkckMF7Tuj~c@s2pqNjy_UP@L!2Dp@`n#+Rp{6Q_VozA5Ihjxg+9L& z?}=WEXuwWs9RdNU-1wL=Easols@`no?y+kOrQ&sVn)%7vN{7Vsm$M^hh?kw_*$VcS zb6#+@Z2}gd8Z)ixL_Qk!i4s_TG!OJRInwv`W--x?icHfi4o+HBMlNG8T%(XHPj&QG zIN$CR=(S~*L2Uk$ToJc-UTR^^AutSR2+aF^o!Eg+8W38Ww`K2TLt_g`B5HH84r+<@ z(gR(?Cm8Tbd?zv>5;CLur{;t@U*To<8hgbWON&oefHQWbnq-HaC%r^KSf(cmMV{%) zg)G^^0L`0gfyq4;TJ1xx3U2Gj^v`)c)!`$C7DgdQH(Iea=tpufZu+^@_0xoq~!oN_)`rpEgsHEuT4>ikzr??!03pm z<`E**cWP6eZ2lM~jt_#g4pA8AZ{gu57SF5>-)i>rRu%#iTsUj(?oVH#wSS(ML2d=w zF;#Xz)R;wgb*djR#NRf?mk?!Hj>O9u7_&;W}4P zY{}CfXNw5Y!*1{DGjFW$RTGo^vK`2E;Z9v!0`PDG+`|{wl_*tmd>qpuVbs8aRv4+} zNa)j+r8XOrzJbBpk^xTo@}z)JLjwqLL6p-kYto+Y)8&!pd+a#40L$7r*A$KCB#VUr z-GZ==K7tVoNRmiSpInmr7gtuHOPH(k2#EW6|L~>}GD~p%;E$MUsN~b(a+;=4`C~2f z#Qu88-W47~MU+3F>s&?8OG{yO9$9}RSl2%GKG@%q4rWT&ivLdG`0n53X6ZD`Iivn( z&M#W1%IUj=-=$vi9r^OQx4#NfSFnv1=2SSLFcT)eV-1#5|yEqsB`*@VOpT@DqsEv%+T z+!xbY>z!k9njZ&P1FWd;{O)n=qMb#`)}P{Ods-{j+Q+Ys@lf@Hgz?!@xS8-YbQyKO z)&F|-c)5;d2kA4~ap)x6_oiPDA4vCr=E>Lvh~wAz8t40^jB=E zmhuNd_Yep1<+as=!H%vvav$h<-%>=mi(b|bHb{2;ht0{`KL54M(E=;T#@Qmm91GmJ z1(QYHMCQlDYPLOQz58-7)~;F4*w~m#A{*V0u8!w`;lW|Op*Y5M6SN1frrloGE(4L} zot>Ro_nb5#oCD+aaazgxHoXqFi!wHp=_X^^5yaq>)UOyzpt!k0B?*~h6E!KD(W{3( zRdz!1y6`hg-9Hciur+mp=>;xqJi2%W(9|TfwqwW*M;#wCyhYr2>_?%ut zl{*rp`~raTSywc`PAV?N_w>l){^zT^o`6 zv`ZQMsgNMzTkXPo@0+(ZEYC2IjD=?|cA$;xXjyM<1tZ#0$K+U)LuL*+Qg}_$2IaO$ zV?)((Uaupev*wMtETsCkCDroSdZPP1y8t(2+9_oM@+T(NNDGtE}J-u3Bf1VRYNQ!Z)q*E z(N|9<4#CvcSa`N6Qrz0db0oP7>m757bF){UMcNv|$pAZBmSJz1e;KDWpG?$NJVU%Wjy)-yZGEPh%L2b)C4=35ZR{w)4MtHmaMCX^Zsjsr>n|<&gl6<=; z@Bl#O+vG%J7R@8`UT<$v0BFP!yeu#qb1|Cy=@>WYAU)q`ua7G!4#?8}{qADjC1TM( z`s1ejIhJ?3$Ad4%V_eF+7Bd=?AMNlE2ora`dH>DD4u zXL3&!LvVcmbCgAXrox{v3@qg)9)!)u-t2PBjq!cW=}1c)KbK<2W_5O#dkL=L^vMpM zqXg~*s%xsvv521pQ=yGQd_NbV^?b_k#b|@D2Fsai8#|%HgNlijUiZ*ec$F>;m3|D@ zPHEyG^489oxh?(99o85VwkwdZLXez7&m@b-Y;&0#soM_g`~b`dqpUo&F3aMwi{Ex2 z8(ZrXOWpzHJ?voQbAmbt$j-z_g~Mkmu&jbYCSlm8ON=rG*Qr=b_qxlj+#qq(C$2AX zEf;CJoQf2l<(x*yf3!BwsQcip&%ApMc^_TN9_X!Yx=>l`txx%&L4C*a^QrC;aHJ4t zc&rW8vbX~Yr8;qspY>(|cBb#2JBniGTK_K&2^PUr6+EJA>ow~qkZn4`y1wLdr?j+> z6`apf>^&~mmrt81DWs>v{Qq#@VM_h%{P1bqyWlFaLuK_;hXxh?H~VjQuh)QQ`=3BT zHLnJQ*A-(b4wo>6zwi+pK=8L51-5__76#;EpR$hC0w`@j8@%OMxV2y^lU>W0_(1Jo z0RyE*|6&>I?U$r_ta>bEdf9now@)FLX%}C*og5kGPjxxlZw++Fq@3pw*Z_jRu68c* zx;jCaF62X}s`=&-8iU?gUSt~VikM^*jbB~EkVY~BXkAue&uhZRQIC^$K3I?Wxdq9s?G>lyQW?wp zoD;k;|LmLOmU#;d``;E>@!q8egfP0C+zwIoSN+mTA?bR$WYGPs*)$cMKn(CNey!R$ zg=V@ZLI@Jbio2DSccb@%;T)HCanLMuCl@9 zD`y6?itPck{qBQ@pdvQW^!owM!A?YkO2gT0rZKt3=POBn)$3ln<>ROkpZGj0qA6o# zhJ0+C*jgdwC6dZlGi{NlFaD?jVKelcbw2il$w08(Bi92EK+(X79g$~>_bpL!>djH> zEp&x9dQUD2NZMhi>gfB^1V@dsv>jMtC}>8`V@@ILOtDR?l}yJQn@r=cI`GuaB73Iz zPAk7t9Om?9P+RS}b@AG)*RZi>RA%u6lb1?mwb3t~!L~eTqF`}i?9c%dR}K*#3T4Oi zZke1QCmM19wKh8LEb!YN8RwnL4a&yT0-FRt0|2_^Jf{)|4_RBNoMI^3lE}RyRkvgW zM>~h;vlG3xr?q?;oXe?xt0WHh%NBK2YPsm_ksme`eurSo|!l{ac-hrR{G783+FF9?c z0R0k>`*rECaRsZp`tfK4L=j#65`jvG%!tcJjcz_uS!&`fxMa1k$jH(}W$Mh`A?jxv zXtiJW^|8%#zS?(5Y2&+l`61Ss*p|h9=9hQa-ftiG-M8yNDsVL%QM+f3cNXw#?brcn z$Jb~}6D6Z_=wS9dJZ(@b5Y;C6Fx`Qw;Aylt^A;rD8HaHUSNzjeuDt{dnxYN0b|lphsUbcf)?lKlMx z=V;^~XLcngsB~qJ!V<@Ff$x2Q}CvCc0QwGUC$>!1bg|yPe3><05|w{S{x1+j26frGlAgz;P_?& z>wVi??35me=Opy~-qm7p229!$oV>SYyKSCUCLAL?mKBmj8@_{%+?NUP|}} zPX_1oE(6`0=R}(jF)|O3U2{(SF7)^DEN@=2tfclBn%F@AvuetvmC5$?)2{{6n>25 zA6MLt;RH(GE-uR4%r<9>Kp$`(L$<{ZDA#?T>^~D~#Sj;JPzh&eMNDA7Pwut#beEO? z)oT@!IbqW{O?YOA{z)tq7-L)9;Ud`we!q4BlS ze~mGFfdUQd7~CO0=c-bSFkMn6X7Y-rwlZaD-CwfDiw4>X%(IVn2-EJt=}Nm zGje=Xa;iwaXJvQ#8?cMj=YO=b87RIuD+}pfL_l)ELE3r}piUIg4fxV+Nt$aejVx|W z6j{Qz1^Op>i|*w580zEahiaqzynm2vaj~>rs2)!+;KxN%^4r|skaVMu4nd@D zf|3uxmmY)+OBBoSPAZN_3*W>Is;a_Z#@XJ7IqdNiwhEDV8Wij-WAa!i!rRvESyb~3b+3ELn%WuPV@k=w-*(TI z4L&>tJfHf{WhN|z+)gwt4>ZG^U6kU-DR#cxhll;Rasq)CATpHEt}?=0 z9_9DQz647T#8S(`*TYGcOl+Wc1TbE#nHYIMk%Z%H6j8-irL--%V z&;@;Q*#Xg?sAsFxRmQCqvqJi*4Zt=Ui6!OJx(()hud$d4Z%A#AfAB?%dT49fQX)*k zZ4YLw0hbYGyj46L8IZ(Sy?m0{%It(p7$D~KSeNK;m~Lio&{f5J*eV+|98EvxB9%U+ zC>Ar)CP(StI*wl%ioLPMwcwGNw!sZe*ilq<j%3XaaA$uzzh1O@se)kZ;NB)-9K>Od0bJ9-*OC?8q~eWsKy7d`JsE3a?a@Lsf&G z#Rc3{y|oe4v+rJErS`k>TJAv&E_U&Y2Pw*Su$fwe8_Sp!oLE%;Mm)Tpmm8(jMExOL z8mBIFeEpA4zHrXC^r_@h;ho{<3GUCB-;KkoH7pW%bQ)8f9s3rxfE$pf%{G%`?QERk zD>7m6TYZBrCobN)_sQCrWDeP(%1(TS27XA+mRW%7cj4p~)ALXihyS~v=!Rz-uJhCX z*mD30(&MiJE+VS$K}k!q?r#792~}aAT-|jSzIVU&Y?F*(-QtgT`sR#JfKVX&mx0|# zfHz1!?{WZAYo-m^X4&1bVV^Ou*QSyl#+XvO^AG@%0k4m-N=|h4G{)9Dj>4Md`PUa2 zMY(Lgvep_=VrfT8OhmC6SBbo2FiKmd3sr(>b~8{XX#NdCEBGIWs7PD*zxcKMi zLv}=a{pL4^0`MDrw5J(T{aupai~cSC!S$D0zbHToL)_+u!sD~sXyYSdChKtUZ&I~? zpp^IHDUvd1BD(i4%bhVKxF5tFS!_kNZW7w}7VI?i>^krV>%HW>Yvt$YL~jZioT?DP zI4s?k#{KWYi%6*}ODTIqjwyE3C119HRQO6}$FJyu`Tqx>L14a4#}oGZJ%0b=A7)xn zy52&LZTsEceem0^^@3V-EnRApS!as6ce~%Q%*?s@+6bg+ieJ9}g7^0~>eu4fsU%(7 zV7EV@sw!Nsm;axuH(iqCysiX~?^|q{Sp^Uz$E z$uKE(2zU0%7(@Lo_uCEc@84WLs^M_oCzlLjivJ`ZL?Q?Ppn5_J_>IaEWQw`L>uA{#nvB^c}J^_vE$2 zOvS@6cz@Xaaoc4f0J@IlZ3IF}G&L7Y0w?St5s1Tke}UHnOe699-&@?==l7tdZc|zhOWm1*t`E_200porZWTW?FSyyZ( zbp_xlSZcN&49O0oh>}rbmzH_92;y}gz_*QyR!HMIY{^^gP7v6a=ky+}8xsT7=cGGm z_4k-<;)^lkZNq_-fY@v-$BH22`Q9`QrfGn}2_&&z7P1I&LKFU>I@s(Km@G^Yxdbs6 zyGJ8mWJahEn9CuDcHQ~YG-8=p{Q&Ev3jzY3@12yb^E&&8epMxL4n`e8FnCr{UOiNF@3KBE-1OD zd@qV4MF0M8fBjV^J;ewzf4=a6Qo8V?#YRRUU!X&E00N@aidK^hLN9QZX88F0u&VZv z)SC^pRatp%^6_w>Hp~zLEh>tNRYrLIpb@>WGCr~cd^tD!XCA5pUS8htsPASC+J5*z zB5Qlr*7lEo{2hPz!!Py_z}i_SM~1_Y9Von<`Jhe4Dijves$ql~y7jG$fHc_Ek(-_AQ?IPe}0C)D)= z^TMIIe%z7g1%ChMZ}{bxKLMau;u#T_|6&*h6h-bOheC6&w<``6jf67VN}7^qEGCo* zEwDUmvTQSAGu{drcxtuTfynZ_J)iyQaBsFGm@q<~YAeWHb zhLyc6jWML9XNqszMyXE_U>bWzTbX0ty0KXOB0&(~V4W)1HeYsn8@M>AWmvZbkNQDm z%j9_gJy+w%_*e}jlDTOZP{iXnQjWP{^MN|ga>P;MY}YRHDv)PHq17p%Wl9(KII-VD zay+r20zZNvFw^Pii)a!jhT4{FpEdTi$P4`AAAjS}ZGXQ!H9-*IpTGSBZ*O1x=a!_# zk=u2DzNHISpN3eCrmh(RF><+jJRbChTt7X?K<^HRg}uilj$_IwOv07t1+Lc*A5?{0 zN~bPAnb6q2Yf(QQXxbJpFRw_`+`iAJK7}weGiiZkp71avQHZUu4cKCmI z0gV}pjFs2mC`5gAyJt|#$TH7ac@2@@XbX;sAz*VLekq!^O-iJ+bfjJ06ZlM%)G} zJ)@-M`}g0;T7>~tW1+f+3v$=BL};5DRarThC!g#8iRM=2f#s?*ht#*XFGS(ZJK~Ifpy!kOe`=I^R~>4+)cC0RT=blzSzPx(Vvx&t&^hTe7@K+wEB{) za3cbPWN9ToPE6^sEE6&-RXrG3>486X=f*L+LN){jnl0{yS(b%~ktSJZ6g7)u7h4MG zi_Ne;0dN36=OE;q5Qa=HT}(j%z@v1>p+{gdDId$|qvtF3U?0vjEY#GB zF;A==Sh1&=K3faYG(p$Yel9CWLGRSVz_WE-y~J6P=Gnk7g;LBmSIqMWAVgJ_==y&5 ziuS$T$y_+E*BcZ8oLbbq4C9o&FAlUT#79YrS;mD#l4yM&vR<@J?Giiz=<_@y`tSex z&tC%sxZkh*A8ge9(d4UQwh(Pw13~BrfQE~vX>d7ToSs$07dKRP8Tbori%y#CGNNgo zakAK5ntv7|8uqQoIPU2e;V#Qke5eLP{WZ_CCrY(#i=V#!gvaCIdU8*PnkL+DSN!tJ zpU`z3PREliK}-%H!pd^KVHi9eAv5jqG_%oMn(5WF(*85qwy*yzj!6G2a&(%fUF$s# zXqy^;`s1J7LlQ+19*QsRjrgjzUWwcMcnE+xkPZZR`jT>RFh< zR$dutTZME#%T6Ri>w7L`l#N9mU&mpm$DyiRk`hLt>ou>}Pri&fhmZT6T?mr@g#pcg zmy6}fn-y@JCNn#KM_CDFO7R>}^SWkGM6&^*hTC}-Me zW$5=kUwl4)Tt4)@tSdV*SbCXx64gAgXZ7J$Aju}yVTd#_3uMP&Qp7=71xI*C{) zX1r&3+;5l{7H(B#<%_GBj35XQM~TbSmUZzZNCUN&lX;naI1@rmdDcKf-8^~2Y-F1H z!OZePUd60T(?nz3%NzQ>H)$S+$Gj-)omzeHEQ<=i{q{Fx89%cmRS77Ovbv#cMX|j} z%B=O%>BMNl!^y)T^jSyNjIQ^R3o%*Jq3`ka>rYSwZdq1Lrn8HtuBlCL+tvp$u~uQo z*u_8JX{kt`EO#gg&HN>vN5V>(2EssBTt+0lDov8pd z;$=yB&t?Y5u4`ReFG;F??l25-zg;nnqZd=spgjA4BGy6d-1&S#KlJokSfZg=e6it2 zYv#riE5s=Bz~kqYkT=h>dliSFcS% z&aM}E$wkmU3;n)Kf7@Ilr^Qi7b!ZyxD2fn=jAJFM#BK;+vl2=A7vwd_OkyWASW80? zg=E&s%8lT<`<7|;fwt>9HfPVgGw!#mr8EW3;h(8>rIv zotfonau%Yi($>fZ!XOM_y>4h4CPUWso!(B9eJ#ssXf(kh^@7OXr)OFqoH}NfWkG7g z_F!jc7_*ssnP)_1YL=|#biAOh86VB>$dLLlL~qZUf zqt|)feV?&_rQNWvrE)a0{<6$I_>X<>As}7XGV-_Y9XuU|9tgQavI&0ixp1{+buI!M z!hl7xeb?fAzS#NF*gVJKeOb&HFOcWyUrI>ppO}!L@9=VdLECo#HU?5mqqF^?4c2ii z$$nr=QDC1Z)lNYObS=G%%Q7R1Q)iV@^C1c73<4mIBd?Yah^KRMvik}Iimmg zkAMGlG_#cscp=M99~qr54KNcoVwcu5RtmUs^}|WX`n=4faQhZv z7~$>pi|Ls;C=hjSX^P%f8ZzezkbtB9y0*c~%NwM-_wRdNa6X-VL2Fx<<0xIB z?K%$h_I*WBg!}zw#$!ICO0YOuGMCKIk^nr@)Zf2<$Ki0WHtpOZ4*9&Lmcm3jclPo) zHpr&vhXFF*%JliT-<%C>+U5siLY&oi3(;e!WTl(BdBR7XUX9JQ`As%7>Z7G+7TbIKNE$!W%E^71xmhDqyI zo?@csd|erBEA74#S@b=te2edP$Dd={Wd(^bX!>k}fXPxid&Yr!b(y=fEJI;Zq)?h_ z0A*PrNhvcZ@&cb9AEu{It+}3>|0s@eus#J1oJ#Z(3z%ELhJb_f>4MG}J(XN4{DAU` z*xx0kSDlV0d|p2tVVDt+zLv`@B;yqX*bkptadZiS}WNBK6r9;-R#WMrmN*)`dB#=VB8%6HQ zA9SdWIG-a3ZJE(!zu1sBO%nnH-Ye3Wgrx5}9F9j1thnEw}SZ5VP9GC2x?rB*P2nM5!zs5A(agtXD;5QYIlYhr$8q{Iv}rgn6Yl9BC=rF-S}9Rw~D z*ZUz4kQNOwkCfHHWKU5Pp{;8aCFN#%HWztFg1r=23XLqyF^s)S%euD3 z@pOV(-jx_Q_Vfg)?_spXo($dQ(yVD5@%s8^YKhy^fV-Krb3~fun2bTmvJ7dG;eIDb zrGJSXkzWVkpFdAbshXz=FRyR>nKq_wg^up8COu<9TV~-Y<48b;QM^o5JswZ)@znFh z`z-NU;BtOJKTy7u=LPOo8_;zvPNxeNTZ|Zj!!wmjTZCmA5k@gPSGHX~KTorPj`WV` zvz9M5GO2QE&lG2_$ljgB7ZJ{16>fKeR!nc*kXv_()C~v%E;zBGbGZE2>cnDrvXJ-vA@b@M%`z?t|;2J z4UhYc45!$af$!15B6hpBL1x8_&jqJssK|f^A;Tu-Wu}rQO%VO%umAe%v$h-nj)#*E zrc8n1;aC&}nuY_HBq3RrBeF|tnwgBn62id?@5B_)AXvDjcymgONQ)4_dErH*3tp)A zhRq+Wc~TSP?8}fg(PxvQ4oI1tDM#W%csLwgDyBg|!vw#8?I{{G^vq`sq(xr(;UTHj zJTF{k3|Z>?9_P~qFP9e|ILe}O?W7L7BuU&zsxA*LA(CuK@5fx`D+^gX3%%1#IK z{*)D4v&*8wY&qC^MrCr`HTyZv=QGkIMP1(!1oTd+HF+F*B4Wl4Rb}N1c-MDsntkq5 zDT;zgH1@uQA<+|H!`H7rV_6ql5cr%c%ey)pJvuhFJp8)7pQ+XNVOG}oDEi;;$lFFBt zSHJufNRar?w*tW)uEA8ng4%NPo>XOp`oU#Q-5cXL;>#NWt@rQW+{Y!*=y*JlIgKOJ zNKd>}Z75qe&`2jrpc(5 z`2PKOoKKhCAJjC?WDdh%og{^ypWC+K^Wz=I6McoZ>(&2r$qBc0!MefOY)MwN)WxPt zS6YwQ_9zY+6>J4+lIG3R=zSkzki_)LARGjt8-5Q*#?r>t`W%JoiGs_WqA)T*W58yN zrqZyKp2fsQ4si0H%FJ6;CAzM0a7Iz(+Xk10%k!c@0Ci0fU0xkDSxw3^%@f%m1GRJ~ z>r9EF80X^&_s0#v#y%O?EOk7c(V5~vb46s5t}!ivil*yII%ICQuq+5l^C-lE=Fj} zhkOr|5mw%R6xrvaWqnx|pIw*?mH9av*>WS$Vz31efCub^Vd$VN**nH4Gc1A9dr5}C zK0Wgya_Na8e)cScgaPFQlTN3zNt!Y{<5Gqb1fjD9x<{Rfv7dv>X$;t%rZ`&NbMmLH z%gitYTcGr8NV%aUVeC7=ncmg^Sw&GIjzec_bx&kgx;*rqOE_7UJEAPSS0@9=>k1e2W;!+z7-(YlQsgH*W0G{ zR#|Ol%GA%&+)a1VyVp(aXk3yIEfz!6HV-!hQien(KtE$=X6(UY=d@IKo4e6tDwdJ- zO0tq7FZ~Oarm$;UoK9!zG}C>6(q|wPlSV!IG4h0_EhS9XVaAcs>AwXm+{Ygx|ZTQ^|Rj$K~@tnWA_r=?^ghU#kz)Q>Ic75qqVQs z4`eyZ3*{Nm^U(JLO?LC-?e!|~)KUUla`jwGBf4$d{`^^bjs{=%51CO>G5|&73Z>NN zFSbX|1}}d$l!ta^Or{Mkiwdpjc$H98*pMd_jtNh9qvIzZ;5uua*CC&01#Y*iFTF$G zp*kGBfn4A9V2hz6Uw|V;r8T(9N3a{37Y7i;fOK7l=}*7;O;(thd142}NaVq09}1YMO^jShj8ZfpNRv@4g6Xs1nO5Fkm+6 z#ZyFnW56x&kr0--aF4T&Zmo`-0~4@*zkDVk!DXmK3npWB*8dzzN86+ z7|iP=*{6o3Bu&i&G@@;5Lv-1rFwGNw|L1Qwolf4fvVr%C0tvdVV>ISM6Yez9hcZ9; zYoaK^wyr45$gQpm0RHZ4IV$qPy_tH)$@1kc&Fif5C^R{AVZ9>Twz0|H;%3)v#nAV* zi1ThzFN=nyAPA7>IhwjgmS^Z%KI47gd4E*bxBhM_pg`cKB$kyinx)A;Ib1TaDwlTL znB^#n9C4jzKEKm6qck=`cTU&SPZt0Vtmr=0{hw-98@@G|+_Wdz|blo;rM`-C8M|$HV zhflMNajwgPC`mAxDOs%H`FwF^U!ERy;|xQOc~Q_n;B$s#_T$7(kFM_#g#7Hbb+u%+ z4aegdZQJb6o(EBijUFb?ibTQ?>LvXOoGfkD;z zr+YJwSO%P?>f2d7e20I}>Sl9+ZM;KPKhIT_;PXNlVzh{OCPg*~B7U9#_~%=<7b9=s za=$D~T?#1qoB-f)nvka%Hqn80XKESl+6L1!8}puE+xWjzvG9ffNfLW;r6RIfy8skf zj%6c@z054%o#zRieP;lp_8E~M`1>XBJ_wj`Bltr1V?_~>med~Vap>)k>-}I61umIF6h$~x z2h0DbUqOQ}eE{sFn3oyv-@oIhuRmEj4iU>kMT(o|D^mDDu(x*(!-!$*(VE^{#?QPc zjMZUTjUEg|jS8tz+R|#e!>X(}2wHu8-}inf1VMn~@rcy(q(`Qh%t{U0o6|K!2<>@B zEu}Nopgqmg5AnD9{v4%9SfHjqOUSlR{O3ksmk_CI!q^=S0b~xkzVqM#F-Uo?;-vi$ z$-XorCnxsxouIq-&`Hc6Ecg84M`jKdN=_h+LfziVqqB zo$eRXB7^K?jia!*Of?+G)|o^4HnpYu=<$Hk^ApJ*JkB+WV-`A^Uj2T%df!RkbttRK zo~y-rc{X44_F#k9nLYWC9*>)MEu=OOXxVpTbHqcG{W{~m*ckJmWFB2`I^4NX*Ulcu zTf~~knl9mVktn9|=QB{?9 zRmfW-BfH|EYhxw!9_s9IpO6g(UEAPzI^lM`daQF8hVB_+vI^V_C^^w)F|Ptkc*YVUST z-0Sn>or8NE<9IlF$Or<)1q%_T*Q~{tx352VFFg>!{4jCC==2Sn^*Hcc)B>_Dt9yMY z#o=?>S%desQL?>lloqen_n^M5*w{O(;9(Rx1B75_@Ukq&?e1a?>@v?dUs&pVzFYuo#srQiECI0Z6oxZ`1(*X9V+{kSQb|*jpK;V&v$1gl$Iswl;%ePGYTn+%lPU;f`;hn}dq5YM`9P!*^-jd71I&Km8fYyx@BK^vi>p{-Yhj zX3jF^t+O&TF*zy>qP(UBH~%^HJBlgG(hPZ)xrS3OLl{_r zj&1$!U9f*X83YbSx?KBV@c8Fn{_sbX7Hoh3csy>V*@hpE@+XyL=~{ewNEEanqZ<(5 zr=NbtJW+#;EC2u?07*naRB7>w{2e$QsRbrVM5)4Vp4~i(IS7al{ruCeIQjeGx&Ov`Y$id7qR>+`(lkX?9h~OY zvMV}StYzIWLF)0idpu@YR6qDN#0*fwOu3VWsB!3dHf->PB}-Fued`zLvdq|lrVZE6 z5B!h+@jopk?SL={Jq1fFhdLXG(`%sP}RYF zy?zkowKOgMoGKO#@wdPIe}?L?3uB%q_gK+G zmwE3)Q$H9H8bzod51h{zgtjEl^Nj1~2eK^3%jE^%zkl-vXX(GSuqY`G8}Qq2e@7Hs zFO6MbVm2floh%mIy$|-kS4``(lvaKeEggDywJ0;aiit3#g=}owW@zPx%-G@2k9RQD z=qqlwPw#TswvC|#E#o6U-oFzpv!#%IFqFKU&lmL8f%16VS;Dw(xPHFdeYX2jxH!F}0{sAh0w=rXulOU^%g(xZ^Z&P*8XAGdre1GEGvneao2Nr)N@2 z&Es*0%*SFY=)JM$d!8-bi1+w3u`o}l^*By|Eo?-+(;a}^80o!jl=qCren}p!cX8-@ zH$Jn!pta?arKW9DyZ?@VF7^9WaX=8MFpkWRBs!9U>$%^1%gCITMdd?08`(MBhiZ!t ziO@@lG4wrSf5XrjHJyoJ7~*(5B0zxK{buhVg9g$pC$hh;p4>@bAx7IZn9QS_CaJ$W zkNcgh>mb&fccGTo*5s8kool`bEh%bQW+Yk0Hg1zNMRDvtr!Zv4Rg@$wR|QKn^)BMxFUlsVjtQ-(dazC!4!ZPQDqM-@KLLt)wz5RU)=wi&=QHI?1yvMT zntIY+6w>#ibB>D(fyw}sOsy*!&1sa+F-Dpu#%x6fpdPTW}-4 z+q%)KO-qV@G{m>-8Z^>58^glS(HfFh>R9ulKxfODkVo}iByoZ$j&`l>wwiQm#G}5u zQFr(AOr|AexPU$&YTFoSvhxC4Mkxz6*9vZ@dUA%c(xqjv;sN+c`Mc1-jjJHm98 z*7TWS7@}=k%oCp>z5Fsob4fL$Y~Rx`d_1GKJo7LL@%j0VvOM@DC3Yx`h{7dFip}() z<1~6HTNK3}%}UeMQlBF1=20#uFE6iH zmIYOH@c3RzMq z03b_JOd9-6wxi{2TW7?vSe4Cvc+12n*~QpiGNBpfY4p@A2kgvWw5}`rOH$4`dN-e0 zH!T-^*Lix|x-J+-N=Oxs5{4`=4h;}ufXR%_-VrWCycgP*62U`tZ~#L775QHBJjXIG zSnVF!wq3$HPZO@!PfXL~cYd0r2!jw0lj~AGcw&EtEoe~~A`EF-PA!#hS@ziG#Q?I% z=dBfKmQjw2-8U@uLlVhlnE;D`7YL=rOdt-IR3>sM>RrQWXi5e4$SgdEK)J9&9<-!> zetzI&C8J>&nw*d+nlimBgkd$%ys+gv2>8E?;@D+q+Xl?jV1fGaYt^FGyy7; zfw=7asPX#p=2af5fKZB;z>#HT+FkUY|M|avmFZO%s!X$O+oC9_ixy>^B&iQ=u%SqC zt17osf=^~>wIo(~Mq2aw`AIX>x|ob6;~;Da5vw5?RayBExNVycjd`Y~Qlgw*7--R{ zDmRn)MhF=|WPD!sw4)?W(KHW)QN*9CD4@1u%Cm^PNn+%YvCHC{o-W7C8bLLnP_rKx zGRzl8=E!GBmB;(pqP3fx64(3pL+_|Z-?eyseRJ8uVkoPIEd+rX^UQ!{k}Kut%V6wu zr^$3qW_*;Xt1R}!nj}e3@OhR_^?oQ3DF_0WQXZ-!6O2+d z0cZXWbmnJ@lf;+G-GE7bdh*oMBIGd$iJoau8ipQKb;LYR7zSf?nuno#6% zjJ7Sm_2cowyD1r>8e@BFtZ$nJFP9gL(}>5NK7%CX`8HeY@iNaiR7Yp;+J+``Neq>G z#=ej6hh<`(XCk9PfUjS^;C8#BYdfS_>ObpqVwr{~ni2OHQ35J^Ywhdn8^UN0mXH^t z?^>4#Y8Wre5`X{O-|+JKMtPzQ-AO`u)HF?aeR)OwxbqpXbgIghL`U|^ibInz0z=>9 zWP`WB8X>ei4=A6CZOQ2DXY1M)hvU%)d&(qc|6PQ>>hJG*`YyV@W4aC~Iq13;lQAy> zJmzU++RpLpY`XqD0V+ja*agm|N`sfaGlfS8iC*Rj+eYMaSr%s)h%|Qg8B($5A?>={MYPema-84wj#Qw9*n8E?aBjbZ5ag$_P41{7>#l)@Fy3Y9C%#ha7%%-iI zTC*p0fS8u`qS!+n5;rJE9%nqyi}z*B&I*Qp z=3?70O|x~E1;%J8jVN--+qP~ly?zd;0N^1XYNQ{=!R14gQSL)|U@|0~Jz*H4%u6&) zjW7t1q#1_3M|C)u{CBi>a`(B4p$W}Y4TB3Lb&BJdy${=FGN8elQNb$1A64WE18G*&}EbIMDGcqZXbJg|3C943?8o&~U5u*S8@BjK$300Dx zs4R>hB-OYtkBc0ZE-xF zJpPtu*~le6%Eiu1ngal@uW$JNoqZW?LwVW#e%+0WL4a{&3Q5~GX1rrOt`7Riq5zXL z#rbrmH0|-Al!JaduMg_~KtUEjCfz`m{!8m3@Qr}_dJ6?1KP-w6gYjU~J8zK*x-bW3#pC9i?(hRvRESY^) zLS}=29+};5w!)L$CiWh{P)sH5olj?mb*u{w+uP)diqPHs( z%PK2q)B*u3uoZ}*1VCq7?D7+8NI6ORLlkQLxI>Y=aU3(gz3*LarSEJUdSl`PTkMz+ zqb0Da4k*jg&n`00G0KX48Xu!a&t&t9e|j=WTH7+7~8R!J%r$v)$RK10dP<0QdkAnLX;-dJ}yXRFBl zPc-V&lMvf15rCd6mF)@mQRoAgr_DR22&!}j0PjP*BGtDISl8L5JxP+FC@M6~V~=VN zm~xdS2_pORsn}Q?K=HX`Sy0&A#xn#aKV)gNSPciWmtfMcfnq!q}%6C36z|`1VV_$+G#4vOgD6n^=Ec1vcCKLF$-)w270X)xh zgh7bDZw+){v-#n0u)qcST$RAp+g-WKAXj64`TxTf9xaB`IPRdhJ-frOmn%y8Dv&J* z0!xTARZ@~N!P9+etU?e|#Z=JIOD5fqXy91%m%seWuhQ`=(opnf6or;5w3%mN1OmAB zdl;Dd6vwf*eM_G&*L)PQ?Bsm9n1<8RcoIgUwl=Km&(s5{3sOi!SyWE-7DdTRCrJ<| z2`=Xg`hmz?W&>5zHjH_+A#Pn)A1I5wz~OLk!(bdGE<;jGtI!->q`jf!>V-&C8gH{K zgN%xbk(B{YUY0Oq-^VY1_yyPN)xVfDA?1F*UvW5|{GTne^RmoNQ;*ZglmmMaGBe3_ zX71EOlBKz87loqgfYxEzG>z#1`G6~XUZ@^pfm3|@_D^iK$uDMR)8eLKJplh~EkYWW zwPfipE`EG|q}TuW_zr5ab7y`Oj|m$<1EaYoi+iog(l6_#e&BF88hzX`31nrgqJjpF zr?X4kbV#b`lHDqkCx)%-z9_OxhwKD3xe=DdmQs@wD$X^{a;GDMAV89`ZFgN&wiWDA zuEXGdt1QiMH>p+_MrazQJ)MpxOcR$Fp~S0sGjxeMt-Z?38~Jk?N3kbP{qc`~M&I|I zcJlW2#<d(}9Fis^5H4Zb4x8V4Qs)~xG)THyIzs!y98Bd*|x6u`t>JgLi(=7y8W7H>v!{8< z2P8?L*hqp3v-_*G{OL2w(u@Pm;fSuStz#wepJAS7ynp|OEX#ecDss~F8-TWLFdBo_ zHjQ6EO1j&gp7Wva-8k+^H_L*mtZ=)1?#9vkofl+65M&sJJ?h=i+2i2|CW194-5LF} zNNg$ByZi0iKXE=^b~AjI5wVXV(@qmL6+0S7G0N(&pV=m*6l&df^o1mGf~KkQ_V&e- z!nADZtR$;T4fo~c71K0g=m%tZhS!%@0F-hb4qV>u_Zt{P8o53{w0CzH_b`xM!ylnK zut$bTajoCw>pUaPbC+-=NrJ9x2`m}o&OtTyPA^5DOSJ&N0GJKqFzzLUl;G}))m{j-+7YRMG;wX0c*>)vXMND5Jqf7 zk0rOU!d&^0D7k~5DT5oPnW7XMSTipZ#(u!zc;b*2ve{ej4eu`4yH0euF(#_WOEaAZ zSQqtaB}fw%>xo5K%qQZ8=7^G>0I>8a`VR7<^#3e1rd+bf(avyzJZe#tg-})p z{~hLKA>%R6-rW+}dn`487n_=7T=NR=vCw{w#R0f(=}8{6ZEQC#i_(W+y{t)WrD;aVOMamet29mBw0pf>ZL8ZQ zRbd!8OTwY_ZU`sobfG2VIGUTE5A^l(!(=3_f6#FpJ2JId{`qm1pkyw{a+p&GuXad6*DKlId%+vlY(cC+P125{f}v1eAx zz$*k*$a!mRwi;HSjjWP(_@#*82hF$^lrZEAE`LF9CO;v68r1bHv`ua0JfVMHG(#5X zx*l;H`DFkQkv~+G59(rcn6AJW$RLc^DqIx%rf%lDd7cr3ff-O&KiGH)XFiZgXZvjQ zk@w%y9wxI>}%i97`d6%wO9o3aI}Ki6-thhV z@074byX*j<*Cw#TdS1wwg%+XdUKAVdl`_OZthE^14fTWiTlxex^BvuBI-Q)U(_qZN zfrRNd_DrTp=4fynMYunxXI2WHm;o^#T67qgKpb=U6FU6Nm_97gsp~o- z`WubdoTgSm|Jl5TD=&zqT9 z1**~WmZGj7j-s}0izsGKjbusyj8QiR-2zJq`PUYHRez_zY9*wUobw9w4FG{9P;^^;tB+kkPR#Ejl6 z8l?dsOIQY{@2qkiCcJU_8P9M*K70W|K@_{--N z;J?>B8$~hJWkqjs#HkIpah%Xc7ru}p2&J=WlA*|RTyLMo zeyskSuGYDf<&*{~*8CZ$iQ~k4AdyM0QkOv~r3rxb*zBPrZP)m_KijiVl?O{&W7~ZY zFcpf+RpHCmWtX*N6b!J*NBn?qjl}* z-Ja$VudiPmWSFeLF^WRW%ZhcG5XY&>TOS_&qq0lNul93Yce4VD%A!PIsa#o_;c|XK z0N~@}J5)QNx$f=t3;Tdf?)v)rhSu&Y1_kgtQ~dHcuv4xqnD!{y=s1qa#tP5W#=}C_nfFA`ZP2(iVy5fkb~PfrboA=E$F-fZbR=?@i-Atc1+PmgZc8 z-mi>+5AkQqm(-eWznkD@hP++BUQiJuxRp(w%JSNByEyLJhi?QNmFz&Os3%#@;nSo z&?xc(X_g^Nb35SqoUZHYRI}KZbzSk(*Prn1+wZ`(I;$4hg;W-dC=S5EOXpJ8HH`k9 zgxYX8k4*c%Yo<8_%hOX9C3VsPY|sFtxy|yNw0{(N-$;@$jje4PUuKSnBgT<3z=O%} z#%XjZgc5xu6{B~B#f$4Q<9IrI;D;6<4eT;miviV;GFwD1(~Vd#wPC|N%{W@ac~d_; z#`ki*U|CmGhQ3QSQXLL>?y(uhfzmt!old8d4`^g8ZXQdkGizBW?V|jr_OjIHkO?hp zLUTpoD?~$oWm$%*JfJ8FeE@FT~@1M-T)ktI8M1#LVyV5>PYWJHx2&RT4S< z_3`l?is96Blpmm?SBh`r*U02WKp^0|P}_8WPM! zdorWGK#6r>Hw%wQbtjHau z2f!sc*#i&weC+={ft%4m2;Fb&FX0lkEG$9J(j3FkBS{m~4|+QU@THa#B`I8GDh%B> zhr^L^tBabn7x$N`7*K#9=cSdBC3#bm6tl6J(=;)0Dhw$P2LYq9EHMqENo!)069t%- z8LRm*k~sF1Lu_PO&gY9sam*`~X6|vc+umm`CC7z9fSWy6^k<|t0|W>VxP*x3=;&;m z-orG_ozd5<7R50?!BKT;kSk#i2SfWy;>^FpO;h;Ikkd7`Ot7F~pkFR%fBIGJnW~!_LQ{8RB{yTH!^HHC*oRq_6>j&N(WBJF z@`L7pm*=^c_&g8y+qUg3zg>sd*Edg&5M`!8P4WT$^Oz2#MrLi&<2ah!WpFetwykk| z8g#S>N`D^5F+M*&-1Ml2S(miXpfpKwzu!9l{v*CDefsafor*0#~6YD^ZO@FQnvFn;2Q{yb&aUE_ z?|PY8^rr~tAONzQt+aWT;3>D&`b$tHJ72&QTDrF$F(NAC69X>p*eh)be|elGCz ziiyd{Gk!O5oHz&oz>6`p!037FyAG%GnG4oN?R=6XxZkeG@*HJR;&3>5X`8%ufED-} ztE2)=o-Ops6=msnh5#cO%o88jh+>#NpD@pGq?`z$cQ5;cb1z=ls zk6K4mmixPwX9eXO5eLe3r7k@H5CoAI`RdGeIg6Q*mzl{=N*J0AfLV-zVTzI&_j{hT z<2WG8nF`ppEnuIqI*;gy$$Y_~2U2pS#Y@ZHL?-LXaxz-$>R!`%mREX@&Rxw{O5o+}gFgY>)!9czNjFwx z*dj?XjAQRn!18KR^40s#!!*}Dc~M?5zBjx-r=dq|o}|rKi?S^7{o6MWdr@N7vMgB4 zzowL0rhg8$JZG->5hx)mg=z#$xr0-7{|)najgI zKi_?b$+O%qS6xW6wK{4riIbQym^K8Z-5p0({>%IvUFpw2BK-2 zO~%vtu#}}4+g-PfwDG!mY-$vRSY%X=LPJ?hMzFD$BaUM99Sw?kPG7|7bTRE_jwp*{C%-o`+E0bu6D%IlB_moWh z&;Rj%TX9|M|BUCuOcyrwz?Cmc&oZWInp|4sscjP}>)6sd^q)yqrQa{Nh(5*YY9Oxb zJEAD|#ZK?p@o@C#@^m`$ImfQu7fPz1W%qOZh%!Du$LbAHN*9;J8m4k_VGOn5*t}(e=Xp4hisOv6; z(r0tIys${EYboil2-qykasB+Hl(6gY<;z#h^XyBgf<<_VCs=0w`~ZAF6q~c_mYEJF zpMf{eCn-L!AI=!*jDH3K0st>BukQ0n6Z(T*US6G{R=ML{DS;L5K`mE6;0%eFncO07 z#bS3|gCGcTI04pMt^pFLW1?r|o+dN!C`E1U9e$GN$ z)SCK%)A{m4RPXt8_8fnfVt&$ZVQjd3M}Z;R^e#p&Mdtg!`$Q4@>QGSBaT3#DF4+o~ zid}{cz&#p5`x8T=c^1q}Z0eZ|7DhIRFZQ0AJWqpB5CYRUAxRUD&()o!A+RV4XPn|V zMpacNZ|3iR)O*8twxnA*hvmMG@g#w63g13UC{4nyy1jnbAZvSz$< zRJ=&P%;M$JqjfcHVj_outm(EdSO^05K(=j-Lq(%;(=^T^s0??W*}yK4M*lwGhDU#$ zF}-@uHv??Du0?9+fzAa=CV6_#^Nhuqi`0S^cxJ6QSi<4FEEec8Tgl?;1(R8t0bxMq z+wMN8OgK*^eiz0u0Vka|*mk2f6(!I96?NDZR`I~_4FRuF6dNeJ`R4_|)fGU1WgZP& zv_I2kTCxAb&>K@|YJgDyA@7DbicB&eplKeaaDX#V(>OAYud6FLMtNL~tzYdP zWDpMLg6G*biXxvg^}aB@?~1}?u#)vDL?im^U;g!1W^fNr(uCGG7$S(FU5trsd|oOUIJ~&P3?;ShsuDa)nL~K6ZMffd_&i@9>b^%XeH$=7QI-M73Dhh!w+N0 zvm_r{4f*NKtdwS{BUdtx$~PjTkPtKudb!iFK@eD>)gFa63^A_s{EF4?icC9~n_@wjN}J)G!fH{S`)`pFPX6;`QYPA0OYbE{i1@!5h>2zO~q0Yd5z6|Kt5Tv*hi0 zZJNeW@UpCs7)!U<5~=7+>2vjL$dfWpBg&%kfCfn!TVv`@r?V|qd;4~7P15oQqzRF} zXZfnmB}LcveeZFfVsX^P6o!lfZB23~wrL!CEc4S45-O- zk|gm(OcE%bu}`w!kj7FCL1OOjkB2e2fuEBaD)e)-O-=UF&M!6muF!OY7RxtHgvnGjv+IZ`V(@w-0;V>9#TSVp$eXfcsOg$MKpN-e7gZT6 z(e9lo*0UGu%r=&b|2w9I3OEZwrakI?SH$u&+dbK=ux%Rx1Q@2#Q#0pz@^U(vk3CY{ zp2w;>y7W@%TeT(7MRDxIy^0MVkGo4j0gKU(Q>}TvGNt%gs}=`tq*#C5$2zMdb;E0Gyc%0xnOmrEoRb&coPvdgBsPqU=2= zoO^(29<3*Cmxi}ZgJ~S_<;zd}JXZo_0tA}+;h;|#ke$r490-8kX0I?}Y_1CbqKLje z0QNhDzFaO28gq#dkWQAhxAI1^NQdf(aT=}ouXtK;na0Qz*UkO5oUIaMSpkGpHOQX? zoByV1#%zEN*|5-ATZVg_EOvRXP)M^3uP<-7Kkn$d#-xvdpFfgWj??I};@kDpQ~hL# z82TQeu_V|wXY;ktmo~%R?>Ah|7oQcPfBWlSejUfjr7kj=0O6Ayiu$$yfydImzPwpO zxKb{ZYOwggDw7)B@%tc}*(DgoEJ0yX0n5PZ`ffw|>|cNov8rS_VwO=er$*b}^uS8J z5~!(0@4oMB0H;Q~w@wI2PITF6DS0+X=`ilQ7B81qTfi2)T;34J5n~4JOGuK`TO^eh z1Hh#)z#h@57IyvlS(c;gIxh!Q645gXxUMTsr!zi2KHRLy7}>yo-}cF{-qa5qjzsnf zV|3CqrPONMa5|o7_%&$@4_rna>$4Er9z_vgdj4`V~ z+Hifoyx?R~zupQm*@IKycKdXB)@~{@zmOridT*)&50Ao@BC1d$bP^<9S`4Dg4a ze{p7jpU;b;{}S-GQR%F@85dGdi`QuiettIhkK0tx=h#*AkV33 zuBwBdQBD0ofWX*p`dQS6!ie+2hbS?UZTIc~5aur2scN(Ko{bDvSO>71k z-N}I(8RXS5Aa4!N;m9R3l4@$9osE^092j8A(z39xqdHU=hrx<6O?qYbK%687l)w@B zG)`@q&Y^Ax;Ms)DzX*IaW@;vro8|PONS3vj-e2;YrmY=ZbJc@^gu1VUl!wL^2=vOb zoMAEn{Crur6^kM7Om&(t+Pzei^f_i$Gaz4AK4JAg)RuF`5(uTrgU4*l9VZ+yq7WpNuUA# zhv0@VMEVrRt#UxkOx-zH+LxFOK#}EGHp-dgfy!-Zo|lEGoKJwO zDi-*zh#@h_Q4k_FY5#08OMjk|1Zk3CT^BqaH_Dr47L}?f(F6lLulf!}RhchlasXEm z^ippOeP{ARxHs#1{X`fooR2$P~C~Ua)R_riNZ!Ore2EyALe21kTtbR00}8QvuYEyFIIu zNwX*;ATzEp$$8Q9m3qCXMc$%LnmbB6pAebn`XQ_ z@~p7-V7{0?ef`N1g!Ac)4I3WTpCE*bAIv@|Bv$0cEb_)Ew$*-y+|Bg!JetXvkBs~X zI&ha|HEksgOi7ZtNq;s<_4@gaVW56bx<_r^k!ux0W0GRjj~g4B7a6KkANq7)3FR*G z67sd^cLONV>G~dvWuD8+q0+bBTBNJ8@?MijrY4iXbscm43rl-=)DPDmK5HB`7-$d^ zvo*~Vj;E6w`($)p*Y$^sG7KYZ>+EKF9VjZlnoX0fxYKbOeJGhG4p_kMaUmMS<>T%3 z)fp)bYwI$zoU!j1C}6r($zF7cj^k)A|H|BV1df0kkA!Ul9*-L?=NGKo>Y94k|F&&v z1YzWc>9Q<|3S=3|qH@HJgXxU>{RU~LnO?Er<>l2qPFY^K+ycN8#Y!o|wgH1l6xNjy ztBWOe1VMn;mp5Qzp1zQJmkZ1jLX%ikRRvMGx?FYZka8x%Bl(xU*VPuu(PTkg*Wu;= z=jzS2F*W�s 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�!PB;;`(xS8dK(nOj1_66|{(dU|ACH#l~~TX5ew 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 iX8teyckee019 - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.akonadi 4.5 as Akonadi -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi.contacts 4.5 as Contacts -import "../mobileui/ScreenFunctions.js" as Screen - -KPIM.MainView { - id: kaddressbookMobile - - QML.Connections { - target: guiStateManager - onGuiStateChanged: { updateContextActionStates() } - } - - QML.Component.onCompleted : updateContextActionStates(); - - function updateContextActionStates() - { - if ( guiStateManager.inHomeScreenState ) { - kaddressbookActions.showOnlyCategory( "home" ) - } else if ( guiStateManager.inAccountScreenState ) { - kaddressbookActions.showOnlyCategory( "account" ) - } else if ( guiStateManager.inSingleFolderScreenState ) { - kaddressbookActions.showOnlyCategory( "single_folder" ) - } else if ( guiStateManager.inMultipleFolderScreenState || guiStateManager.inSearchResultScreenState ) { - kaddressbookActions.showOnlyCategory( "multiple_folder" ) - } else if ( guiStateManager.inViewContactState || guiStateManager.inViewContactGroupState ) { - kaddressbookActions.showOnlyCategory( "contact_viewer" ) - } - } - - Contacts.ContactView { - id: contactView - visible: guiStateManager.inViewContactState - anchors.fill: parent - itemId: -1 - - onNextItemRequest: { - _itemNavigationModel.requestNext() - } - - onPreviousItemRequest: { - _itemNavigationModel.requestPrevious() - } - - } - - KPIM.ItemEditButton { - id: editContactButton - visible: guiStateManager.inViewContactState - actionName: "akonadi_contact_item_edit" - anchors.bottom: backToFolderListButton.top - anchors.right: parent.right - anchors.margins: 12 - onClicked: { - application.editContact( contactView.item ); - } - } - - Contacts.ContactGroupView { - id: contactGroupView - visible: guiStateManager.inViewContactGroupState - anchors.fill: parent - itemId: -1 - - onNextItemRequest: { - // Only go to the next message when currently a valid item is set. - if ( contactGroupView.itemId >= 0 ) - contactList.nextItem(); - } - - onPreviousItemRequest: { - // Only go to the previous message when currently a valid item is set. - if ( contactGroupView.itemId >= 0 ) - contactList.previousItem(); - } - } - - KPIM.ItemEditButton { - id: editContactGroupButton - visible: guiStateManager.inViewContactGroupState - actionName: "akonadi_contact_item_edit" - anchors.bottom: backToFolderListButton.top - anchors.right: parent.right - anchors.margins: 12 - onClicked: { - application.editContactGroup( contactGroupView.item ); - } - } - - KPIM.Button { - id : backToFolderListButton - visible : guiStateManager.inViewContactState || guiStateManager.inViewContactGroupState - anchors.bottom: kaddressbookMobile.bottom - anchors.right: kaddressbookMobile.right - anchors.margins: 12 - width: 70 - height: 70 - icon: KDE.locate( "data", "mobileui/back-to-list-button.png" ); - onClicked: { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - - QML.Item { - id : mainWorkView - visible: { guiStateManager.inHomeScreenState || - guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState } - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right : parent.right - - QML.Image { - id: backgroundImage - x: 0 - y: 0 -// FIXME: too big, costs about 1.5Mb RAM -// source: "kaddressbook-mobile-background.png" - visible: collectionView.visible - } - - Akonadi.AkonadiBreadcrumbNavigationView { - id: collectionView - visible: { guiStateManager.inHomeScreenState || - guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState } - anchors.top: parent.top - width: 1/3 * parent.width - anchors.bottom : selectButton.top - //height : parent.height - ( collectionView.hasSelection ? 0 : selectButton.height) - anchors.left: parent.left - itemHeight: Screen.partition( height, 7 ) - - breadcrumbComponentFactory : _breadcrumbNavigationFactory - - multipleSelectionText : KDE.i18nc("%1 is e.g. 3 address books, %2 is e.g. from 2 accounts, %3 is e.g. 9 contacts", - "You have selected \n%1\n%2\n%3", - KDE.i18np("1 address book","%1 address books",collectionView.numSelected), - KDE.i18np("from 1 account","from %1 accounts",application.numSelectedAccounts), - KDE.i18np("1 contact","%1 contacts",contactList.count)) - - onSelectedClicked : { - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ); - } - - KPIM.AgentStatusIndicator { - anchors { top: parent.top; right: parent.right; rightMargin: 10; topMargin: 10 } - } - } - - KPIM.Button2 { - id: selectButton - visible: guiStateManager.inHomeScreenState - anchors.left: collectionView.left - anchors.right: collectionView.right - anchors.bottom : parent.bottom - anchors.bottomMargin : { (collectionView.numSelected == 1) ? -selectButton.height : 0 } - buttonText : (collectionView.numSelected <= 1) ? KDE.i18n("Select") : KDE.i18n("Change Selection") - onClicked : { - application.persistCurrentSelection("preFavSelection"); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ); - } - } - - KPIM.StartCanvas { - id : startPage - visible: !collectionView.hasSelection - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - anchors.leftMargin : 10 - anchors.rightMargin : 10 - - showAccountsList : false - favoritesModel : favoritesList - - contextActions : [ - QML.Column { - anchors.fill: parent - height : startPageNewContactButton.height + startPageNewContactGroupButton.height + 3 * spacing - KPIM.Button2 { - id: startPageNewContactButton - width: parent.width - buttonText : KDE.i18n( "New Contact" ) - onClicked : { - application.newContact(); - } - } - KPIM.Button2 { - id: startPageNewContactGroupButton - width: parent.width - buttonText : KDE.i18n( "New Contact Group" ) - onClicked : { - application.newContactGroup(); - } - } - } - ] - } - - QML.Rectangle { - id : emptyFolderPage - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - color : "#00000000" - visible: (!guiStateManager.inHomeScreenState && collectionView.hasBreadcrumbs && contactList.count == 0) - // TODO: content - QML.Text { - text : KDE.i18n("No contacts in this address book"); - height : 20; - font.italic : true - horizontalAlignment : QML.Text.AlignHCenter - anchors.verticalCenter : parent.verticalCenter; - anchors.horizontalCenter : parent.horizontalCenter - } - } - - QML.Rectangle { - id : contactListPage - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - color : "#00000000" - visible: { guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState } - - ContactListView { - id: contactList - anchors.left : parent.left - anchors.top : parent.top - anchors.bottom : filterLineEdit.top - anchors.right : parent.right - model: itemModel - checkModel : _itemActionModel - itemHeight: Screen.partition( height, 7 ) - - navigationModel : _itemNavigationModel - } - - Akonadi.FilterLineEdit { - id: filterLineEdit - anchors.left : parent.left - anchors.bottom : parent.bottom - anchors.right : parent.right - visible : false - height : 0 - y : height == 0 ? parent.height : parent.height - height - } - } - } - QML.Connections { - target : _itemNavigationModel - onCurrentRowChanged : { - contactList.currentRow = _itemNavigationModel.currentRow - if ( itemModel.typeForIndex( _itemNavigationModel.currentRow ) == "contact" ) { - contactView.itemId = _itemNavigationModel.currentItemIdHack; - } - if ( itemModel.typeForIndex( _itemNavigationModel.currentRow ) == "group" ) { - contactGroupView.itemId = _itemNavigationModel.currentItemIdHack; - } - _itemActionModel.select( _itemNavigationModel.currentRow, 3 ); - } - } - - SlideoutPanelContainer { - anchors.fill: parent - z: 100 - - visible: !guiStateManager.inBulkActionScreenState && - !guiStateManager.inMultipleFolderSelectionScreenState && - !guiStateManager.inConfigScreenState && - !guiStateManager.inSearchScreenState - - SlideoutPanel { - id: actionPanel - titleText: KDE.i18n( "Actions" ) - handlePosition : 125 - handleHeight: 150 - anchors.fill : parent - - QML.Component.onCompleted: { - actionPanel.expanded.connect( kaddressbookActions, kaddressbookActions.refresh ); - } - - content : [ - KAddressBookActions { - id : kaddressbookActions - anchors.fill : parent - - scriptActions : [ - KPIM.ScriptAction { - name : "show_about_dialog" - script : { - actionPanel.collapse(); - aboutDialog.visible = true; - } - }, - KPIM.ScriptAction { - name : "configure" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.ConfigScreenState ); - } - }, -//TODO enable when SearchWidget::query() is implemented -// KPIM.ScriptAction { -// name : "search_contact" -// script : { -// actionPanel.collapse(); -// guiStateManager.pushState( KPIM.GuiStateManager.SearchScreenState ); -// } -// }, - KPIM.ScriptAction { - name : "to_selection_screen" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ); - } - }, - KPIM.ScriptAction { - name : "add_as_favorite" - script : { - actionPanel.collapse(); - application.saveFavorite(); - } - }, - KPIM.ScriptAction { - name : "start_maintenance" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ); - } - } - ] - - onDoCollapse : actionPanel.collapse(); - } - ] - } - } - - QML.Loader { - anchors.fill: parent - source: guiStateManager.inMultipleFolderSelectionScreenState ? KDE.locate( "module", "imports/org/kde/pim/mobileui/MultipleSelectionScreen.qml" ) : "" - onLoaded: { item.backgroundImage = backgroundImage.source; } - } - - QML.Loader { - anchors.fill: parent - source: guiStateManager.inBulkActionScreenState ? "BulkActionComponent.qml" : "" - onLoaded: { - item.backgroundImage = backgroundImage.source - item.itemHeight = Screen.partition( height, 7 ) - } - } - - KPIM.SearchResultScreen { - id : searchResultScreen - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right : parent.right - - itemView: ContactListView { - id: searchContactListView - model: itemModel - checkModel : _itemActionModel - navigationModel : _itemNavigationModel - anchors.fill : parent - itemHeight: Screen.partition( height, 7 ) - } - - resultText: KDE.i18np( "One contact found", "%1 contacts found", searchContactListView.count ) - } - - QML.Connections { - target: startPage - onAccountSelected : { - application.setSelectedAccount(row); - // TODO: Figure out how to expand the slider programatically. - } - } - - QML.Connections { - target: startPage - onFavoriteSelected : { - application.loadFavorite(favName); - } - } - - QML.Connections { - target: contactView - onContactRemoved : { guiStateManager.popState(); } - } - - QML.Connections { - target: contactGroupView - onContactGroupRemoved : { guiStateManager.popState(); } - } - - QML.Loader { - id : aboutDialog - anchors.fill: parent - visible: false - source: visible ? KDE.locate( "module", "imports/org/kde/pim/mobileui/AboutDialog.qml" ) : "" - onLoaded: { item.backgroundSource = backgroundImage.source; } - } - - QML.Loader { - anchors.fill: parent - source: guiStateManager.inConfigScreenState ? "ConfigDialog.qml" : "" - onLoaded: item.load(); - } - - KPIM.SearchDialog { - id: searchDialog - searchWidget: Contacts.SearchWidget { - anchors.fill: parent - } - } -} diff --git a/kdepim/mobile/contacts/kaddressbook-mobile.rc b/kdepim/mobile/contacts/kaddressbook-mobile.rc deleted file mode 100644 index 3a5821da..00000000 --- a/kdepim/mobile/contacts/kaddressbook-mobile.rc +++ /dev/null @@ -1 +0,0 @@ -KADDRESSBOOK_MOBILE_ICON ICON "kaddressbook-mobile.ico" diff --git a/kdepim/mobile/contacts/kwidgetlister.cpp b/kdepim/mobile/contacts/kwidgetlister.cpp deleted file mode 100644 index 359fb59d..00000000 --- a/kdepim/mobile/contacts/kwidgetlister.cpp +++ /dev/null @@ -1,96 +0,0 @@ - -#include "kwidgetlister.h" - -#include - -class KWidgetLister::Private -{ - public: - Private( KWidgetLister *qq ) - : q( qq ), mOrientation( Qt::Vertical ) - { - mLayout = new QBoxLayout( QBoxLayout::TopToBottom, q ); - mLayout->setMargin( 0 ); - mLayout->setAlignment( Qt::AlignTop ); - } - - void addWidget( QWidget *widget ) - { - if ( !widget ) - return; - - q->connect( widget, SIGNAL(remove(QWidget*)), q, SLOT(removeWidget(QWidget*)) ); - mWidgets.append( widget ); - mLayout->addWidget( widget ); - } - - void removeWidget( QWidget *widget ) - { - if ( !mWidgets.contains( widget ) ) { - qDebug( "Warning: try to remove non-existing widget" ); - return; - } - - emit q->aboutToBeRemoved( widget ); - - mLayout->removeWidget( widget ); - mWidgets.removeAll( widget ); - widget->hide(); - widget->deleteLater(); - } - - KWidgetLister *q; - Qt::Orientation mOrientation; - QList mWidgets; - QBoxLayout *mLayout; -}; - -KWidgetLister::KWidgetLister( QWidget *parent ) - : QWidget( parent ), d( new Private( this ) ) -{ -} - -KWidgetLister::~KWidgetLister() -{ - delete d; -} - -void KWidgetLister::setOrientation( Qt::Orientation orientation ) -{ - d->mOrientation = orientation; - if ( d->mOrientation == Qt::Horizontal ) - d->mLayout->setDirection( QBoxLayout::LeftToRight ); - else - d->mLayout->setDirection( QBoxLayout::TopToBottom ); -} - -Qt::Orientation KWidgetLister::orientation() const -{ - return d->mOrientation; -} - -void KWidgetLister::addWidget( QWidget *widget ) -{ - d->addWidget( widget ); -} - -void KWidgetLister::clear() -{ - foreach ( QWidget *widget, d->mWidgets ) - d->removeWidget( widget ); -} - -int KWidgetLister::count() const -{ - return d->mWidgets.count(); -} - -QWidget* KWidgetLister::widget( int index ) const -{ - if ( index < 0 || index >= d->mWidgets.count() ) - return 0; - - return d->mWidgets.at( index ); -} - -#include "moc_kwidgetlister.cpp" diff --git a/kdepim/mobile/contacts/kwidgetlister.h b/kdepim/mobile/contacts/kwidgetlister.h deleted file mode 100644 index b1712370..00000000 --- a/kdepim/mobile/contacts/kwidgetlister.h +++ /dev/null @@ -1,73 +0,0 @@ - -#ifndef KWIDGETLISTER_H -#define KWIDGETLISTER_H - -#include - -class KWidgetLister : public QWidget -{ - Q_OBJECT - - public: - /** - * Creates a new widget lister. - * - * @param parent The parent widget. - */ - explicit KWidgetLister( QWidget *parent = 0 ); - - /** - * Destroys the widget lister. - */ - ~KWidgetLister(); - - /** - * Sets the @p orientation of the listed widgets. - */ - void setOrientation( Qt::Orientation orientation ); - - /** - * Returns the orientation of the listed widgets. - */ - Qt::Orientation orientation() const; - - /** - * Adds a new @p widget to the end of the lister. - * - * @note The lister takes ownership of the widget. - */ - void addWidget( QWidget *widget ); - - /** - * Removes all widgets from the lister and deletes them. - */ - void clear(); - - /** - * Returns the number of widgets the lister contains. - */ - int count() const; - - /** - * Returns the widget at the given @p index or @c 0 if the index - * is out of range. - */ - QWidget* widget( int index ) const; - - Q_SIGNALS: - /** - * This signal is emitted before the given @p widget is removed - * from the lister. - */ - void aboutToBeRemoved( QWidget *widget ); - - private: - //@cond PRIVATE - class Private; - Private* const d; - - Q_PRIVATE_SLOT( d, void removeWidget( QWidget* ) ) - //@endcond -}; - -#endif diff --git a/kdepim/mobile/contacts/locationmodel.cpp b/kdepim/mobile/contacts/locationmodel.cpp deleted file mode 100644 index 657aa523..00000000 --- a/kdepim/mobile/contacts/locationmodel.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "locationmodel.h" - -LocationModel::LocationModel( QObject *parent ) - : QAbstractTableModel( parent ) -{ -} - -LocationModel::~LocationModel() -{ -} - -void LocationModel::setLocations( const KABC::Address::List &locations ) -{ - mLocations = locations; - reset(); -} - -KABC::Address::List LocationModel::locations() const -{ - return mLocations; -} - -int LocationModel::rowCount( const QModelIndex &parent ) const -{ - if ( parent.isValid() ) - return 0; - - return mLocations.count(); -} - -int LocationModel::columnCount( const QModelIndex &parent ) const -{ - if ( parent.isValid() ) - return 0; - - return 8; -} - -QVariant LocationModel::data( const QModelIndex &index, int role ) const -{ - if ( !index.isValid() || index.row() >= mLocations.count() || index.column() >= 8 ) - return QVariant(); - - const KABC::Address address = mLocations.at( index.row() ); - if ( role == Qt::DisplayRole ) { - switch ( index.column() ) { - case 0: - return address.typeLabel(); - break; - case 1: - return address.street(); - break; - case 2: - return address.postOfficeBox(); - break; - case 3: - return address.locality(); - break; - case 4: - return address.region(); - break; - case 5: - return address.postalCode(); - break; - case 6: - return address.country(); - break; - case 7: - return address.label(); - break; - } - } - if ( role == Qt::EditRole ) { - switch ( index.column() ) { - case 0: - return QVariant::fromValue( (int)address.type() ); - break; - case 1: - return address.street(); - break; - case 2: - return address.postOfficeBox(); - break; - case 3: - return address.locality(); - break; - case 4: - return address.region(); - break; - case 5: - return address.postalCode(); - break; - case 6: - return address.country(); - break; - case 7: - return address.label(); - break; - } - } - - return QVariant(); -} - -bool LocationModel::setData( const QModelIndex &index, const QVariant &value, int role ) -{ - if ( !index.isValid() || index.row() >= mLocations.count() || index.column() >= 8 ) - return false; - - KABC::Address &address = mLocations[ index.row() ]; - if ( role == Qt::EditRole ) { - switch ( index.column() ) { - case 0: - address.setType( KABC::Address::Type( value.toInt() ) ); - emit dataChanged( index, index ); - return true; - break; - case 1: - address.setStreet( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - case 2: - address.setPostOfficeBox( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - case 3: - address.setLocality( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - case 4: - address.setRegion( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - case 5: - address.setPostalCode( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - case 6: - address.setCountry( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - case 7: - address.setLabel( value.toString() ); - emit dataChanged( index, index ); - return true; - break; - } - } - - return false; -} - -Qt::ItemFlags LocationModel::flags( const QModelIndex &index ) const -{ - return (QAbstractTableModel::flags( index ) | Qt::ItemIsEditable); -} - -bool LocationModel::insertRows( int row, int count, const QModelIndex &parent ) -{ - if ( row < 0 || row > mLocations.count() || parent.isValid() ) - return false; - - beginInsertRows( parent, row, row + count - 1 ); - - for ( int pos = row; pos < row + count; ++pos ) - mLocations.insert( row, KABC::Address() ); - - endInsertRows(); - - return true; -} - -bool LocationModel::removeRows( int row, int count, const QModelIndex &parent ) -{ - if ( row < 0 || row >= mLocations.count() || parent.isValid() ) - return false; - - beginRemoveRows( parent, row, row + count - 1 ); - - for ( int pos = row; pos < row + count; ++pos ) - mLocations.removeAt( row ); - - endRemoveRows(); - - return true; -} diff --git a/kdepim/mobile/contacts/locationmodel.h b/kdepim/mobile/contacts/locationmodel.h deleted file mode 100644 index e9b10a81..00000000 --- a/kdepim/mobile/contacts/locationmodel.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef LOCATIONMODEL_H -#define LOCATIONMODEL_H - -#include - -#include - -class LocationModel : public QAbstractTableModel -{ - public: - explicit LocationModel( QObject *parent = 0 ); - ~LocationModel(); - - void setLocations( const KABC::Address::List &locations ); - KABC::Address::List locations() const; - - /** - * @reimplemented - */ - int rowCount( const QModelIndex &parent = QModelIndex() ) const; - int columnCount( const QModelIndex &parent = QModelIndex() ) const; - QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; - bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole ); - Qt::ItemFlags flags( const QModelIndex &index ) const; - - bool insertRows( int row, int count, const QModelIndex &parent = QModelIndex() ); - bool removeRows( int row, int count, const QModelIndex &parent = QModelIndex() ); - - private: - KABC::Address::List mLocations; -}; - -#endif /* LOCATIONMODEL_H */ diff --git a/kdepim/mobile/contacts/main.cpp b/kdepim/mobile/contacts/main.cpp deleted file mode 100644 index b1613b13..00000000 --- a/kdepim/mobile/contacts/main.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include -#include -#include - -#include - -#include "mainview.h" - -#ifdef MAIL_SERIALIZER_PLUGIN_STATIC -#include - -Q_IMPORT_PLUGIN(akonadi_serializer_addressee) -Q_IMPORT_PLUGIN(akonadi_serializer_contactgroup) -#endif - -int main( int argc, char **argv ) -{ - const QByteArray& ba = QByteArray( "kaddressbook-mobile" ); - const KLocalizedString name = ki18n( "Kontact Touch Contacts" ); - - IncidenceEditorNG::EditorConfig::setEditorConfig( new IncidenceEditorNG::KOrganizerEditorConfig ); //FIXME: use our own config for contacts - - KAboutData aboutData( ba, ba, name, ba, name ); - aboutData.setProductName( "KAddressbook Mobile" ); //has to match the bugzilla product name - - KCmdLineArgs::init( argc, argv, &aboutData ); - KDeclarativeApplication app; - - KGlobal::locale()->insertCatalog( QLatin1String("kabc") ); - KGlobal::locale()->insertCatalog( QLatin1String("akonadicontact") ); - KGlobal::locale()->insertCatalog( QLatin1String("libkdepim") ); - KGlobal::locale()->insertCatalog( QLatin1String("libkldap") ); // for ldap server dialog - KGlobal::locale()->insertCatalog( QLatin1String("calendarsupport") ); // for categories - - return app.exec(); -} - diff --git a/kdepim/mobile/contacts/mainview.cpp b/kdepim/mobile/contacts/mainview.cpp deleted file mode 100644 index f2abc35b..00000000 --- a/kdepim/mobile/contacts/mainview.cpp +++ /dev/null @@ -1,446 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "mainview.h" - -#include "actionhelper.h" -#include "configwidget.h" -#include "contactviewitem.h" -#include "contactgroupviewitem.h" -#include "contacteditorview.h" -#include "contactgroupeditorview.h" -#include "contactlistproxy.h" -#include "contactsexporthandler.h" -#include "contactsguistatemanager.h" -#include "contactsimporthandler.h" -#include "searchwidget.h" - -#include "libkdepim/ldap/ldapsearchdialog.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -QML_DECLARE_TYPE( Akonadi::Contact::ContactViewItem ) -QML_DECLARE_TYPE( Akonadi::Contact::ContactGroupViewItem ) -QML_DECLARE_TYPE( ContactsGuiStateManager ) -QML_DECLARE_TYPE( DeclarativeConfigWidget ) -QML_DECLARE_TYPE( DeclarativeSearchWidget ) - -MainView::MainView( QWidget *parent ) - : KDeclarativeMainView( QLatin1String("kaddressbook-mobile"), new ContactListProxy, parent ), - mLdapSearchDialog( 0 ) -{ -} - -void MainView::doDelayedInit() -{ - qmlRegisterType( "org.kde.akonadi.contacts", 4, 5, "ContactView" ); - qmlRegisterType( "org.kde.akonadi.contacts", 4, 5, "ContactGroupView" ); - qmlRegisterUncreatableType( "org.kde.akonadi.contacts", 4, 5, "ContactsGuiStateManager", QLatin1String( "This type is only exported for its enums" ) ); - qmlRegisterType( "org.kde.akonadi.contacts", 4, 5, "ConfigWidget" ); - qmlRegisterType( "org.kde.akonadi.contacts", 4, 5, "SearchWidget" ); - - ContactImageProvider *provider = new ContactImageProvider; - provider->setModel( itemModel() ); - engine()->addImageProvider( QLatin1String( "contact_images" ), provider ); - - setWindowTitle( i18n( "Contacts" ) ); - - addMimeType( KABC::Addressee::mimeType() ); - addMimeType( KABC::ContactGroup::mimeType() ); - itemFetchScope().fetchFullPayload(); - - KAction *action = new KAction( i18n( "Import Contacts" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(importItems()) ); - actionCollection()->addAction( QLatin1String( "import_vcards" ), action ); - - action = new KAction( i18n( "Export Contacts From This Account" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_account_vcards" ), action ); - - action = new KAction( i18n( "Export Displayed Contacts" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_selected_vcards" ), action ); - - action = new KAction( i18n( "Export Contact" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportSingleItem()) ); - actionCollection()->addAction( QLatin1String( "export_single_contact_vcard" ), action ); - - action = new KAction( i18n( "Send mail to" ), this ); - action->setEnabled( false ); - connect( action, SIGNAL(triggered(bool)), SLOT(sendMailTo()) ); - actionCollection()->addAction( QLatin1String( "send_mail_to" ), action ); - - action = new KAction( i18n( "Search in LDAP directory" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(searchLdap()) ); - actionCollection()->addAction( QLatin1String( "search_ldap" ), action ); - - action = new KAction( i18n( "Configure Categories" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(configureCategories()) ); - actionCollection()->addAction( QLatin1String( "configure_categories" ), action ); - - connect( itemSelectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(itemSelectionChanged(QItemSelection,QItemSelection)) ); - connect( itemActionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(bulkActionSelectionChanged()) ); -} - -void MainView::itemSelectionChanged( const QItemSelection &selected, const QItemSelection& ) -{ - if ( selected.indexes().isEmpty() ) - return; - - const QModelIndex index = selected.indexes().first(); - if ( !index.isValid() ) - return; - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( !qobject_cast( guiStateManager() )->inViewContactState() && - !qobject_cast( guiStateManager() )->inViewContactGroupState() ) { - if ( item.hasPayload() ) - guiStateManager()->pushState( ContactsGuiStateManager::ViewContactState ); - else if ( item.hasPayload() ) - guiStateManager()->pushState( ContactsGuiStateManager::ViewContactGroupState ); - } -} - -void MainView::bulkActionSelectionChanged() -{ - const bool itemsChecked = !itemActionModel()->selectedIndexes().isEmpty(); - - actionCollection()->action( QLatin1String( "send_mail_to" ) )->setEnabled( itemsChecked ); -} - -void MainView::sendMailTo() -{ - const QModelIndexList indexes = itemActionModel()->selectedIndexes(); - if ( indexes.isEmpty() ) - return; - - // select email addresses of all checked items - QStringList emailAddresses; - foreach ( const QModelIndex &index, indexes ) { - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( !item.isValid() ) - continue; - - if ( item.hasPayload() ) { - const KABC::Addressee contact = item.payload(); - if ( !contact.preferredEmail().isEmpty() ) - emailAddresses << contact.preferredEmail(); - } - - if ( item.hasPayload() ) { - // resolve the contact group right now - Akonadi::ContactGroupExpandJob *job = new Akonadi::ContactGroupExpandJob( item.payload() ); - if ( job->exec() ) { - foreach ( const KABC::Addressee &contact, job->contacts() ) { - if ( !contact.preferredEmail().isEmpty() ) - emailAddresses << contact.preferredEmail(); - } - } - } - } - - // try to open the email composer in kmail-mobile - QDBusInterface *interface = new QDBusInterface( QLatin1String("org.kde.kmailmobile.composer"), QLatin1String("/composer") ); - if ( !interface->isValid() ) { - delete interface; - - QDBusServiceWatcher *watcher = new QDBusServiceWatcher( QLatin1String("org.kde.kmailmobile.composer"), QDBusConnection::sessionBus(), - QDBusServiceWatcher::WatchForRegistration, this ); - QEventLoop loop; - connect( watcher, SIGNAL(serviceRegistered(QString)), &loop, SLOT(quit()) ); - QProcess::startDetached( QLatin1String("kmail-mobile") ); - loop.exec(); - - delete watcher; - - interface = new QDBusInterface( QLatin1String("org.kde.kmailmobile.composer"),QLatin1String( "/composer") ); - } - - interface->call( QLatin1String("openComposer"), emailAddresses.join( QLatin1String(", ") ), QString(), QString(), QString(), QString() ); - - delete interface; -} - -void MainView::finishEdit( QObject *editor ) -{ - mOpenItemEditors.remove( editor ); -} - -void MainView::newContact() -{ - ContactEditorView *editor = new ContactEditorView; - connect( editor, SIGNAL(requestLaunchAccountWizard()), SLOT(launchAccountWizard()) ); - - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndex index = regularSelectionModel()->selectedIndexes().first(); - const Akonadi::Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - editor->setDefaultCollection( collection ); - } - - editor->show(); -} - -void MainView::newContactGroup() -{ - ContactGroupEditorView *editor = new ContactGroupEditorView; - connect( editor, SIGNAL(requestLaunchAccountWizard()), SLOT(launchAccountWizard()) ); - - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndex index = regularSelectionModel()->selectedIndexes().first(); - const Akonadi::Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - editor->setDefaultCollection( collection ); - } - - editor->show(); -} - -void MainView::editItem() -{ - const Akonadi::Item::List items = mActionManager->selectedItems(); - if ( items.isEmpty() ) - return; - - const Akonadi::Item item = items.first(); - - if ( item.hasPayload() ) - editContact( item ); - else if ( item.hasPayload() ) - editContactGroup( item ); -} - -void MainView::editContact( const Akonadi::Item &item ) -{ - if ( mOpenItemEditors.values().contains( item.id() ) ) - return; // An editor for this item is already open. - - ContactEditorView *editor = new ContactEditorView; - editor->loadContact( item ); - - mOpenItemEditors.insert( editor, item.id() ); - connect( editor, SIGNAL(destroyed(QObject*)), SLOT(finishEdit(QObject*)) ); - connect( editor, SIGNAL(requestLaunchAccountWizard()), SLOT(launchAccountWizard()) ); - - editor->show(); -} - -void MainView::editContactGroup( const Akonadi::Item &item ) -{ - if ( mOpenItemEditors.values().contains( item.id() ) ) - return; // An editor for this item is already open. - - ContactGroupEditorView *editor = new ContactGroupEditorView; - editor->loadContactGroup( item ); - - mOpenItemEditors.insert( editor, item.id() ); - connect( editor, SIGNAL(destroyed(QObject*)), SLOT(finishEdit(QObject*)) ); - connect( editor, SIGNAL(requestLaunchAccountWizard()), SLOT(launchAccountWizard()) ); - - editor->show(); -} - -void MainView::setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ) -{ - mActionManager = new Akonadi::StandardContactActionManager( actionCollection(), this ); - mActionManager->setCollectionSelectionModel( collectionSelectionModel ); - mActionManager->setItemSelectionModel( itemSelectionModel ); - - mActionManager->createAllActions(); - mActionManager->interceptAction( Akonadi::StandardContactActionManager::CreateContact ); - mActionManager->interceptAction( Akonadi::StandardContactActionManager::CreateContactGroup ); - mActionManager->interceptAction( Akonadi::StandardContactActionManager::EditItem ); - mActionManager->interceptAction( Akonadi::StandardActionManager::CreateResource ); - - connect( mActionManager->action( Akonadi::StandardContactActionManager::CreateContact ), SIGNAL(triggered(bool)), - this, SLOT(newContact()) ); - connect( mActionManager->action( Akonadi::StandardContactActionManager::CreateContactGroup ), SIGNAL(triggered(bool)), - this, SLOT(newContactGroup()) ); - connect( mActionManager->action( Akonadi::StandardContactActionManager::EditItem ), SIGNAL(triggered(bool)), - this, SLOT(editItem()) ); - connect( mActionManager->action( Akonadi::StandardActionManager::CreateResource ), SIGNAL(triggered(bool)), - this, SLOT(launchAccountWizard()) ); - connect( mActionManager, SIGNAL(actionStateUpdated()), SLOT(updateActionTexts()) ); - - ActionHelper::adaptStandardActionTexts( mActionManager ); - - mActionManager->action( StandardActionManager::CreateCollection )->setText( i18n( "New Sub Address Book" ) ); - mActionManager->action( StandardActionManager::CreateCollection )->setProperty( "ContentMimeTypes", QStringList( KABC::Addressee::mimeType() ) ); - mActionManager->setActionText( StandardActionManager::SynchronizeCollections, ki18np( "Synchronize This Address Book", "Synchronize These Address Books" ) ); - mActionManager->action( StandardActionManager::CollectionProperties )->setText( i18n( "Address Book Properties" ) ); - mActionManager->setActionText( StandardActionManager::DeleteCollections, ki18np( "Delete Address Book", "Delete Address Books" ) ); - mActionManager->action( StandardActionManager::MoveCollectionToDialog )->setText( i18n( "Move Address Book To" ) ); - mActionManager->action( StandardActionManager::CopyCollectionToDialog )->setText( i18n( "Copy Address Book To" ) ); - - mActionManager->action( Akonadi::StandardContactActionManager::CreateContact )->setText( i18n( "New Contact" ) ); - mActionManager->action( Akonadi::StandardContactActionManager::CreateContactGroup )->setText( i18n( "New Group Of Contacts" ) ); - mActionManager->action( Akonadi::StandardContactActionManager::EditItem )->setText( i18n( "Edit Contact" ) ); - mActionManager->setActionText( Akonadi::StandardActionManager::DeleteItems, ki18np( "Delete Contact", "Delete Contacts" ) ); - mActionManager->action( Akonadi::StandardActionManager::MoveItemToDialog )->setText( i18n( "Move Contact To" ) ); - mActionManager->action( Akonadi::StandardActionManager::CopyItemToDialog )->setText( i18n( "Copy Contact To" ) ); - - actionCollection()->action( QLatin1String("synchronize_all_items") )->setText( i18n( "Synchronize All Accounts" ) ); -} - -void MainView::updateActionTexts() -{ - const Akonadi::Item::List items = mActionManager->selectedItems(); - if ( items.count() < 1 ) - return; - - const int itemCount = items.count(); - const Akonadi::Item item = items.first(); - const QString mimeType = item.mimeType(); - if ( mimeType == KABC::Addressee::mimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Contact", "Copy %1 Contacts" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Contact To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Contact", "Delete %1 Contacts" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Contact To" ) ); - actionCollection()->action( QLatin1String("akonadi_contact_item_edit") )->setText( i18n( "Edit Contact" ) ); - } else if ( mimeType == KABC::ContactGroup::mimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Group Of Contacts", "Copy %1 Groups Of Contacts" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Group Of Contacts To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Group Of Contacts", "Delete %1 Groups Of Contacts" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Group Of Contacts To" ) ); - actionCollection()->action( QLatin1String("akonadi_contact_item_edit") )->setText( i18n( "Edit Group Of Contacts" ) ); - } -} - -void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel ) -{ - Akonadi::AgentActionManager *manager = createAgentActionManager( selectionModel ); - - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::DialogTitle, - i18nc( "@title:window", "New Account" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageText, - ki18n( "Could not create account: %1" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageTitle, - i18n( "Account creation failed" ) ); - - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxTitle, - i18nc( "@title:window", "Delete Account?" ) ); - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxText, - i18n( "Do you really want to delete the selected account?" ) ); -} - -QAbstractProxyModel* MainView::createItemFilterModel() const -{ - return new Akonadi::ContactsFilterProxyModel(); -} - -ImportHandlerBase* MainView::importHandler() const -{ - return new ContactsImportHandler(); -} - -ExportHandlerBase* MainView::exportHandler() const -{ - return new ContactsExportHandler(); -} - -GuiStateManager* MainView::createGuiStateManager() const -{ - return new ContactsGuiStateManager(); -} - -void MainView::searchLdap() -{ - if ( !mLdapSearchDialog ) { - mLdapSearchDialog = new KLDAP::LdapSearchDialog( this ); - connect( mLdapSearchDialog, SIGNAL(contactsAdded()), SLOT(importFromLdap()) ); - } - mLdapSearchDialog->show(); -} - -void MainView::importFromLdap() -{ - Q_ASSERT( mLdapSearchDialog ); - const KABC::Addressee::List contacts = mLdapSearchDialog->selectedContacts(); - if ( contacts.isEmpty() ) // nothing to import - return; - - const QStringList mimeTypes( KABC::Addressee::mimeType() ); - - QPointer dlg = new Akonadi::CollectionDialog( entityTreeModel(), this ); - dlg->setMimeTypeFilter( mimeTypes ); - dlg->setAccessRightsFilter( Akonadi::Collection::CanCreateItem ); - dlg->setCaption( i18n( "Select Address Book" ) ); - dlg->setDescription( i18n( "Select the address book the imported contact(s) shall be saved in:" ) ); - - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndex index = regularSelectionModel()->selectedIndexes().first(); - const Akonadi::Collection defaultCollection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( defaultCollection.isValid() ) - dlg->setDefaultCollection( defaultCollection ); - } - - if ( !dlg->exec() || !dlg ) { - delete dlg; - return; - } - - const Akonadi::Collection collection = dlg->selectedCollection(); - delete dlg; - if ( !collection.isValid() ) - return; - - foreach ( const KABC::Addressee &addr, contacts ) { - Akonadi::Item item; - item.setPayload( addr ); - item.setMimeType( KABC::Addressee::mimeType() ); - - new Akonadi::ItemCreateJob( item, collection ); - } -} - -void MainView::configureCategories() -{ - CalendarSupport::CategoryConfig config( IncidenceEditorNG::EditorConfig::instance()->config(), 0 ); - IncidenceEditorNG::CategoryEditDialog dialog( &config, 0 ); - if ( dialog.exec() ) - config.writeConfig(); -} - diff --git a/kdepim/mobile/contacts/mainview.h b/kdepim/mobile/contacts/mainview.h deleted file mode 100644 index 31f8acb6..00000000 --- a/kdepim/mobile/contacts/mainview.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MAINVIEW_H -#define MAINVIEW_H - -#include "kdeclarativemainview.h" - -#include - -namespace KLDAP { -class LdapSearchDialog; -} - -namespace Akonadi -{ - class Item; - class StandardContactActionManager; -} - -class ContactListProxy; -class KLineEdit; - -class MainView : public KDeclarativeMainView -{ - Q_OBJECT - public: - explicit MainView( QWidget *parent = 0 ); - - public Q_SLOTS: - void newContact(); - void newContactGroup(); - - void editItem(); - void editContact( const Akonadi::Item &item ); - void editContactGroup( const Akonadi::Item &item ); - - private Q_SLOTS: - void finishEdit( QObject *editor ); - void itemSelectionChanged( const QItemSelection &selected, const QItemSelection& ); - void bulkActionSelectionChanged(); - void sendMailTo(); - void searchLdap(); - void importFromLdap(); - void updateActionTexts(); - void configureCategories(); - - protected: - virtual void doDelayedInit(); - virtual void setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ); - - virtual void setupAgentActionManager( QItemSelectionModel *selectionModel ); - - virtual QAbstractProxyModel* createItemFilterModel() const; - virtual ImportHandlerBase* importHandler() const; - virtual ExportHandlerBase* exportHandler() const; - virtual GuiStateManager* createGuiStateManager() const; - - private: - Akonadi::StandardContactActionManager *mActionManager; - ContactListProxy *mContactListProxy; - QHash mOpenItemEditors; - KLDAP::LdapSearchDialog* mLdapSearchDialog; -}; - -#endif // MAINVIEW_H diff --git a/kdepim/mobile/contacts/mobilelineedit.cpp b/kdepim/mobile/contacts/mobilelineedit.cpp deleted file mode 100644 index 318f38ea..00000000 --- a/kdepim/mobile/contacts/mobilelineedit.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "mobilelineedit.h" - -#include - -#include - -#include -#include -#include - -class MobileLineEdit::Private -{ - MobileLineEdit *const q; - - public: - explicit Private( MobileLineEdit *parent ) - : q( parent ), mEdit( 0 ), mButton( 0 ) - { - } - - public: - KPIM::AddresseeLineEdit *mEdit; - QPushButton *mButton; -}; - -MobileLineEdit::MobileLineEdit( QWidget *parent ) - : QWidget( parent ), d( new Private( this ) ) -{ - QHBoxLayout *box = new QHBoxLayout( this ); - box->setMargin( 0 ); - box->setSpacing( 0 ); - - d->mEdit = new KPIM::AddresseeLineEdit( this ); - box->addWidget( d->mEdit ); - - d->mButton = new QPushButton( this ); - d->mButton->setIcon( KIcon( QLatin1String("edit-clear-locationbar-rtl") ) ); - d->mButton->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum ); - box->addWidget( d->mButton ); - - connect( d->mButton, SIGNAL(clicked()), SLOT(clear()) ); - connect( d->mButton, SIGNAL(clicked()), SIGNAL(clearClicked()) ); -} - -MobileLineEdit::~MobileLineEdit() -{ - delete d; -} - -void MobileLineEdit::setText( const QString &text ) -{ - d->mEdit->setText( text ); -} - -QString MobileLineEdit::text() const -{ - return d->mEdit->text(); -} - -void MobileLineEdit::clear() -{ - d->mEdit->clear(); -} - - diff --git a/kdepim/mobile/contacts/mobilelineedit.h b/kdepim/mobile/contacts/mobilelineedit.h deleted file mode 100644 index d71b6e9f..00000000 --- a/kdepim/mobile/contacts/mobilelineedit.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MOBILELINEEDIT_H -#define MOBILELINEEDIT_H - -#include - -class QCompleter; - -class MobileLineEdit : public QWidget -{ - Q_OBJECT - - public: - explicit MobileLineEdit( QWidget *parent = 0 ); - - ~MobileLineEdit(); - - void setText( const QString &text ); - QString text() const; - - Q_SIGNALS: - void clearClicked(); - - public Q_SLOTS: - void clear(); - - private: - class Private; - Private *const d; -}; - -#endif - diff --git a/kdepim/mobile/contacts/namepartseditwidget.cpp b/kdepim/mobile/contacts/namepartseditwidget.cpp deleted file mode 100644 index 910d3bb4..00000000 --- a/kdepim/mobile/contacts/namepartseditwidget.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - - -#include "namepartseditwidget.h" - -#include - -#include -#include -#include -#include - -NamePartsEditWidget::NamePartsEditWidget( QWidget *parent ) - : QWidget( parent) -{ - QFormLayout *layout = new QFormLayout( this ); - layout->setLabelAlignment( Qt::AlignLeft ); - - mPrefixCombo = new KComboBox( this ); - mPrefixCombo->setDuplicatesEnabled( false ); - mPrefixCombo->setEditable( true ); - - mGivenNameEdit = new KLineEdit( this ); - - mAdditionalNameEdit = new KLineEdit( this ); - - mFamilyNameEdit = new KLineEdit( this ); - - mSuffixCombo = new KComboBox( this ); - mSuffixCombo->setDuplicatesEnabled( false ); - mSuffixCombo->setEditable( true ); - - layout->addRow( i18n( "Honorific prefixes:" ), mPrefixCombo ); - layout->addRow( i18n( "Given name:" ), mGivenNameEdit ); - layout->addRow( i18n( "Additional names:" ), mAdditionalNameEdit ); - layout->addRow( i18n( "Family names:" ), mFamilyNameEdit ); - layout->addRow( i18n( "Honorific suffixes:" ), mSuffixCombo ); - - QStringList prefixList; - prefixList += QString(); - prefixList += i18n( "Dr." ); - prefixList += i18n( "Miss" ); - prefixList += i18n( "Mr." ); - prefixList += i18n( "Mrs." ); - prefixList += i18n( "Ms." ); - prefixList += i18n( "Prof." ); - prefixList.sort(); - - QStringList suffixList; - suffixList += QString(); - suffixList += i18n( "I" ); - suffixList += i18n( "II" ); - suffixList += i18n( "III" ); - suffixList += i18n( "Jr." ); - suffixList += i18n( "Sr." ); - suffixList.sort(); - - mPrefixCombo->addItems( prefixList ); - mSuffixCombo->addItems( suffixList ); - mPrefixCombo->lineEdit()->setFocus(); - - connect( mSuffixCombo, SIGNAL(activated(int)), this, SLOT(inputChanged()) ); - connect( mSuffixCombo, SIGNAL(editTextChanged(QString)), this, SLOT(inputChanged()) ); - connect( mPrefixCombo, SIGNAL(activated(int)), this, SLOT(inputChanged()) ); - connect( mPrefixCombo, SIGNAL(editTextChanged(QString)), this, SLOT(inputChanged()) ); - connect( mFamilyNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - connect( mGivenNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - connect( mAdditionalNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); -} - -void NamePartsEditWidget::loadContact( const KABC::Addressee &contact ) -{ - mContact = contact; - - disconnect( mSuffixCombo, SIGNAL(activated(int)), this, SLOT(inputChanged()) ); - disconnect( mSuffixCombo, SIGNAL(editTextChanged(QString)), this, SLOT(inputChanged()) ); - disconnect( mPrefixCombo, SIGNAL(activated(int)), this, SLOT(inputChanged()) ); - disconnect( mPrefixCombo, SIGNAL(editTextChanged(QString)), this, SLOT(inputChanged()) ); - disconnect( mFamilyNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - disconnect( mGivenNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - disconnect( mAdditionalNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - - mPrefixCombo->setItemText( mPrefixCombo->currentIndex(), mContact.prefix() ); - mGivenNameEdit->setText( mContact.givenName() ); - mAdditionalNameEdit->setText( mContact.additionalName() ); - mFamilyNameEdit->setText( mContact.familyName() ); - mSuffixCombo->setItemText( mSuffixCombo->currentIndex(), mContact.suffix() ); - - connect( mSuffixCombo, SIGNAL(activated(int)), this, SLOT(inputChanged()) ); - connect( mSuffixCombo, SIGNAL(editTextChanged(QString)), this, SLOT(inputChanged()) ); - connect( mPrefixCombo, SIGNAL(activated(int)), this, SLOT(inputChanged()) ); - connect( mPrefixCombo, SIGNAL(editTextChanged(QString)), this, SLOT(inputChanged()) ); - connect( mFamilyNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - connect( mGivenNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); - connect( mAdditionalNameEdit, SIGNAL(textChanged(QString)), this, SLOT(inputChanged()) ); -} - -void NamePartsEditWidget::storeContact( KABC::Addressee &contact ) const -{ - contact.setPrefix( mPrefixCombo->currentText() ); - contact.setGivenName( mGivenNameEdit->text() ); - contact.setAdditionalName( mAdditionalNameEdit->text() ); - contact.setFamilyName( mFamilyNameEdit->text() ); - contact.setSuffix( mSuffixCombo->currentText() ); -} - -void NamePartsEditWidget::inputChanged() -{ - storeContact( mContact ); - emit nameChanged( mContact ); -} diff --git a/kdepim/mobile/contacts/namepartseditwidget.h b/kdepim/mobile/contacts/namepartseditwidget.h deleted file mode 100644 index 6a3453b9..00000000 --- a/kdepim/mobile/contacts/namepartseditwidget.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - This file is part of Akonadi Contact. - - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef NAMEPARTSEDITWIDGET_H -#define NAMEPARTSEDITWIDGET_H - -#include - -#include - -class KLineEdit; -class KComboBox; - -class NamePartsEditWidget : public QWidget -{ - Q_OBJECT - - public: - explicit NamePartsEditWidget( QWidget *parent = 0 ); - - void loadContact( const KABC::Addressee &contact ); - void storeContact( KABC::Addressee &contact ) const; - - Q_SIGNALS: - void nameChanged( const KABC::Addressee &contact ); - - private Q_SLOTS: - void inputChanged(); - - private: - KComboBox *mSuffixCombo; - KComboBox *mPrefixCombo; - KLineEdit *mFamilyNameEdit; - KLineEdit *mGivenNameEdit; - KLineEdit *mAdditionalNameEdit; - KABC::Addressee mContact; -}; - -#endif diff --git a/kdepim/mobile/contacts/phonetypecombo.cpp b/kdepim/mobile/contacts/phonetypecombo.cpp deleted file mode 100644 index af6c3793..00000000 --- a/kdepim/mobile/contacts/phonetypecombo.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/* - Copyright (c) 2009 Tobias Koenig - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "phonetypecombo.h" - -#include - -class PhoneTypeCombo::Private -{ - PhoneTypeCombo *const q; - - public: - Private( PhoneTypeCombo *parent ): q( parent ), mType( KABC::PhoneNumber::Home ), mLastSelected( 0 ) - { - for ( int i = 0; i < KABC::PhoneNumber::typeList().count(); ++i ) - mTypeList.append( KABC::PhoneNumber::typeList().at( i ) ); - - update(); - } - - void update() - { - q->clear(); - - for ( int i = 0; i < mTypeList.count(); ++i ) { - q->addItem( KABC::PhoneNumber::typeLabel( KABC::PhoneNumber::Type( mTypeList.at( i ) ) ) ); - } - - q->setCurrentIndex( mLastSelected = mTypeList.indexOf( mType ) ); - } - - public: - KABC::PhoneNumber::Type mType; - int mLastSelected; - QList mTypeList; - - public: // slots - void selected( int index ); -}; - -void PhoneTypeCombo::Private::selected( int pos ) -{ - mType = KABC::PhoneNumber::Type( mTypeList.at( pos ) ); - mLastSelected = pos; -} - -PhoneTypeCombo::PhoneTypeCombo( QWidget *parent ) : QComboBox( parent ), d( new Private( this ) ) -{ - connect( this, SIGNAL(activated(int)), SLOT(selected(int)) ); -} - -PhoneTypeCombo::~PhoneTypeCombo() -{ - delete d; -} - -void PhoneTypeCombo::setType( KABC::PhoneNumber::Type type ) -{ - if ( !d->mTypeList.contains( type ) ) - d->mTypeList.insert( d->mTypeList.at( d->mTypeList.count() - 1 ), type ); - - d->mType = type; - d->update(); -} - -KABC::PhoneNumber::Type PhoneTypeCombo::type() const -{ - return d->mType; -} - -#include "moc_phonetypecombo.cpp" diff --git a/kdepim/mobile/contacts/phonetypecombo.h b/kdepim/mobile/contacts/phonetypecombo.h deleted file mode 100644 index ecfc00ce..00000000 --- a/kdepim/mobile/contacts/phonetypecombo.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2009 Tobias Koenig - Copyright (c) 2010 Kevin Krammer - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef PHONETYPECOMBO_H -#define PHONETYPECOMBO_H - -#include - -#include - -/** - * @short A combobox to select a phone number type. - */ -class PhoneTypeCombo : public QComboBox -{ - Q_OBJECT - - public: - /** - * Creates a phone type combo. - * - * @param parent The parent widget. - */ - explicit PhoneTypeCombo( QWidget *parent = 0 ); - - /** - * Destroys the phone type combo. - */ - ~PhoneTypeCombo(); - - /** - * Sets the phone number @p type that shall be selected. - */ - void setType( KABC::PhoneNumber::Type type ); - - /** - * Returns the selected phone number type. - */ - KABC::PhoneNumber::Type type() const; - - private: - class Private; - Private *const d; - - Q_PRIVATE_SLOT( d, void selected( int ) ) -}; - -#endif diff --git a/kdepim/mobile/contacts/searchwidget.cpp b/kdepim/mobile/contacts/searchwidget.cpp deleted file mode 100644 index a413e356..00000000 --- a/kdepim/mobile/contacts/searchwidget.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "searchwidget.h" - -#include "stylesheetloader.h" - -#include -#include - -SearchWidget::SearchWidget( QWidget *parent ) - : QWidget( parent ) -{ - mUi.setupUi( this ); - - // set defaults - mUi.inNames->setChecked( true ); - mUi.inEmailAddresses->setChecked( true ); - mUi.inCategories->setChecked( true ); - mUi.collectionCombo->setMimeTypeFilter( QStringList() << KABC::Addressee::mimeType() - << KABC::ContactGroup::mimeType() ); -} - -QString SearchWidget::query() const -{ - //TODO create seach query from dialog - return QString(); -} - -DeclarativeSearchWidget::DeclarativeSearchWidget( QGraphicsItem *parent ) - : QGraphicsProxyWidget( parent ), mSearchWidget( new SearchWidget ) -{ - QPalette palette = mSearchWidget->palette(); - palette.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - mSearchWidget->setPalette( palette ); - StyleSheetLoader::applyStyle( mSearchWidget ); - - setWidget( mSearchWidget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeSearchWidget::~DeclarativeSearchWidget() -{ -} - -QString DeclarativeSearchWidget::query() const -{ - return mSearchWidget->query(); -} - diff --git a/kdepim/mobile/contacts/searchwidget.h b/kdepim/mobile/contacts/searchwidget.h deleted file mode 100644 index 52321477..00000000 --- a/kdepim/mobile/contacts/searchwidget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef SEARCHWIDGET_H -#define SEARCHWIDGET_H - -#include "ui_searchwidget.h" - -#include -#include - -class SearchWidget : public QWidget -{ - Q_OBJECT - - public: - explicit SearchWidget( QWidget *parent = 0 ); - - QString query() const; - - private: - Ui_SearchWidget mUi; -}; - -class DeclarativeSearchWidget : public QGraphicsProxyWidget -{ - Q_OBJECT - - Q_PROPERTY( QString query READ query ) - - public: - explicit DeclarativeSearchWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeSearchWidget(); - - public Q_SLOTS: - QString query() const; - - private: - SearchWidget *mSearchWidget; -}; - -#endif diff --git a/kdepim/mobile/contacts/searchwidget.ui b/kdepim/mobile/contacts/searchwidget.ui deleted file mode 100644 index 31d690c9..00000000 --- a/kdepim/mobile/contacts/searchwidget.ui +++ /dev/null @@ -1,170 +0,0 @@ - - - SearchWidget - - - - 0 - 0 - 379 - 194 - - - - - - - Search for: - - - - - - - true - - - - - - - In: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - Names - - - - - - - Email Addresses - - - - - - - Postal Addresses - - - - - - - Phone Numbers - - - - - - - Categories - - - - - - - - - - Located in: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - any folder - - - true - - - - - - - only in folder - - - - - - - false - - - - - - - - - - - KLineEdit - QLineEdit -

klineedit.h
- - - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
- - - - - locatedInSpecificCollection - toggled(bool) - collectionCombo - setEnabled(bool) - - - 138 - 235 - - - 217 - 239 - - - - - diff --git a/kdepim/mobile/contacts/settings.kcfg b/kdepim/mobile/contacts/settings.kcfg deleted file mode 100644 index 40bf6259..00000000 --- a/kdepim/mobile/contacts/settings.kcfg +++ /dev/null @@ -1,15 +0,0 @@ - - - - kglobalsettings.h - - - - - 0 - - - - diff --git a/kdepim/mobile/contacts/settings.kcfgc b/kdepim/mobile/contacts/settings.kcfgc deleted file mode 100644 index 734c1668..00000000 --- a/kdepim/mobile/contacts/settings.kcfgc +++ /dev/null @@ -1,6 +0,0 @@ -File=settings.kcfg -ClassName=Settings -Mutators=true -Singleton=true -ItemAccessors=true -SetUserTexts=true diff --git a/kdepim/mobile/hi48-apps-kdepim-mobile.png b/kdepim/mobile/hi48-apps-kdepim-mobile.png deleted file mode 100644 index c2bf10a73900f7859525cc1476a68bc0a5e66c2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5501 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 - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - id: aboutDialog - property alias backgroundSource: backgroundImage.source - anchors.fill: parent - color: "white" - - QML.Image { - id: backgroundImage - anchors.fill: parent - } - - QML.Item { - anchors.fill: parent - anchors.topMargin: 40 - anchors.leftMargin: 40 - PlasmaExtras.ScrollArea { - width: parent.width - closeButton.width - height: parent.height - - flickableItem: QML.Flickable { - - contentWidth: width - 10 - contentHeight: 1900; - - - QML.Rectangle{ - id: aboutText - anchors.fill: parent - QML.Column{ - anchors.fill: parent - QML.Text{ - id: caption - font.pointSize: 18 - style: QML.Text.Raised - text: KDE.i18n( "About %1", application.name ) - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Image { - id: platformLogo - source: KDE.locate( "data", "mobileui/built-on-the-kde-platform.png" ) - } - - QML.Text{ - id:version - text: "\n" + application.version + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text { - text : KDE.i18n("This Free Software product was created as part of a commercial contract. " + - "Kontact Touch is licensed under the GNU GPL version 2 or later and other Free Software licenses. " + - "See %1 for details.", "licenses.pdf") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("Credits Project Komo3 (October 2009 - January 2011)") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("Scrum Master, Team Senior: Till Adam, KDAB") + "\n" + - KDE.i18n("Product Owner, Team Senior: Bernhard Reiter, Intevation") + "\n" - style: QML.Text.Raised - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("Development team in alphabetical order:") + "\n\n" + - "\t" + KDE.i18n("Andras Mantia (KDAB)") + "\n" + - "\t" + KDE.i18n("Andre Heinecke (Intevation)") + "\n" + - "\t" + KDE.i18n("Andreas Holzammer (KDAB)") + "\n" + - "\t" + KDE.i18n("Bertjan Broeksema (KDAB)") + "\n" + - "\t" + KDE.i18n("Björn Balazs (Apliki)") + "\n" + - "\t" + KDE.i18n("Björn Ricks (Intevation)") + "\n" + - "\t" + KDE.i18n("Casey Link (KDAB)") + "\n" + - "\t" + KDE.i18n("David Faure (KDAB)") + "\n" + - "\t" + KDE.i18n("Felix Wolfsteller (Intevation)") + "\n" + - "\t" + KDE.i18n("Kevin Krammer (KDAB)") + "\n" + - "\t" + KDE.i18n("Kevin Ottens (KDAB)") + "\n" + - "\t" + KDE.i18n("Laurent Montel (KDAB)") + "\n" + - "\t" + KDE.i18n("Leo Franchi (KDAB)") + "\n" + - "\t" + KDE.i18n("Ludwig Reiter (Intevation)") + "\n" + - "\t" + KDE.i18n("Marc Mutz (KDAB)") + "\n" + - "\t" + KDE.i18n("Marcus Brinkmann (g10 Code)") + "\n" + - "\t" + KDE.i18n("Nuno Pinheiro (KDAB)") + "\n" + - "\t" + KDE.i18n("Patrick Spendrin (KDAB)") + "\n" + - "\t" + KDE.i18n("Romain Pokrzywka (KDAB)") + "\n" + - "\t" + KDE.i18n("Sabine Faure (KDAB)") + "\n" + - "\t" + KDE.i18n("Sascha L. Teichmann (Intevation)") + "\n" + - "\t" + KDE.i18n("Sergio Martins (KDAB)") + "\n" + - "\t" + KDE.i18n("Stephen Kelly (KDAB)") + "\n" + - "\t" + KDE.i18n("Till Adam (KDAB)") + "\n" + - "\t" + KDE.i18n("Tobias Koenig (KDAB)") + "\n" + - "\t" + KDE.i18n("Volker Krause (KDAB)") + "\n" + - "\t" + KDE.i18n("Werner Koch (g10 Code)") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - style: QML.Text.Raised - text: KDE.i18n("Special thanks to the two project persons from our principal.") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("This product is built upon the KDE Platform 4 and the " + - "Kontact Desktop Client. " + - "Thanks to all contributors!\n") - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - textFormat: QML.Text.RichText - text: KDE.i18n("For more information and to give feedback
\n" + - "please take a look at " + - "
Kontact Touch at KDE Userbase") - wrapMode: QML.Text.WordWrap - width: parent.width - } - } - } - - } - } - } - - KPIM.Button2 { - id: licenseButton - anchors.right: parent.right - anchors.bottom: closeButton.top - anchors.bottomMargin: 10 - width: 150 - buttonText: KDE.i18n( "Licenses" ) - onClicked: { - application.openLicenses() - } - } - - KPIM.Button2 { - id: closeButton - anchors.right: parent.right - anchors.bottom: parent.bottom - width: 150 - buttonText: KDE.i18n( "Close" ) - onClicked: { - aboutDialog.parent.visible = false - } - } -} diff --git a/kdepim/mobile/lib/AboutDialog.qml.org b/kdepim/mobile/lib/AboutDialog.qml.org deleted file mode 100644 index 63f9d274..00000000 --- a/kdepim/mobile/lib/AboutDialog.qml.org +++ /dev/null @@ -1,176 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import Qt 4.7 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -QML.Rectangle { - id: aboutDialog - property alias backgroundSource: backgroundImage.source - anchors.fill: parent - color: "white" - - QML.Image { - id: backgroundImage - anchors.fill: parent - } - - QML.Item { - anchors.fill: parent - anchors.topMargin: 40 - anchors.leftMargin: 40 - KPIM.DecoratedFlickable{ - width: parent.width - closeButton.width - height: parent.height - contentWidth: width - 10 - contentHeight: 1800; - - content.children: [ - QML.Rectangle{ - id: aboutText - anchors.fill: parent - QML.Column{ - anchors.fill: parent - QML.Text{ - id: caption - font.pointSize: 18 - style: QML.Text.Raised - text: KDE.i18n( "About %1", application.name ) - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - id:version - horizontalAlignment: QML.Text.AlignHCenter - text: "\n" + application.version + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text { - text : KDE.i18n("This Free Software product was created as part of a commercial contract.\n" + - "%1 is licensed under the GNU GPL version 2 or later.\n" + - "See %2 for details.", application.name, "licenses.pdf") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("Credits Project Komo3 (October 2009 - )") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("Scrum Master, Team Senior: Till Adam, KDAB") + "\n" + - KDE.i18n("Product Owner, Team Senior: Bernhard Reiter, Intevation") + "\n" - style: QML.Text.Raised - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("Development team in alphabetical order:") + "\n\n" + - "\t" + KDE.i18n("Andras Mantia (KDAB)") + "\n" + - "\t" + KDE.i18n("Andre Heinecke (Intevation)") + "\n" + - "\t" + KDE.i18n("Andreas Holzammer (KDAB)") + "\n" + - "\t" + KDE.i18n("Bertjan Broeksema (KDAB)") + "\n" + - "\t" + KDE.i18n("Björn Balazs (Apliki)") + "\n" + - "\t" + KDE.i18n("Björn Ricks (Intevation)") + "\n" + - "\t" + KDE.i18n("Casey Link (KDAB)") + "\n" + - "\t" + KDE.i18n("David Faure (KDAB)") + "\n" + - "\t" + KDE.i18n("Felix Wolfsteller (Intevation)") + "\n" + - "\t" + KDE.i18n("Kevin Krammer (KDAB)") + "\n" + - "\t" + KDE.i18n("Kevin Ottens (KDAB)") + "\n" + - "\t" + KDE.i18n("Laurent Montel (KDAB)") + "\n" + - "\t" + KDE.i18n("Leo Franchi (KDAB)") + "\n" + - "\t" + KDE.i18n("Ludwig Reiter (Intevation)") + "\n" + - "\t" + KDE.i18n("Marc Mutz (KDAB)") + "\n" + - "\t" + KDE.i18n("Marcus Brinkmann (g10 Code)") + "\n" + - "\t" + KDE.i18n("Nuno Pinheiro (KDAB)") + "\n" + - "\t" + KDE.i18n("Patrick Spendrin (KDAB)") + "\n" + - "\t" + KDE.i18n("Romain Pokrzywka (KDAB)") + "\n" + - "\t" + KDE.i18n("Sabine Faure (KDAB)") + "\n" + - "\t" + KDE.i18n("Sascha L. Teichmann (Intevation)") + "\n" + - "\t" + KDE.i18n("Sergio Martins (KDAB)") + "\n" + - "\t" + KDE.i18n("Stephen Kelly (KDAB)") + "\n" + - "\t" + KDE.i18n("Till Adam (KDAB)") + "\n" + - "\t" + KDE.i18n("Tobias Koenig (KDAB)") + "\n" + - "\t" + KDE.i18n("Volker Krause (KDAB)") + "\n" + - "\t" + KDE.i18n("Werner Koch (g10 Code)") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - style: QML.Text.Raised - text: KDE.i18n("Special thanks to the two project persons from our principal.") + "\n" - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - text: KDE.i18n("This project is built upon KDE SC Kontact Desktop client.\n" + - "For the outstanding work done there we\n" + - "would like to thank the original authors.\n") - wrapMode: QML.Text.WordWrap - width: parent.width - } - - QML.Text{ - textFormat: QML.Text.RichText - text: KDE.i18n("For more information and to give feedback
\n" + - "please take a look at " + - "Kontact Touch at KDE Userbase") - wrapMode: QML.Text.WordWrap - width: parent.width - } - } - } - ] - } - } - - KPIM.Button2 { - id: licenseButton - anchors.right: parent.right - anchors.bottom: closeButton.top - anchors.bottomMargin: 10 - width: 150 - buttonText: KDE.i18n( "Licenses" ) - onClicked: { - application.openLicenses() - } - } - - KPIM.Button2 { - id: closeButton - anchors.right: parent.right - anchors.bottom: parent.bottom - width: 150 - buttonText: KDE.i18n( "Close" ) - onClicked: { - aboutDialog.parent.visible = false - } - } -} diff --git a/kdepim/mobile/lib/Action.qml b/kdepim/mobile/lib/Action.qml deleted file mode 100644 index 408d6404..00000000 --- a/kdepim/mobile/lib/Action.qml +++ /dev/null @@ -1,123 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - - -import QtQuick 1.1 -import org.kde 4.5 - -Rectangle { - id: _topContext - - property variant action - property variant actionIconName - property int hardcoded_height: 70 - property bool disableable: true - property bool showIcon: true - property bool hidable: true - property bool hidden: hidable && !action.enabled - property bool checkable: false - property alias showText: buttonText.visible - property alias image: image.source - property alias imageWidth: image.width - property alias imageHeight: image.height - - signal triggered() - signal longPressed() - - Binding { - target: image - property: "source" - value: "image://action_images/" + actionIconName - when: showIcon && actionIconName != undefined - } - - Binding { - target: buttonText - property: "text" - - value: { - action.text.replace("&", ""); - } - } - - Binding { - target: _topContext - property: "enabled" - value: disableable ? action.enabled : true - } - - height: (!hidable || action.enabled) ? hardcoded_height : 0 - visible: (!hidable || action.enabled) - - Connections { - target: action - - onChanged: { - border.width = action.checked ? 2 : 0 - if (!hidable) - return; - parent.height = action.enabled ? hardcoded_height : 0; - } - } - - radius: 12 - color: "#00000000" // Set a transparent color. - - Image { - id: image - anchors.verticalCenter: parent.verticalCenter - anchors.margins: 5 - } - - Text { - id: buttonText - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - color: parent.enabled ? "black" : "gray" - } - - MouseArea { - anchors.fill: parent - - onPressed: { - border.width = 2 - } - - onReleased: { - border.width = 0 - } - - onCanceled: border.width = 0 - - onClicked: { - triggered(); - action.trigger(); - } - - onPressAndHold: { - longPressed() - } - - } - - border.color: "#4166F5" - border.width: action.checked ? 2 : 0 -} diff --git a/kdepim/mobile/lib/ActionButton.qml b/kdepim/mobile/lib/ActionButton.qml deleted file mode 100644 index 2e11d0ed..00000000 --- a/kdepim/mobile/lib/ActionButton.qml +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde.pim.mobileui 4.5 as KPIM - -/** - * @short A button that is connected with a QAction - * - * The button will update its enabled state according to the - * associated action. - */ -KPIM.Button { - property variant action - property string actionName - - width: 70 - height: 70 - action: application.getAction( actionName, "" ) - enabled: action.enabled - opacity: enabled ? 1 : 0.65 - - onClicked : { action.trigger() } - - Connections { - target : action - onChanged : { - border.width = action.checked ? 2 : 0 - } - } - - border.width : action.checked ? 2 : 0 -} diff --git a/kdepim/mobile/lib/ActionList.qml b/kdepim/mobile/lib/ActionList.qml deleted file mode 100644 index a13d3942..00000000 --- a/kdepim/mobile/lib/ActionList.qml +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Item { - id: actionList_top - width: parent.width - - //property alias listElementContent: _listElementContent.data - default property alias listContent: _listContent.content - property string category - property string name - property alias text: nameItem.buttonText - property alias columnHeight: _listContent.height - property alias totalWidth: _listContent.width - property alias depth: _listContent.bottomMargin - property alias actionItemSpacing: _listContent.actionItemSpacing - property alias actionItemHeight: _listContent.actionItemHeight - property alias showChildren: _listContent.visible - property alias menuStyle: _listContent.menuStyle - - signal doCollapse() - signal triggered(string triggeredName) - - function preselectAction() { - actionList_top.triggered(actionList_top.name) - showChildren = true - } - - onVisibleChanged: { - if (!visible) { - height = -actionItemSpacing - } else { - height = actionItemHeight - } - } - - - - KPIM.Button { - id: nameItem - height: parent.height - width: parent.width - - onClicked: { - actionList_top.triggered(actionList_top.name) - showChildren = true - } - } - - KPIM.ActionMenuContainer { - id: _listContent - - anchors { - left: nameItem.right - bottom: nameItem.top - } - - visible: false - actionItemWidth: parent.totalWidth - - onTriggered: { - actionList_top.triggered(triggeredName) - } - - onDoCollapse: { - actionList_top.doCollapse() - } - - } -} diff --git a/kdepim/mobile/lib/ActionListItem.qml b/kdepim/mobile/lib/ActionListItem.qml deleted file mode 100644 index 86ed8aca..00000000 --- a/kdepim/mobile/lib/ActionListItem.qml +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Item { - id: _top - height: parent.height - width: (parent ? parent.width : 0) - - property string name - property string argument: "" - property string title: "" - property bool reactsOnLongPressed: false - property string category - - signal triggered(string triggeredName) - signal doCollapse() - signal pressAndHold() - - onVisibleChanged: { - - if (!visible) { - height = -actionItemSpacing - } else { - height = actionItemHeight - } - } - - KPIM.Action { - height: parent.height - width: parent.width - showIcon: false - hidable: false - - action: { - application.setActionTitle(name, title); - application.getAction(name, argument); - } - - actionIconName: { - application.getActionIconName(name); - } - - onLongPressed: { - pressAndHold(); - } - - onTriggered: { - parent.doCollapse() - parent.triggered(name) - } - - QML.Image { - anchors { - right: parent.right - verticalCenter: parent.verticalCenter - } - source: KDE.locate( "data", "mobileui/long-press-indicator.png" ) - visible: _top.reactsOnLongPressed - } - } -} diff --git a/kdepim/mobile/lib/ActionMenuContainer.qml b/kdepim/mobile/lib/ActionMenuContainer.qml deleted file mode 100644 index 6d21830d..00000000 --- a/kdepim/mobile/lib/ActionMenuContainer.qml +++ /dev/null @@ -1,224 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -import org.kde.pim.mobileui 4.5 as KPIM - -Item { - id : _topLevel - property int actionItemHeight - property int actionItemWidth - property int actionItemSpacing : 0 - property int bottomMargin - property bool menuStyle : false - property int activeCount: 0 - anchors.bottomMargin : bottomMargin - property string cachedCategory - - property alias scriptActions : myScriptActions.data - - default property alias content : itemModel.children - - signal triggered(string triggeredName) - - signal doCollapse() - - function refresh() - { - showOnlyCategory( cachedCategory ) - selectTopItem() - } - - function selectTopItem() - { - for ( var i = 0; i < itemModel.children.length; ++i ) { - if ( itemModel.children[i].visible ) { - if ( itemModel.children[i].preselectAction ) - itemModel.children[i].preselectAction(); - return; - } - } - } - - clip: true - - Item { - id : myScriptActions - - function trigger(name) - { - for (var i = 0; i < children.length; ++i ) - { - if (children[i].name == name) - { - children[i].trigger(); - return; - } - } - } - } - - function showOnlyCategory(category) - { - cachedCategory = category - itemModel.showOnlyCategory(category) - - var firstMenu = -1; - var showFirstMenu = true; - for ( var i = 0; i < itemModel.children.length; ++i ) { - // QML has no type or interface system so we rely on the all children of itemModel - // that are items have a category property - if (firstMenu == -1 && itemModel.children[i].visible && itemModel.children[i].showChildren != undefined ) { - // We make the first visible item show its children. - firstMenu = i; - } - if (itemModel.children[i].showChildren != undefined && itemModel.children[i].showChildren) { - return; - } - } - itemModel.children[firstMenu].showChildren = true; - } - - VisualItemModel { - id : itemModel - - property int spaceAbove - property int spaceBelow - - function refresh() { - var _depth = -myListView.height; - - var _spaceAbove = 0; - var _spaceBelow = 0; - var _activeCount = 0; - var found = false; - - for ( var i = 0; i < children.length; ++i ) { - if (children[i].visible) { - children[i].height = actionItemHeight - _activeCount++; - } - if (children[i].columnHeight != undefined) - children[i].columnHeight = myListView.height - if (children[i].totalWidth != undefined) - children[i].totalWidth = _topLevel.width - actionItemWidth - if (children[i].depth != undefined) { - children[i].depth = _depth - } - _depth += children[i].height + actionItemSpacing; - if (children[i].actionItemSpacing != undefined) - children[i].actionItemSpacing = actionItemSpacing - if (children[i].actionItemHeight != undefined) - children[i].actionItemHeight = actionItemHeight - if (children[i].doCollapse != undefined) { - children[i].doCollapse.disconnect(_topLevel, doCollapse) - children[i].doCollapse.connect(_topLevel, doCollapse) - } - children[i].triggered.disconnect( itemModel, triggered ) - children[i].triggered.connect( itemModel, triggered ) - // children[i].width = parent.actionItemWidth - if (i == myListView.currentIndex) - { - found = true; - if (children[i].showChildren != undefined) - children[i].showChildren = true; - } - if (found) - _spaceBelow += children[i].height - else - _spaceAbove += children[i].height - } - spaceAbove = _spaceAbove; - if (myListView.currentItem) - spaceBelow = _spaceBelow - myListView.currentItem.height; - else - spaceBelow = _spaceBelow; - activeCount = _activeCount; - } - onChildrenChanged : { - refresh(); - } - function triggered(triggeredName) { - myScriptActions.trigger(triggeredName) - _topLevel.triggered(triggeredName) - - var _spaceAbove = 0; - var _spaceBelow = 0; - var found = false; - for ( var i = 0; i < children.length; ++i ) { - if (children[i].name != triggeredName && children[i].showChildren != undefined) { - children[i].showChildren = false; - } - else if (children[i].name == triggeredName) - { - found = true - myListView.currentIndex = i - } - if (found) - _spaceBelow += children[i].height + actionItemSpacing - else - _spaceAbove += children[i].height + actionItemSpacing - } - spaceAbove = _spaceAbove; - spaceBelow = _spaceBelow - myListView.currentItem.height; - } - function showOnlyCategory(category) - { - for ( var i = 0; i < children.length; ++i ) { - if ( children[i].category != undefined && children[i].category != "standard" ) - { - children[i].visible = (children[i].category == category) - } - } - refresh(); - } - } - - KPIM.DecoratedListView { - height : parent.height - width : parent.actionItemWidth - id : myListView - model : itemModel - spacing : actionItemSpacing - interactive: (actionItemHeight + actionItemSpacing) * (activeCount <= 0 ? count : activeCount) > height - - highlight : ActiveActionMenuItemDelegate{ - id : menuHighLight - visible : menuStyle - spaceAbove : itemModel.spaceAbove - spaceBelow : itemModel.spaceBelow - actionItemHeight: _topLevel.actionItemHeight - } - - onHeightChanged : { - itemModel.refresh() - } - } - - onActionItemSpacingChanged : { - itemModel.refresh(); - } - - onActionItemHeightChanged : { - itemModel.refresh(); - } -} diff --git a/kdepim/mobile/lib/ActiveActionMenuItemDelegate.qml b/kdepim/mobile/lib/ActiveActionMenuItemDelegate.qml deleted file mode 100644 index 8ff4299c..00000000 --- a/kdepim/mobile/lib/ActiveActionMenuItemDelegate.qml +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML - -QML.Item { - id: _top - - property int spaceAbove - property int spaceBelow - property int actionItemHeight - - onSpaceAboveChanged: { - lineAbove.height = Math.max( spaceAbove, 0 ); - } - - onSpaceBelowChanged: { - lineBelow.height = Math.max( spaceBelow, 0 ); - } - - QML.Behavior on y { - QML.NumberAnimation { - duration: 250 - easing.type: Easing.OutQuad - } - } - - QML.Image { - id: lineAbove - anchors { - bottom: active_image.top - right: _top.right - } - source: "images/dividing-line.png" - height: 0 - } - - QML.BorderImage { - id: active_image - anchors { - right: _top.right - rightMargin: -10 - } - height: actionItemHeight - source: "images/activeactionitem.png" - border { - left: 0 - right: 0 - top: 20 - bottom: 20 - } - verticalTileMode: QML.BorderImage.Repeat - } - - QML.Image { - id: lineBelow - anchors { - top: active_image.bottom - right: _top.right - } - source: "images/dividing-line.png" - height: 0 - } -} diff --git a/kdepim/mobile/lib/AgentInstanceList.qml b/kdepim/mobile/lib/AgentInstanceList.qml deleted file mode 100644 index 7bfd3e0b..00000000 --- a/kdepim/mobile/lib/AgentInstanceList.qml +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Item { - id : agentInstanceList_top - width : parent.width - - property string category - property string name - - property alias text : nameItem.buttonText - property alias totalWidth : _listContent.width - property alias columnHeight : _listContent.height - property alias depth : _listContent.bottomMargin - property alias actionItemHeight: _listContent.actionItemHeight - - property alias customActions : _listContent.customActions - - property alias model : _listContent.model - - property alias showChildren : _listContent.visible - signal triggered(string triggeredName) - - onVisibleChanged : - { - if (!visible) - height = -actionItemSpacing - else - height = actionItemHeight - } - - - KPIM.Button { - id : nameItem - height : parent.height - width : parent.width - - onClicked : { - agentInstanceList_top.triggered(agentInstanceList_top.name) - showChildren = true - } - } - - KPIM.AgentInstanceListContainer { - id : _listContent - anchors.left : nameItem.right - anchors.bottom : nameItem.top - - property int bottomMargin - anchors.bottomMargin : bottomMargin - visible : false - - onTriggered : { - actionList_top.triggered(triggeredName) - } - } -} diff --git a/kdepim/mobile/lib/AgentInstanceListContainer.qml b/kdepim/mobile/lib/AgentInstanceListContainer.qml deleted file mode 100644 index 2ea1a924..00000000 --- a/kdepim/mobile/lib/AgentInstanceListContainer.qml +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.plasma.extras 0.1 as PlasmaExtras -import org.kde.pim.mobileui 4.5 as KPIM - -QML.Rectangle { - - id: _topLevel - anchors.bottomMargin: bottomMargin - color: "#00000000" - - property int actionItemHeight: 70 - property int actionItemWidth: 200 - property int actionItemSpacing: 0 - property int bottomMargin - property alias model: myList.model - property alias customActions: actionColumn.content - - signal triggered(string triggeredName) - - PlasmaExtras.ScrollArea { - - anchors { - top: parent.top - bottom: parent.bottom - left: parent.left - } - - width: parent.width - actionColumn.width - - flickableItem: QML.ListView { - id: myList - focus: true - clip: true - - delegate: AgentInstanceListDelegate { - height: _topLevel.actionItemHeight - width: myList.width - } - - onCurrentIndexChanged: { - application.setAgentInstanceListSelectedRow( currentIndex ) - } - } - } - - ActionMenuContainer { - id: actionColumn - width: _topLevel.actionItemWidth - anchors { - top: parent.top - bottom: parent.bottom - right: parent.right - } - actionItemWidth: width - actionItemHeight: _topLevel.actionItemHeight - - content: [ - ActionListItem { name: "akonadi_agentinstance_configure" }, - ActionListItem { name: "akonadi_agentinstance_delete" }, - ActionListItem { name: "akonadi_agentinstance_create" } - ] - } - -} diff --git a/kdepim/mobile/lib/AgentInstanceListDelegate.qml b/kdepim/mobile/lib/AgentInstanceListDelegate.qml deleted file mode 100644 index 23d65cc3..00000000 --- a/kdepim/mobile/lib/AgentInstanceListDelegate.qml +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (C) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 - -QML.Item { - - id: _delegateTopLevel - clip: true - width: QML.ListView.width - height: 100 - - function statusMessage( msg, progress ) { - if ( progress <= 0 || progress >= 100 ) { - return msg; - } - return KDE.i18nc( "status message (50%)", "%1 (%2%)", msg, progress ); - } - - QML.Rectangle { - id: background - anchors.fill: parent - opacity: (_delegateTopLevel.QML.ListView.isCurrentItem ? 0.25 : 0) - color: "lightsteelblue" - } - - QML.Item { - anchors.margins: 4 - anchors.fill: parent - - AgentInstanceStatusIndicator { - id: statusIcon - - anchors { - top: parent.top - left: parent.left - } - - online: model.online - status: model.status - } - - QML.Text { - id: nameLabel - - anchors { - verticalCenter: statusIcon.verticalCenter - left: statusIcon.right - } - - width: parent.width - statusIcon.width - elide: QML.Text.ElideRight - text: model.display - } - - QML.Text { - id: statusLabel - - anchors { - left: nameLabel.left - top: nameLabel.bottom - topMargin: 2 - } - - width: nameLabel.width - font.pixelSize: 16 - elide: QML.Text.ElideRight - text: statusMessage( model.statusMessage, model.progress ) - } - - } - - QML.MouseArea { - anchors.fill: parent - onClicked: { - _delegateTopLevel.QML.ListView.view.currentIndex = model.index; - } - } -} diff --git a/kdepim/mobile/lib/AgentInstanceStatusIndicator.qml b/kdepim/mobile/lib/AgentInstanceStatusIndicator.qml deleted file mode 100644 index 8194c6d8..00000000 --- a/kdepim/mobile/lib/AgentInstanceStatusIndicator.qml +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (C) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 - -Image { - - property int online - property int status - - function iconForStatus( online, status ) - { - if ( !online ) { - return "images/status/offline.png"; - } - - if ( status == 0 ) { - return "images/status/online.png" - } else if ( status == 1 ) { - return "images/status/receiving.png"; - } else { - return KDE.iconPath( "dialog-warning", 26 ); - } - } - - source: iconForStatus( online, status ) - -} \ No newline at end of file diff --git a/kdepim/mobile/lib/AgentStatusIndicator.qml b/kdepim/mobile/lib/AgentStatusIndicator.qml deleted file mode 100644 index 9a7e5144..00000000 --- a/kdepim/mobile/lib/AgentStatusIndicator.qml +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -QML.Item { - id: root - - width: icon.width - height: icon.height - - function iconFromStatus( status ) { - if ( !(status & KPIM.AgentStatusMonitor.Online) ) { - return "images/status/offline.png"; - } else { - if ( (status & KPIM.AgentStatusMonitor.Sending) && (status & KPIM.AgentStatusMonitor.Receiving) ) { - return "images/status/sending-receiving.png"; - } else if ( status & KPIM.AgentStatusMonitor.Receiving ) { - return "images/status/receiving.png"; - } else if ( status & KPIM.AgentStatusMonitor.Sending ) { - return "images/status/sending.png"; - } else { - return "images/status/online.png" - } - } - } - - QML.Image { - id: icon - source: iconFromStatus( agentStatusMonitor.status ) - } -} diff --git a/kdepim/mobile/lib/ApplicationGeneralActions.qml b/kdepim/mobile/lib/ApplicationGeneralActions.qml deleted file mode 100644 index 4548150b..00000000 --- a/kdepim/mobile/lib/ApplicationGeneralActions.qml +++ /dev/null @@ -1,74 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - - -KPIM.ActionList { - id : actions - property alias configureActionVisible: configureAction.visible - property string type - property alias addNewActionName: addNewAction.name - property alias addNewActionReactsOnLongPressed: addNewAction.reactsOnLongPressed - //property alias searchActionTitle: searchAction.title - property alias configureActionTitle: configureAction.title - signal longPressed(string actionName) - - KPIM.ActionListItem { - name : "quit_akonadi" - onPressAndHold: { - longPressed(name); - } - } - - KPIM.ActionListItem { - id: addNewAction - onPressAndHold: { - longPressed(name); - } - } - -//TODO enable when SearchWidget::query() is implemented -// KPIM.ScriptActionItem { -// id : searchAction -// name : "search_" + type -// } - - KPIM.ActionListItem { - name : "akonadi_work_offline" - onPressAndHold: { - longPressed(name); - } - } - - KPIM.ScriptActionItem { - id : configureAction - name : "configure" - } - - KPIM.ScriptActionItem { - name : "show_about_dialog" - title : KDE.i18n( "About Kontact Touch" ) - } -} - diff --git a/kdepim/mobile/lib/AttachmentList.qml b/kdepim/mobile/lib/AttachmentList.qml deleted file mode 100644 index bcc94f3b..00000000 --- a/kdepim/mobile/lib/AttachmentList.qml +++ /dev/null @@ -1,243 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.plasma.extras 0.1 as PlasmaExtras - -/** - * Shows a list view of the specified attachment model of a MessageView component. - * @param model An attachment model - */ - -Item { - id: _attachmentList - - property alias model: attachmentListView.model - property int rowHeight: 48 - property int attachmentListWidth: 250 - property int actionListWidth: 240 - - /** Emittted when an attachment has been selected. */ - signal openAttachment(string url, string mimeType) - signal saveAttachment(string url, string fileName) - - Component { - id: attachmentDelegate - - Item { - id: wrapper - width: attachmentListWidth - height: rowHeight - clip: true - - Rectangle { - id: background - anchors.fill: parent - opacity: (wrapper.ListView.isCurrentItem ? 0.4 : 0.25) - color: "lightsteelblue" - } - - Text { - anchors.fill: parent; - text: model.display; - horizontalAlignment: "AlignHCenter"; - verticalAlignment: "AlignVCenter"; - } - - MouseArea { - anchors.fill: parent - onClicked: { - wrapper.ListView.view.currentIndex = model.index - wrapper.ListView.view.currentMimeType = model.mimeType; - wrapper.ListView.view.currentAttachmentUrl = model.attachmentUrl; - wrapper.ListView.view.currentFileName = model.display; - } - } - } - } - - PlasmaExtras.ScrollArea { - - anchors { - top: parent.top - left: parent.left - right: actionView.left - bottom: parent.bottom - } - - flickableItem: ListView { - id: attachmentListView - - property string currentMimeType - property string currentAttachmentUrl - property string currentFileName - - delegate: attachmentDelegate - clip: true - - Connections { - target: model - onModelReset: { - attachmentListView.currentIndex = -1 - attachmentListView.currentMimeType = ""; - attachmentListView.currentAttachmentUrl = ""; - attachmentListView.currentFileName = ""; - } - } - } - } - - Item { - id: actionView - visible: false - width: 0 - - anchors { - top: parent.top - right: parent.right - bottom: parent.bottom - } - - KPIM.Button { - id: openButton - - anchors { - top: parent.top - horizontalCenter: parent.horizontalCenter - } - - width: parent.width - 10 - height: parent.height / 6 - buttonText: KDE.i18n( "Open" ) - - onClicked: { - openAttachment(attachmentListView.currentAttachmentUrl, attachmentListView.currentMimeType); - } - } - - KPIM.Button { - id: saveButton - - anchors { - top: openButton.bottom; - horizontalCenter: parent.horizontalCenter - } - - width: parent.width - 10 - height: parent.height / 6 - buttonText: KDE.i18n( "Save" ) - onClicked: { - saveAttachment(attachmentListView.currentAttachmentUrl, attachmentListView.currentFileName); - } - } - } - - Item { - id: previewView - visible: false - - anchors { - top: parent.top - right: parent.right - bottom: parent.bottom - } - - width: _attachmentList.width - attachmentListWidth - 6 - - PlasmaExtras.ScrollArea { - id: previewScrollArea - anchors.fill: parent - - flickableItem: Flickable { - - contentWidth: previewImage.width - contentHeight: previewImage.height - - Image { - id: previewImage - source: attachmentListView.currentAttachmentUrl - } - - } - } - - KPIM.Button { - id: previewSaveButton - - anchors { - bottom: parent.bottom - right: parent.right - margins: 12 - } - - width: 48 - height: 48 - icon: KDE.iconPath( "document-save", width ); - - onClicked: { - saveAttachment(attachmentListView.currentAttachmentUrl, attachmentListView.currentFileName); - } - - states: [ - State { - name: "movingState" - when: previewScrollArea.moving - - PropertyChanges { - target: previewSaveButton - opacity: 0.25 - } - } - ] - - transitions: [ - Transition { - NumberAnimation { - properties: "opacity" - duration: 200 - } - } - ] - } - } - - states: [ - State { - name: "actionState" - when: (attachmentListView.currentIndex >= 0 && attachmentListView.currentIndex < model.attachmentCount) && attachmentListView.currentMimeType.indexOf( "image" ) != 0 - PropertyChanges { - target: actionView - width: actionListWidth - visible: true - } - }, - - State { - name: "previewState" - when: (attachmentListView.currentIndex >= 0 && attachmentListView.currentIndex < model.attachmentCount) && attachmentListView.currentMimeType.indexOf( "image" ) == 0 - PropertyChanges { - target: previewView - visible: true - } - } - ] - -} diff --git a/kdepim/mobile/lib/BulkActionList.qml b/kdepim/mobile/lib/BulkActionList.qml deleted file mode 100644 index 06bd8779..00000000 --- a/kdepim/mobile/lib/BulkActionList.qml +++ /dev/null @@ -1,185 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.akonadi 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Column { - id: _top - - property alias selectedItemModel: selectedItem.model - property alias multipleText: _multipleText.text - property alias actionModel: actionListView.model - property int itemHeight: 65 - - signal backClicked() - signal triggered(string name) - - onChildrenChanged: { - var newChild = children[ children.length - 1 ]; - newChild.anchors.left = _top.left; - newChild.anchors.right = _top.right; - newChild.height = itemHeight; - } - - QML.Item { - id: firstItem - height: itemHeight - anchors { - left: parent.left - right: parent.right - } - - - PlasmaExtras.ScrollArea { - id: selectedItemContainer - anchors.fill: parent - - flickableItem: QML.ListView { - id: selectedItem - - delegate: CollectionDelegate { - height: 70 - indentation: 80 - } - visible: count == 1 - } - } - - QML.Text { - id: _multipleText - anchors.horizontalCenter : parent.horizontalCenter - y: height / 2 - visible: selectedItem.count != 1 - height: 70 - } - - QML.Image { - id: topLine - source: "images/list-line-top.png" - anchors { - right: selectedItemContainer.right - top: selectedItemContainer.top - } - } - - QML.Image { - id: topLineFiller - source: "images/dividing-line-horizontal.png" - anchors { - right: topLine.left - bottom: topLine.bottom - } - fillMode: QML.Image.TileHorizontally - width: parent.width - topLine.width - } - - QML.Image { - id: bottomLine - source: "images/dividing-line-horizontal.png" - anchors { - right: selectedItemContainer.right - bottom: selectedItemContainer.bottom - } - fillMode: QML.Image.TileHorizontally - width: parent.width - } - - QML.Image { - source: "images/dividing-line.png" - anchors { - top: selectedItemContainer.bottom - right: parent.right - } - height: _top.height - selectedItemContainer.height - fillMode: QML.Image.TileVertically - } - - QML.Image { - id: backIcon - source: "images/bulk-back-overlay.png" - anchors { - right: parent.right - verticalCenter: parent.verticalCenter - } - } - - QML.MouseArea { - id: back_ma - anchors.fill: parent - onClicked: _top.backClicked() - } - - } - - QML.ListModel { - id: actionModel; - - QML.ListElement { - action: "akonadi_item_delete" - } - - QML.ListElement { - action: "akonadi_item_move_to_dialog" - } - - QML.ListElement { - action: "akonadi_item_copy_to_dialog" - } - } - - QML.Rectangle { - anchors { - left: _top.left - right: _top.right - top: _top.top - topMargin: itemHeight - } - height: _top.height - itemHeight - clip: true - - QML.Text { - anchors.fill: parent - horizontalAlignment: QML.Text.AlignHCenter - verticalAlignment: QML.Text.AlignVCenter - font.pixelSize: 22 - text: KDE.i18n( "Please select one\nor more items\non the right." ) - visible: !_itemActionModel.hasSelection - } - - PlasmaExtras.ScrollArea { - anchors.fill:parent - - flickableItem: QML.ListView { - id: actionListView - model: actionModel - - delegate: KPIM.Action { - height: itemHeight - width: parent.width - action: application.getAction( model.action, "" ) - } - } - } - } -} diff --git a/kdepim/mobile/lib/BulkActionScreen.qml b/kdepim/mobile/lib/BulkActionScreen.qml deleted file mode 100644 index f95916c1..00000000 --- a/kdepim/mobile/lib/BulkActionScreen.qml +++ /dev/null @@ -1,134 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.akonadi 4.5 as Akonadi -import org.kde.pim.mobileui 4.5 as KPIM - -QML.Rectangle { - id: _top - - anchors { - fill: parent - topMargin: 12 - } - - color: "white" - - default property alias actions: actionList.children - property alias selectedItemModel: actionList.selectedItemModel - property alias multipleText: actionList.multipleText - property alias headerList: headerList.children - property alias actionListWidth: actionList.width - property alias backgroundImage: _backgroundImage.source - property alias actionModel: actionList.actionModel - property alias itemHeight: actionList.itemHeight - - QML.Image { - id: _backgroundImage - } - - BulkActionList { - id: actionList - anchors { - top: parent.top - bottom: selectAllButton.top - left: parent.left - } - - onBackClicked: { - guiStateManager.popState() - bulkActionFilterLineEdit.clear() - } - - onTriggered: { - //mainPanel.complete(name) - } - } - - KPIM.Button2 { - id: selectAllButton - anchors { - left: parent.left - bottom: parent.bottom - right: mainPanel.left - } - - buttonText: stateHolder.state == "check_all" ? KDE.i18n( "Select All" ) : KDE.i18n( "Deselect All" ) - - onClicked: { - if ( stateHolder.state == "check_all" ) { - application.checkAllBulkActionItems( true ) - stateHolder.state = "uncheck_all" - } else { - application.checkAllBulkActionItems( false ) - stateHolder.state = "check_all" - } - } - - QML.Item { - id: stateHolder - state: "check_all" - - states: [ - QML.State { - name: "check_all" - }, - - QML.State { - name: "uncheck_all" - } - ] - } - } - - QML.Item { - id : mainPanel - achors { - top: parent.top - right: parent.right - bottom: parent.bottom - left: actionList.right - } - - QML.Item { - id: headerList - anchors { - left: parent.left - top: parent.top - bottom: bulkActionFilterLineEdit.top - right: parent.right - } - } - - Akonadi.BulkActionFilterLineEdit { - id: bulkActionFilterLineEdit - anchors { - left: parent.left - bottom: parent.bottom - right: parent.right - } - visible: false - height: 0 - y: height == 0 ? parent.height : parent.height - height - } - } -} diff --git a/kdepim/mobile/lib/Button.qml b/kdepim/mobile/lib/Button.qml deleted file mode 100644 index a012ef96..00000000 --- a/kdepim/mobile/lib/Button.qml +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -Rectangle { - property string icon - property alias buttonText: buttonText.text - property alias font: buttonText.font - signal clicked - - radius: 12 - color: "#00000000" // Set a transparent color. - - Image { - source: icon - anchors.fill: parent - anchors.margins: 5 - } - - Text { - id: buttonText - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - } - - MouseArea { - anchors.fill: parent - onPressed: { - border.color = "#4166F5"; - border.width = 2 - } - onReleased: border.width = 0 - onCanceled : border.width = 0 - onClicked: parent.clicked() - } -} diff --git a/kdepim/mobile/lib/Button2.qml b/kdepim/mobile/lib/Button2.qml deleted file mode 100644 index 3615775a..00000000 --- a/kdepim/mobile/lib/Button2.qml +++ /dev/null @@ -1,103 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML - -QML.Rectangle { - id: root - - property string _state - property alias icon: iconImage.source - property alias buttonText: buttonLabel.text - property alias font: buttonLabel.font - property bool enabled: true - - signal clicked - - - height: 52 - color: "#00000000" // Set a transparent color. - - QML.BorderImage { - id: borderImage - anchors.fill: parent - source: "images/button-border" + root._state + ".png" - border { - left: 14 - right: 14 - top: 14 - bottom: 14 - } - horizontalTileMode: QML.BorderImage.Repeat - verticalTileMode: QML.BorderImage.Stretch - } - - QML.Image { - id: iconImage - - anchors { - verticalCenter: parent.verticalCenter - margins: (source == "" ? 0 : 5); - left: (buttonText == "" ? undefined : parent.left); - horizontalCenter: (buttonText == "" ? parent.horizontalCenter : undefined) - } - - fillMode: QML.Image.PreserveAspectFit - height: (root.height > sourceSize.height) ? sourceSize.height : (root.height - anchors.margins) - smooth: true - } - - QML.Text { - id: buttonLabel - - anchors { - centerIn: parent - left: iconImage.right - right: parent.right - } - - color: root.enabled ? "black" : "gray" - } - - states: [ - QML.State { - name: "pressed" - when: _mouseArea.pressed - - QML.PropertyChanges { - target: root - _state: "-active" - } - - QML.PropertyChanges { - target: buttonLabel - color: "white" - } - } - ] - - QML.MouseArea { - id: _mouseArea - anchors.fill: parent - enabled: parent.enabled - onClicked: parent.clicked() - } -} diff --git a/kdepim/mobile/lib/CMakeLists.txt b/kdepim/mobile/lib/CMakeLists.txt deleted file mode 100644 index fcc13bb8..00000000 --- a/kdepim/mobile/lib/CMakeLists.txt +++ /dev/null @@ -1,127 +0,0 @@ -include_directories( - ${CMAKE_SOURCE_DIR}/incidenceeditor-ng - ${CMAKE_SOURCE_DIR} - ${Boost_INCLUDE_DIR} -) - -add_subdirectory( calendar ) -add_subdirectory( docs ) - -set(mobileui_SRCS - agentstatusmonitor.cpp - akonadibreadcrumbnavigationfactory.cpp - breadcrumbnavigation.cpp - breadcrumbnavigationcontext.cpp - collectionfetchwatcher.cpp - declarativewidgetbase.cpp - declarativeakonadiitem.cpp - exporthandlerbase.cpp - favoriteseditor.cpp - favoritescontroller.cpp - favoriteslistmodel.cpp - guistatemanager.cpp - hierarchyresolver.cpp - importhandlerbase.cpp - kcolorcombo.cpp - kdeclarativeapplication.cpp - kdeclarativefullscreenview.cpp - kdeclarativemainview.cpp - kdeclarativemainview_p.cpp - kresettingproxymodel.cpp - listproxy.cpp - modelselectiontransition.cpp - orderedchildcollectionsmodel.cpp - qmllistselectionmodel.cpp - rangemanager.cpp - searchmanager.cpp - statemachinebuilder.cpp - stylesheetloader.cpp - threadmodel.cpp - threadgroupermodel.cpp - threadselectionmodel.cpp -) - -if (KDEQMLPLUGIN_STATIC) - add_definitions(-DKDEQMLPLUGIN_STATIC) -endif () - -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) - -kde4_add_library(kdepimmobileui ${LIBRARY_TYPE} ${mobileui_SRCS}) -set_target_properties(kdepimmobileui PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) - -target_link_libraries(kdepimmobileui - ${QT_QTDECLARATIVE_LIBRARY} - ${QT_QTOPENGL_LIBRARY} - ${KDEPIMLIBS_AKONADI_KMIME_LIBS} - ${KDE4_SOLID_LIBRARY} - akonadi_next - kdepim - calendarsupport -) - -if (KDEQMLPLUGIN_STATIC) - target_link_libraries(kdepimmobileui kdeqmlplugin) -endif () - -if (X11_FOUND) - target_link_libraries(kdepimmobileui ${X11_LIBRARIES}) -endif() - -set( STYLE_IMAGE_PATH ${PLUGIN_INSTALL_DIR}/imports/org/kde/pim/mobileui/images ) - -configure_file( stylesheet.css.cmake ${CMAKE_CURRENT_BINARY_DIR}/stylesheet.css ) - -add_subdirectory(images) - -install(TARGETS kdepimmobileui ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(FILES - qmldir - Action.qml - ActionButton.qml - ActiveActionMenuItemDelegate.qml - BulkActionScreen.qml - BulkActionList.qml - DecoratedListView.qml - FakeAction.qml - FavoriteManager.qml - ActionList.qml - ReorderList.qml - ReorderListDelegate.qml - MultipleSelectionComponent.qml - MultipleSelectionScreen.qml - ReorderListContainer.qml - ActionListItem.qml - ActionMenuContainer.qml - AgentInstanceList.qml - AgentInstanceListContainer.qml - AgentInstanceListDelegate.qml - AgentInstanceStatusIndicator.qml - AttachmentList.qml - ApplicationGeneralActions.qml - Button.qml - Button2.qml - AboutDialog.qml - CompletionSlider.qml - ItemListView.qml - ItemListViewDelegate.qml - MainView.qml - ScriptAction.qml - ScriptActionItem.qml - StartCanvas.qml - VerticalSelector.qml - Clock.qml - Calendar.qml - CalendarDay.qml - AgentStatusIndicator.qml - SearchDialog.qml - SearchResultScreen.qml - ItemEditButton.qml - Switch.qml - DESTINATION ${PLUGIN_INSTALL_DIR}/imports/org/kde/pim/mobileui) -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/stylesheet.css - ScreenFunctions.js - DESTINATION ${DATA_INSTALL_DIR}/mobileui) - -add_subdirectory( tests ) diff --git a/kdepim/mobile/lib/Calendar.qml b/kdepim/mobile/lib/Calendar.qml deleted file mode 100644 index 1c0ca998..00000000 --- a/kdepim/mobile/lib/Calendar.qml +++ /dev/null @@ -1,276 +0,0 @@ -/* - Copyright (C) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -import org.kde 4.5 -import CalendarHelper 4.5 - -Item { - id: calendar - width: 460 - height: 360 - - property alias day: calendarHelper.day - property alias month: calendarHelper.month - property alias year: calendarHelper.year - property alias daysInMonth: calendarHelper.daysInMonth - - signal daySelected(); - - CalendarHelper { - id: calendarHelper - onDayChanged: calendar.daySelected() - } - - Row { - id: title - spacing: 8 - anchors.left: parent.left - anchors.leftMargin: spacer.width + 5 - - Text { - text: KDE.i18n(calendarHelper.monthName) - color: "#004bb8" - font.pixelSize: 24 - } - - Text { - text: calendarHelper.year - color: "#004bb8" - font.pixelSize: 24 - } - } - - Grid { - id: calendarGrid - spacing: 3 - columns: 8 - rows: 7 - anchors.top: title.bottom - anchors.topMargin: 10 - - property int dayBoxSize: 54 - property int headlineHeight: 15 - property int weekNumberWidth: 20 - - // headline - Item { - id: spacer - width: calendarGrid.weekNumberWidth - height: calendarGrid.headlineHeight - } - - Repeater { - model: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] - Text { - width: calendarGrid.dayBoxSize - height: calendarGrid.headlineHeight - text: KDE.i18n(modelData) - color: "#5c5c5c" - font.pixelSize: 16 - style: Text.Sunken - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignBottom - } - } - - // first row - Text { - id: week1 - width: calendarGrid.weekNumberWidth - height: calendarGrid.dayBoxSize - color: "#828282" - text: calendarHelper.weekForPosition(1) - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignTop - } - - Repeater { - model: 7 - CalendarDay { - dayPos: index + 1 - currentDay: calendarHelper.day - text: calendarHelper.dayForPosition(dayPos); - } - } - - - // second row - Text { - id: week2 - width: calendarGrid.weekNumberWidth - height: calendarGrid.dayBoxSize - color: "#828282" - text: calendarHelper.weekForPosition(2) - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignTop - } - - Repeater { - model: 7 - CalendarDay { - dayPos: index + 8 - currentDay: calendarHelper.day - text: calendarHelper.dayForPosition(dayPos); - } - } - - - // third row - Text { - id: week3 - width: calendarGrid.weekNumberWidth - height: calendarGrid.dayBoxSize - color: "#828282" - text: calendarHelper.weekForPosition(3) - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignTop - } - - Repeater { - model: 7 - CalendarDay { - dayPos: index + 15 - currentDay: calendarHelper.day - text: calendarHelper.dayForPosition(dayPos); - } - } - - - // forth row - Text { - id: week4 - width: calendarGrid.weekNumberWidth - height: calendarGrid.dayBoxSize - color: "#828282" - text: calendarHelper.weekForPosition(4) - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignTop - } - - Repeater { - model: 7 - CalendarDay { - dayPos: index + 22 - currentDay: calendarHelper.day - text: calendarHelper.dayForPosition(dayPos); - } - } - - - // fifth row - Text { - id: week5 - width: calendarGrid.weekNumberWidth - height: calendarGrid.dayBoxSize - color: "#828282" - text: calendarHelper.weekForPosition(5) - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignTop - } - - Repeater { - model: 7 - CalendarDay { - dayPos: index + 29 - currentDay: calendarHelper.day - text: calendarHelper.dayForPosition(dayPos); - } - } - - - // sixth row - Text { - id: week6 - width: calendarGrid.weekNumberWidth - height: calendarGrid.dayBoxSize - color: "#828282" - text: calendarHelper.weekForPosition(6) - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignTop - } - - Repeater { - model: 7 - CalendarDay { - dayPos: index + 36 - currentDay: calendarHelper.day - text: calendarHelper.dayForPosition(dayPos); - } - } - } - - MouseArea { - anchors.fill: calendarGrid - anchors.topMargin: calendarGrid.headlineHeight - anchors.leftMargin: calendarGrid.weekNumberWidth - - property int oldX : 0 - property int oldY : 0 - - onPressed: { - oldX = mouseX; - oldY = mouseY; - } - - onReleased: { - var xDiff = oldX - mouseX; - var yDiff = oldY - mouseY; - - if ( Math.abs( xDiff ) > width * 0.3 || Math.abs( yDiff ) > height * 0.3 ) { - // distance is width enough to be a swipe action - - if ( Math.abs( xDiff ) > Math.abs( yDiff ) ) { - if ( oldX > mouseX ) - calendarHelper.previousMonth(); - else - calendarHelper.nextMonth(); - } else { - if ( oldY > mouseY ) - calendarHelper.previousYear(); - else - calendarHelper.nextYear(); - } - } else { - selectDay(mouse); - } - } - - //onPositionChanged: selectDay(mouse) - - function selectDay(mouse) { - if ((mouse.x < 0) || (mouse.x >= width) || (mouse.y < 0) || (mouse.y >= height)) - return; - - var boxSize = calendarGrid.dayBoxSize + calendarGrid.spacing; - var row = Math.floor(mouse.y / boxSize); - var column = Math.floor(mouse.x / boxSize); - var dayForPosition = calendarHelper.dayForPosition(row * 7 + column + 1); - - if (dayForPosition != "") - calendarHelper.day = dayForPosition; - } - } - - Component.onCompleted: { - calendarHelper.registerItems(calendarGrid); - } -} - diff --git a/kdepim/mobile/lib/CalendarDay.qml b/kdepim/mobile/lib/CalendarDay.qml deleted file mode 100644 index 6b90157c..00000000 --- a/kdepim/mobile/lib/CalendarDay.qml +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright (C) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -Image { - id: calendarDay - property alias text: myText.text - property int currentDay: 0 - property int dayPos: 0 - - width: 54 - height: 54 - - source: "images/normaldate.png" - - Image { - anchors.fill: parent - source: { - if (myText.text == "") { - return "images/inactivedate.png"; - } else if (myText.text == currentDay) { - return "images/activedate.png"; - } else { - return ""; - } - } - } - - Text { - id: myText - anchors.centerIn: parent - color: "#5ba0d4" - font.bold: true - font.pixelSize: 26 - style: Text.Sunken - } -} diff --git a/kdepim/mobile/lib/Clock.qml b/kdepim/mobile/lib/Clock.qml deleted file mode 100644 index 84523321..00000000 --- a/kdepim/mobile/lib/Clock.qml +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - Copyright (C) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import ClockHelper 4.5 - -Image { - id: clock - - property alias minutes: clockHelper.minutes - property alias hours: clockHelper.hours - - source: "images/clock-background.png" - smooth: true - - MouseArea { - id: clockMArea - anchors.fill: parent - hoverEnabled: true - onClicked: clockHelper.unselectAll() - onPositionChanged: clockHelper.setXY(mouseX, mouseY) - } - - Image { - id: minutesHand - source: "images/clock-minutes.png" - smooth: true - - x: clock.width/2 - minutesHand.width/2 - y: clock.height/2 - minutesHand.height*0.95 - height: clock.height/(372/148) - width: clock.width/(370/12) - - transform: Rotation { - origin.x: minutesHand.width/2 - origin.y: minutesHand.height*0.95 - angle: clockHelper.minutesAngle -// Behavior on angle { PropertyAnimation {} } - } - - MouseArea { - anchors.fill: parent - onPressed: clockHelper.selectMinute() - } - } - - Image { - id: hoursHand - source: "images/clock-hours.png" - smooth: true - - x: clock.width/2 - hoursHand.width/2 - y: clock.height/2 - hoursHand.height*0.95 - height: clock.height/(372/113) - width: clock.width/(370/12) - - transform: Rotation { - origin.x: hoursHand.width/2 - origin.y: hoursHand.height*0.95 - angle: clockHelper.hoursAngle -// Behavior on angle { PropertyAnimation {} } - } - - MouseArea { - anchors.fill: parent - onPressed: clockHelper.selectHour() - } - } - - Image { - id: center - source: "images/clock-center.png" - smooth: true - - anchors.centerIn: clock - height: clock.height/(372/38) - width: clock.width/(370/38) - } - - ClockHelper { - id: clockHelper - - originX: clockMArea.width / 2 - originY: clockMArea.height / 2 - } - - function clearSelection() { - clockHelper.unselectAll() - } -} diff --git a/kdepim/mobile/lib/CompletionSlider.qml b/kdepim/mobile/lib/CompletionSlider.qml deleted file mode 100644 index 6ae46251..00000000 --- a/kdepim/mobile/lib/CompletionSlider.qml +++ /dev/null @@ -1,60 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - - -import QtQuick 1.1 -import org.kde 4.5 - -Rectangle { - id: root - - property real percentComplete: 0 - - color: "#00000000" - width: 155 - height: 52 - - Image { - anchors.fill: parent - source: "images/sliderbackground.png"; - } - - Image { - anchors.verticalCenter: parent.verticalCenter - property bool dirtyBit - x: 3 + ((model.percentComplete/100) * (root.width - width - 6)) + (dirtyBit ? 0 : 0) - source: "images/sliderhandle.png" - - MouseArea { - anchors.fill: parent - drag.target: parent - drag.axis: "XAxis" - drag.minimumX: 3 - drag.maximumX: width - 6 - onReleased: { - root.percentageUpdated(((parent.x - 3)/(root.width - width - 6)) * 100); - parent.dirtyBit = !parent.dirtyBit - } - } - } - - signal percentageUpdated(real value); -} diff --git a/kdepim/mobile/lib/DecoratedListView.qml b/kdepim/mobile/lib/DecoratedListView.qml deleted file mode 100644 index 180c2389..00000000 --- a/kdepim/mobile/lib/DecoratedListView.qml +++ /dev/null @@ -1,21 +0,0 @@ -import QtQuick 1.1 - -ListView { - id: listView - Image { - source: KDE.locate( "lib", "kde4/imports/org/kde/scrollable-top.png" ); - anchors.top: parent.top - anchors.right: parent.right - anchors.left: parent.left - fillMode: Image.TileHorizontally - visible: !listView.atYBeginning - } - Image { - source: KDE.locate( "lib", "kde4/imports/org/kde/scrollable-bottom.png" ); - anchors.bottom: parent.bottom - anchors.right: parent.right - anchors.left: parent.left - fillMode: Image.TileHorizontally - visible: !listView.atYEnd - } -} diff --git a/kdepim/mobile/lib/FakeAction.qml b/kdepim/mobile/lib/FakeAction.qml deleted file mode 100644 index 64398ef7..00000000 --- a/kdepim/mobile/lib/FakeAction.qml +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Rectangle { - height : parent.height - width : parent.width - color : "red" - property string name - - onVisibleChanged : - { - if (!visible) - height = -actionItemSpacing - else - height = actionItemHeight - } - - signal triggered(string triggeredName) - - KPIM.Button { - height : parent.height - width : parent.width - buttonText : name; - - onClicked : - { - triggered(parent.name) - } - - } -} diff --git a/kdepim/mobile/lib/FavoriteManager.qml b/kdepim/mobile/lib/FavoriteManager.qml deleted file mode 100644 index 4dde003f..00000000 --- a/kdepim/mobile/lib/FavoriteManager.qml +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (C) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 - -ReorderList { - id: _root - category : "home" - - name : "favorites_list" - text : KDE.i18n( "Favorites" ) - - ActionButton { - icon : "images/moveup.png" - actionName : "favoriteseditor_moveup" - } - - ActionButton { - icon : "images/movedown.png" - actionName : "favoriteseditor_movedown" - } - - ActionButton { - icon : KDE.locate( "data", "mobileui/delete-button.png" ) - actionName : "favoriteseditor_remove" - } - - onCurrentIndexChanged : { favoritesEditor.setRowSelected( index ) } -} diff --git a/kdepim/mobile/lib/ItemEditButton.qml b/kdepim/mobile/lib/ItemEditButton.qml deleted file mode 100644 index d61e502e..00000000 --- a/kdepim/mobile/lib/ItemEditButton.qml +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.ActionButton { - icon: KDE.locate( "data", "mobileui/edit-button.png" ); -} diff --git a/kdepim/mobile/lib/ItemListView.qml b/kdepim/mobile/lib/ItemListView.qml deleted file mode 100644 index 18c245b6..00000000 --- a/kdepim/mobile/lib/ItemListView.qml +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - color : "#00000000" - id : _topListView - property alias model: itemListView.model - property alias currentIndex: itemListView.currentIndex - property int currentItemId: -1 - property int currentRow : -1 - property alias delegate: itemListView.delegate - property alias count: itemListView.count - property alias section: itemListView.section - property variant navigationModel - property int itemHeight: height / 7 - - PlasmaExtras.ScrollArea { - anchors.fill: parent - flickableItem: QML.ListView { - id: itemListView - - focus: true - clip: true - } - } - onCurrentRowChanged : { - if (navigationModel != undefined) - navigationModel.select(currentRow, 3) - } - QML.Connections { - target : navigationModel - onCurrentRowChanged : { - _topListView.currentRow = navigationModel.currentRow - } - } - -} diff --git a/kdepim/mobile/lib/ItemListViewDelegate.qml b/kdepim/mobile/lib/ItemListViewDelegate.qml deleted file mode 100644 index 4b79057f..00000000 --- a/kdepim/mobile/lib/ItemListViewDelegate.qml +++ /dev/null @@ -1,68 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -/** Delegate base class for use in ItemListView */ -Item { - id: itemViewTopLevel - property alias summaryContent: itemSummary.data - property alias color: itemSummary.color - property alias showCheckBox : checkBoxImage.visible - property variant checkModel - property variant navigationModel - - width: itemListView.width - - SystemPalette { id: palette; colorGroup: "Active" } - - MouseArea { - anchors.fill: parent - onClicked: { - if (showCheckBox && checkModel) { - checkModel.select(model.index, 8) - } else if (itemViewTopLevel.navigationModel != undefined) { - itemViewTopLevel.navigationModel.select(model.index, 3) - } else { - itemViewTopLevel.ListView.view.currentIndex = model.index; - itemViewTopLevel.ListView.view.parent.currentItemId = model.itemId; - } - } - } - - Rectangle { - anchors.fill: parent - anchors.margins: 4 - id: itemSummary - } - Rectangle { - id: bottomLine - x: 1; y: parent.height -2; width: parent.width - 2; height: 1 - border.color: palette.mid - opacity: 0.25 - } - Image { - id : checkBoxImage - anchors.verticalCenter: parent.verticalCenter; - anchors.right : parent.right; - visible : false - opacity : model.checkOn ? 1 : 0 - source : "images/check.png" - } -} diff --git a/kdepim/mobile/lib/MainView.qml b/kdepim/mobile/lib/MainView.qml deleted file mode 100644 index 409ea4b2..00000000 --- a/kdepim/mobile/lib/MainView.qml +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - -/** Base class for the application top-level view. */ -QML.Rectangle { - height: 480 - width: 800 - color : "#FAFAFA" -} diff --git a/kdepim/mobile/lib/Messages.sh b/kdepim/mobile/lib/Messages.sh deleted file mode 100644 index b7e73822..00000000 --- a/kdepim/mobile/lib/Messages.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -$EXTRACTRC --ignore-no-input `find . \( -name '*.ui' -or -name '*.rc' -or -name '*.kcfg' -or -name '*.kcfg.cmake' \) -and -not -name '*-mobile.rc'` >> rc.cpp || exit 11 -$XGETTEXT -ktranslate `find . -name '*.cpp' -o -name '*.h'` -o $podir/libkdepimmobileui.pot -$XGETTEXT -ktranslate `find . -name '*.qml'` -j -L Java -o $podir/libkdepimmobileui.pot -rm -f rc.cpp diff --git a/kdepim/mobile/lib/MultipleSelectionComponent.qml b/kdepim/mobile/lib/MultipleSelectionComponent.qml deleted file mode 100644 index 1e9781f6..00000000 --- a/kdepim/mobile/lib/MultipleSelectionComponent.qml +++ /dev/null @@ -1,67 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi 4.5 -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - color : "#00000000" - AkonadiBreadcrumbNavigationView { - id : navigationView - - indentation : 0 - - clickToBulkAction : false - - showCheckboxes : true - checkable : true - - breadcrumbComponentFactory : _multiSelectionComponentFactory - - anchors.top : parent.top - anchors.left : parent.left - anchors.bottom : parent.bottom - width : parent.width / 3 - } - - PlasmaExtras.ScrollArea { - anchors.left : navigationView.right - anchors.right : parent.right - anchors.top : parent.top - anchors.bottom : parent.bottom - - flickableItem: QML.ListView { - id : selectedView - - model : _multiSelectionComponentFactory.qmlCheckedItemsModel() - - delegate : CollectionDelegate { - id : selectedDelegate - uncheckable : true - alternatingRowColors : true - checkModel : _multiSelectionComponentFactory.qmlCheckedItemsCheckModel(); - height : 70 - } - } - } -} diff --git a/kdepim/mobile/lib/MultipleSelectionScreen.qml b/kdepim/mobile/lib/MultipleSelectionScreen.qml deleted file mode 100644 index e26c8ef1..00000000 --- a/kdepim/mobile/lib/MultipleSelectionScreen.qml +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde 4.5 - -QML.Rectangle { - anchors.fill : parent - anchors.topMargin : 12 - property alias backgroundImage : backgroundImage.source - - QML.Image { - id: backgroundImage - x: 0 - y: 0 - } - - signal finished() - signal canceled() - - KPIM.MultipleSelectionComponent { - id : multSelectionComponent - anchors.top : parent.top - anchors.left : parent.left - anchors.right : parent.right - anchors.bottom : buttonRow.top - } - - QML.Item { - id : buttonRow - anchors.bottom : parent.bottom - anchors.left : parent.left - anchors.right : parent.right - height : 50 - KPIM.Button2 { - id : doneButton - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.left : parent.left - buttonText : KDE.i18n("Done") - width : 150 - onClicked : - { - finished(); - guiStateManager.popState(); - application.clearPersistedSelection("preFavSelection"); - application.multipleSelectionFinished(); - } - } - KPIM.Button2 { - id : cancelButton - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - buttonText : KDE.i18n("Cancel") - width : 150 - onClicked : - { - canceled(); - guiStateManager.popState(); - application.restorePersistedSelection("preFavSelection"); - } - } - } -} diff --git a/kdepim/mobile/lib/ReorderList.qml b/kdepim/mobile/lib/ReorderList.qml deleted file mode 100644 index f9d9f997..00000000 --- a/kdepim/mobile/lib/ReorderList.qml +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Item { - id : reorderList_top - width : parent.width - - property string category - - property string name - property alias text : nameItem.buttonText - property alias totalWidth : _listContent.width - property alias columnHeight : _listContent.height - property alias depth : _listContent.bottomMargin - - property alias actionItemSpacing : _listContent.actionItemSpacing - property alias actionItemHeight : _listContent.actionItemHeight - property alias actionItemWidth : _listContent.actionItemWidth - - property alias model : _listContent.model - property alias delegate : _listContent.delegate - property alias showChildren : _listContent.visible - - default property alias content : _listContent.content - - signal triggered( string triggeredName ) - signal currentIndexChanged( int index ) - - onVisibleChanged : - { - if (!visible) - height = -actionItemSpacing - else - height = actionItemHeight - } - - KPIM.Button { - id : nameItem - height : parent.height - width : parent.width - - onClicked : { - reorderList_top.triggered( reorderList_top.name ) - showChildren = true - } - } - - KPIM.ReorderListContainer { - id : _listContent - anchors.left : nameItem.right - anchors.bottom : nameItem.top - - property int bottomMargin - anchors.bottomMargin : bottomMargin - visible : false - - onTriggered : { - reorderList_top.triggered( triggeredName ) - } - - onCurrentIndexChanged : { - reorderList_top.currentIndexChanged( index ) - } - } -} diff --git a/kdepim/mobile/lib/ReorderListContainer.qml b/kdepim/mobile/lib/ReorderListContainer.qml deleted file mode 100644 index 332f1478..00000000 --- a/kdepim/mobile/lib/ReorderListContainer.qml +++ /dev/null @@ -1,73 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde.plasma.extras 0.1 as PlasmaExtras -import org.kde.pim.mobileui 4.5 as KPIM - -Rectangle { - id : _topLevel - color : "#00000000" - property int actionItemHeight: 70 - property int actionItemWidth: 200 - property int actionItemSpacing : 0 - property int bottomMargin - anchors.bottomMargin : bottomMargin - - property alias model : myList.model - property alias delegate : myList.delegate - - default property alias content : actionColumn.children - - signal triggered( string triggeredName ) - signal currentIndexChanged( int index ) - - PlasmaExtras.ScrollArea { - anchors.top : _topLevel.top - anchors.bottom : _topLevel.bottom - anchors.left : _topLevel.left - anchors.right : actionColumn.left - - flickableItem: ListView { - id : myList - - interactive: count * actionItemHeight > height - focus: true - - delegate : ReorderListDelegate { - height: _topLevel.actionItemHeight - width: ListView.view.width; - } - - onCurrentIndexChanged : { - _topLevel.currentIndexChanged( currentIndex ) - } - } - } - - Column { - id : actionColumn - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - width : 100 - } -} diff --git a/kdepim/mobile/lib/ReorderListDelegate.qml b/kdepim/mobile/lib/ReorderListDelegate.qml deleted file mode 100644 index daa8fcd4..00000000 --- a/kdepim/mobile/lib/ReorderListDelegate.qml +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (C) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 - -QML.Item { - id: _delegateTopLevel - clip: true - width: QML.ListView.width - height: 100 - - QML.Rectangle { - id: background - anchors.fill: parent - opacity: (_delegateTopLevel.QML.ListView.isCurrentItem ? 0.25 : 0) - color: "lightsteelblue" - } - - QML.Text { - anchors.centerIn: parent - text : model.display - } - - QML.MouseArea { - anchors.fill: parent - onClicked: { _delegateTopLevel.QML.ListView.view.currentIndex = model.index; } - } -} diff --git a/kdepim/mobile/lib/ScreenFunctions.js b/kdepim/mobile/lib/ScreenFunctions.js deleted file mode 100644 index a5c4178c..00000000 --- a/kdepim/mobile/lib/ScreenFunctions.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 2011 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -/** - * Contains the minimum size necessary for usable finger interaction elements - */ -var fingerSize = KDE.mm2px( 12 ); - -/** - * Returns size of a screen partition. - * This is supposed to be used when dividing a bit of screen space into equaly sized sub-spaces - * without having unused/partial areas left. - * @param totalSize Total amount of available pixel space - * @param minPartitions Minimum number of partitions requried - * @returns Pixel-size of a partition. - */ -function partition( totalSize, minPartitions ) -{ - // at least 15mm for touch interaction - var optimalPartitionCount = Math.floor(totalSize / fingerSize); - return totalSize / Math.max(minPartitions, optimalPartitionCount); -} diff --git a/kdepim/mobile/lib/ScriptAction.qml b/kdepim/mobile/lib/ScriptAction.qml deleted file mode 100644 index 0c3b1f99..00000000 --- a/kdepim/mobile/lib/ScriptAction.qml +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -Item { - property string name - property alias script : myAction.script - - function trigger() - { - state = "execute"; - state = ""; - } - - states : State { - name : "execute" - } - - transitions : Transition { - from : ""; to : "execute" - ScriptAction { - id : myAction - } - } -} diff --git a/kdepim/mobile/lib/ScriptActionItem.qml b/kdepim/mobile/lib/ScriptActionItem.qml deleted file mode 100644 index a4eada7e..00000000 --- a/kdepim/mobile/lib/ScriptActionItem.qml +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Item { - height : parent.height - width : (parent ? parent.width : 0) - property string name - property string title - - property string category - - signal triggered(string triggeredName) - - onVisibleChanged : - { - if (!visible) - height = -actionItemSpacing - else - height = actionItemHeight - } - - KPIM.Button { - height : parent.height - width : parent.width - buttonText: parent.title - onClicked: parent.triggered( parent.name ) - } -} diff --git a/kdepim/mobile/lib/SearchDialog.qml b/kdepim/mobile/lib/SearchDialog.qml deleted file mode 100644 index 5c5fa5aa..00000000 --- a/kdepim/mobile/lib/SearchDialog.qml +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - property alias searchWidget: searchWidget.children - - id: searchDialog - anchors.fill: parent - z: 10 - color: "white" - visible: guiStateManager.inSearchScreenState - - PlasmaExtras.ScrollArea { - id: searchWidgetBox - anchors { - top: parent.top - topMargin: 25 - bottom: parent.bottom - left: parent.left - right: searchButton.left - } - - flickableItem: QML.Flickable { - id: searchWidgetFlickable - contentHeight: searchWidget.height - - contentItem.children: [ - QML.Item { // dummy item to make the widget visible with the broken QML version on the N900 - anchors.fill: parent - QML.Item { - id: searchWidget - width: parent.width - - onChildrenChanged: { searchWidgetFlickable.contentHeight = children[0].height } - } - } - ] - } - } - - KPIM.Button2 { - id: searchButton - anchors.top: parent.top - anchors.topMargin: 20 - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "Search" ) - onClicked: { - searchManager.startSearch( searchWidget.children[0].query ) - } - } - - KPIM.Button2 { - id: cancelButton - anchors.top: searchButton.bottom - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "Back" ) - onClicked: { - guiStateManager.popState() - } - } -} diff --git a/kdepim/mobile/lib/SearchResultScreen.qml b/kdepim/mobile/lib/SearchResultScreen.qml deleted file mode 100644 index 48bfa1cd..00000000 --- a/kdepim/mobile/lib/SearchResultScreen.qml +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi 4.5 as Akonadi - -QML.Rectangle { - property alias itemView: itemView.children - property alias resultText: collectionView.multipleSelectionText - - id: searchResultView - visible: guiStateManager.inSearchResultScreenState - color: "white" - - Akonadi.AkonadiBreadcrumbNavigationView { - id: collectionView - anchors.left: parent.left - anchors.top: parent.top - anchors.bottom: backButton.top - width: 1/3 * parent.width - - breadcrumbComponentFactory: _breadcrumbNavigationFactory - - onHomeClicked: { - searchManager.stopSearch() - guiStateManager.popState() - - // the user clicked on home, so explicitly change the state to it - guiStateManager.switchState( KPIM.GuiStateManager.HomeScreenState ) - } - - KPIM.AgentStatusIndicator { - anchors { top: parent.top; right: parent.right; rightMargin: 10; topMargin: 10 } - } - } - - KPIM.Button2 { - id: backButton - anchors.left: collectionView.left - anchors.right: collectionView.right - anchors.bottom: parent.bottom - buttonText: KDE.i18n( "Back to Search" ) - onClicked: { - searchManager.stopSearch() - } - } - - QML.Rectangle { - id: itemView - anchors.left: collectionView.right - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.right: parent.right - color: "#00000000" - } -} diff --git a/kdepim/mobile/lib/StartCanvas.qml b/kdepim/mobile/lib/StartCanvas.qml deleted file mode 100644 index 5c35f783..00000000 --- a/kdepim/mobile/lib/StartCanvas.qml +++ /dev/null @@ -1,138 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi 4.5 -import org.kde.plasma.extras 0.1 as PlasmaExtras - -Item { - id : _topContext - property alias startText: startText.text - property alias contextActions: contextContainer.children - property alias favoritesModel : favsView.model - property alias showAccountsList : accountsList.visible - - signal accountSelected( int row ) - signal favoriteSelected( string favName ) - - Component { - id : accountDelegate - CollectionDelegate { - fullClickArea : true - height : accountsList.height / 6 - width : accountsList.width - onIndexSelected : { _topContext.accountSelected( model.index ); } - } - } - - Component { - id : favDelegate - CollectionDelegate { - fullClickArea : true - height : _topContext.height / 6 - width : ListView.view.width - onIndexSelected : { - favoriteSelected(model.display); - } - } - } - - Row { - anchors.topMargin: 30 - anchors.left: parent.left - anchors.top: parent.top - anchors.right: parent.right - anchors.bottom: firstStepsLink.top - spacing: 10 - - Column { - width: accountsList.visible ? (parent.width) : 0 - height: parent.height - spacing: 5 - - Text { - width: parent.width - id: startText - font { - pointSize: 14 - } - } - - PlasmaExtras.ScrollArea { - width: parent.width - height : parent.height - - flickableItem: ListView { - id : accountsList - clip: true - - model : accountsModel - delegate : accountDelegate - } - } - } - - Column { - width: parent.width - height: parent.height - spacing: 5 - - Item { - id : contextContainer - height: childrenRect.height - width: parent.width - } - - PlasmaExtras.ScrollArea { - width: parent.width - height: parent.height - contextContainer.height - 2 - 4 * 5 - - flickableItem: ListView { - id : favsView - - delegate : favDelegate - clip: true - } - } - } - } - - Text { - id: firstStepsLink - anchors.left: parent.left - anchors.leftMargin: 10 - anchors.right: parent.right - anchors.bottom: parent.bottom - anchors.bottomMargin: visible ? 20 : 0 - text: KDE.i18n( "First steps..." ) - textFormat: Text.RichText - verticalAlignment: Text.AlignTop - MouseArea { - anchors.fill: parent - onClicked: { application.openManual() } - } - - visible: favsView.count < 4 - height: visible ? 20 : 0 - y: visible ? parent.height - height : parent.height - } -} diff --git a/kdepim/mobile/lib/Switch.qml b/kdepim/mobile/lib/Switch.qml deleted file mode 100644 index e1982876..00000000 --- a/kdepim/mobile/lib/Switch.qml +++ /dev/null @@ -1,81 +0,0 @@ -import QtQuick 1.1 - -Item { - id: toggleswitch - width: background.width - height: background.height - - property bool on: false - - function setOn( value ) - { - if ( value ) - toggleswitch.state = "on"; - else - toggleswitch.state = "off"; - } - - function toggle() { - if ( toggleswitch.state == "on" ) - toggleswitch.state = "off"; - else - toggleswitch.state = "on"; - } - - function releaseSwitch() { - if ( handle.x == 1 ) { - if ( toggleswitch.state == "off" ) - return; - } - if ( handle.x == 78 ) { - if ( toggleswitch.state == "on" ) - return; - } - - toggle(); - } - - Image { - id: background - source : "images/sliderbackground.png"; - MouseArea { - anchors.fill: parent - onClicked: toggle() - } - } - - Image { - id: handle - x: 1; - y: 2 - source : "images/sliderhandle.png"; - - MouseArea { - anchors.fill: parent - drag.target: handle - drag.axis: Drag.XAxis - drag.minimumX: 1 - drag.maximumX: 78 - - onClicked: toggle() - onReleased: releaseSwitch() - } - } - - states: [ - State { - name: "on" - PropertyChanges { target: handle; x: 78 } - PropertyChanges { target: toggleswitch; on: true } - }, - State { - name: "off" - PropertyChanges { target: handle; x: 1 } - PropertyChanges { target: toggleswitch; on: false } - } - ] - - transitions: Transition { - NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 } - } -} diff --git a/kdepim/mobile/lib/VerticalSelector.qml b/kdepim/mobile/lib/VerticalSelector.qml deleted file mode 100644 index 8836fde5..00000000 --- a/kdepim/mobile/lib/VerticalSelector.qml +++ /dev/null @@ -1,173 +0,0 @@ -/* - Copyright (C) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 - -Item { - id: verticalselector - width: 160 - height: 90 - state: "unselected" - - property alias model: list.model - property int value: -1 - signal selected() - - property int beginWith: 0 - property variant displayTexts - - onValueChanged: { - list.positionViewAtIndex( value - beginWith, ListView.Center ); - } - - Image { - id: inputLeft - source: "images/scrollinput-left" + (verticalselector.focus ? "-active" : "") + ".png" - - anchors.top: parent.top - anchors.topMargin: 15 - anchors.bottom: parent.bottom - anchors.bottomMargin: 15 - anchors.left: parent.left - anchors.leftMargin: 5 - } - - BorderImage { - id: inputCenter - source: "images/scrollinput-center" + (verticalselector.focus ? "-active" : "") + ".png" - - anchors.top: parent.top - anchors.topMargin: 15 - anchors.bottom: parent.bottom - anchors.bottomMargin: 15 - anchors.left: inputLeft.right - anchors.right: inputRight.left - } - - Image { - id: inputRight - source: "images/scrollinput-right" + (verticalselector.focus ? "-active" : "") + ".png" - - anchors.top: parent.top - anchors.topMargin: 15 - anchors.bottom: parent.bottom - anchors.bottomMargin: 15 - anchors.right: parent.right - anchors.rightMargin: 5 - } - - // ### TODO: for some reason, onValueChanged is not properly - // setting the positionViewAtIndex when the component is just - // loaded. maybe a bug with the list? - function setValue(newValue) { - value = newValue; - list.positionViewAtIndex( value - beginWith, ListView.Center ); - } - - function setRange(range) { - list.model = range - list.positionViewAtIndex( value - beginWith, ListView.Center ) - } - - function toggleState(newValue) - { - state = (state == "selected") ? "unselected" : "selected"; - if (state == "unselected") - verticalselector.value = newValue - else - verticalselector.selected(); - } - - Component { - id: fadeDelegate - Item { - id: fadewrapper - width: verticalselector.width - height: verticalselector.height - Text { - text: displayTexts ? displayTexts[list.currentIndex + beginWith] : list.currentIndex + beginWith - anchors.fill: parent - color: "#004bb8" - font.bold: true - font.pixelSize: 28 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - MouseArea { - hoverEnabled: true - anchors.fill: parent - onClicked: { - toggleState(list.currentIndex + beginWith) - } - } - } - } - - Component { - id: highlight - Rectangle { - color: "red" - opacity: 0 - } - } - - ListView { - id: list - clip: true - model: 10 - interactive: verticalselector.focus - - delegate: fadeDelegate - highlight: highlight - highlightRangeMode: ListView.StrictlyEnforceRange - highlightFollowsCurrentItem: true - preferredHighlightBegin: 0 - preferredHighlightEnd: verticalselector.height - - anchors.fill: parent - anchors.leftMargin: 5 - anchors.rightMargin: 5 - orientation: Qt.Vertical - snapMode: ListView.SnapToItem - } - - states: [ - State { - name: "selected" - PropertyChanges { - target: verticalselector - focus: true - height: 135 - width: 240 - } - }, - State { - name: "unselected" - PropertyChanges { - target: verticalselector - focus: false - height: 90 - width: 160 - } - } - ] - transitions: Transition { - PropertyAnimation { target: verticalselector; properties: "height, width"; duration: 500 } - } -} diff --git a/kdepim/mobile/lib/actionhelper.cpp b/kdepim/mobile/lib/actionhelper.cpp deleted file mode 100644 index a5b3898b..00000000 --- a/kdepim/mobile/lib/actionhelper.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include -#include -#include - -using namespace Akonadi; - -template -void ActionHelper::adaptStandardActionTexts( T *manager ) -{ - manager->setActionText( StandardActionManager::SynchronizeResources, ki18np( "Synchronize This Account", "Synchronize These Accounts" ) ); - manager->action( StandardActionManager::SynchronizeResources )->setText( i18n("Synchronize This Account") ); - manager->action( StandardActionManager::ManageLocalSubscriptions )->setText( i18n( "Local Subscriptions" ) ); - manager->action( StandardActionManager::ResourceProperties )->setText( i18n( "Account Properties" ) ); - manager->action( StandardActionManager::ToggleWorkOffline )->setText( i18n( "Work Offline" ) ); -} diff --git a/kdepim/mobile/lib/actionhelper.h b/kdepim/mobile/lib/actionhelper.h deleted file mode 100644 index aed308e5..00000000 --- a/kdepim/mobile/lib/actionhelper.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef ACTIONHELPER_H -#define ACTIONHELPER_H - -namespace Akonadi { -class StandardActionManager; -} - -namespace ActionHelper { - - /** - * Adapts the texts of the standard actions to the mobile applications. - */ - template - void adaptStandardActionTexts( T *manager ); - -} - -#include "actionhelper.cpp" - -#endif diff --git a/kdepim/mobile/lib/agentstatusmonitor.cpp b/kdepim/mobile/lib/agentstatusmonitor.cpp deleted file mode 100644 index f1e556bf..00000000 --- a/kdepim/mobile/lib/agentstatusmonitor.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "agentstatusmonitor.h" - -#include -#include - -#include - -#include - -using namespace Akonadi; - -Q_DECLARE_METATYPE( AgentStatusMonitor::AgentStatus ) - -AgentStatusMonitor::AgentStatusMonitor( QObject* parent ) - : QObject( parent ), m_status( Offline ) -{ - qRegisterMetaType(); - connect( AgentManager::self(), SIGNAL(instanceAdded(Akonadi::AgentInstance)), SLOT(updateStatus()) ); - connect( AgentManager::self(), SIGNAL(instanceRemoved(Akonadi::AgentInstance)), SLOT(updateStatus()) ); - connect( AgentManager::self(), SIGNAL(instanceOnline(Akonadi::AgentInstance,bool)), SLOT(updateStatus()) ); - connect( AgentManager::self(), SIGNAL(instanceStatusChanged(Akonadi::AgentInstance)), SLOT(updateStatus()) ); - connect( Solid::Networking::notifier(), SIGNAL(statusChanged(Solid::Networking::Status)), SLOT(updateStatus()) ); - updateStatus(); -} - -AgentStatusMonitor::AgentStatus AgentStatusMonitor::status() const -{ - return m_status; -} - -void AgentStatusMonitor::updateStatus() -{ - const AgentStatus oldStatus = m_status; - - m_status = Offline; - foreach ( const AgentInstance &instance, AgentManager::self()->instances() ) { - if ( instance.type().identifier() == QLatin1String( "akonadi_maildispatcher_agent" ) ) { - if ( instance.status() == AgentInstance::Running ) - m_status |= Sending; - } else if ( instance.type().capabilities().contains( QLatin1String( "Resource" ) ) && m_mimeTypeChecker.containsWantedMimeType( instance.type().mimeTypes() ) ) { - if ( instance.status() == AgentInstance::Running ) - m_status |= Receiving; - if ( instance.isOnline() ) - m_status |= Online; - } - } - - if ( Solid::Networking::status() != Solid::Networking::Connected && Solid::Networking::status() != Solid::Networking::Unknown ) - m_status &= ~Online; - - if ( m_status != oldStatus ) - emit statusChanged(); -} - -void AgentStatusMonitor::setMimeTypeFilter( const QStringList &mimeTypes ) -{ - m_mimeTypeChecker.setWantedMimeTypes( mimeTypes ); - updateStatus(); -} - diff --git a/kdepim/mobile/lib/agentstatusmonitor.h b/kdepim/mobile/lib/agentstatusmonitor.h deleted file mode 100644 index 7d7e5f9b..00000000 --- a/kdepim/mobile/lib/agentstatusmonitor.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AGENTSTATUSMONITOR_H -#define AGENTSTATUSMONITOR_H - -#include - -#include -#include - -class AgentStatusMonitor : public QObject -{ - Q_OBJECT - Q_FLAGS( AgentStatus ) - Q_PROPERTY( AgentStatus status READ status NOTIFY statusChanged ) - - public: - enum Status { - Offline = 0, - Online = 1, - Receiving = 2, - Sending = 4 - }; - Q_DECLARE_FLAGS( AgentStatus, Status ) - - explicit AgentStatusMonitor( QObject *parent = 0 ); - - AgentStatus status() const; - void setMimeTypeFilter( const QStringList &mimeTypes ); - - Q_SIGNALS: - void statusChanged(); - - private Q_SLOTS: - void updateStatus(); - - private: - AgentStatus m_status; - Akonadi::MimeTypeChecker m_mimeTypeChecker; -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS( AgentStatusMonitor::AgentStatus ) - -#endif diff --git a/kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.cpp b/kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.cpp deleted file mode 100644 index f122eae5..00000000 --- a/kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "akonadibreadcrumbnavigationfactory.h" - -#include "orderedchildcollectionsmodel.h" - -#include - -using namespace Akonadi; - -BreadcrumbNavigationFactory::BreadcrumbNavigationFactory( QObject* parent ) - : KBreadcrumbNavigationFactory(parent) -{ -} - -QAbstractItemModel* BreadcrumbNavigationFactory::getChildItemsModel( QAbstractItemModel* model ) -{ - EntityMimeTypeFilterModel *filterProxy = new Akonadi::EntityMimeTypeFilterModel( this ); - filterProxy->setHeaderGroup( Akonadi::EntityTreeModel::CollectionTreeHeaders ); - filterProxy->setSourceModel( model ); - filterProxy->addMimeTypeInclusionFilter( Akonadi::Collection::mimeType() ); - - OrderedChildCollectionsModel *orderProxy = new OrderedChildCollectionsModel( this ); - orderProxy->sort(0, Qt::AscendingOrder ); - orderProxy->setSourceModel( filterProxy ); - - return orderProxy; -} - diff --git a/kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.h b/kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.h deleted file mode 100644 index 6f874a94..00000000 --- a/kdepim/mobile/lib/akonadibreadcrumbnavigationfactory.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_BREADCRUMBNAVIGATIONFACTORY_H -#define AKONADI_BREADCRUMBNAVIGATIONFACTORY_H - -#include "breadcrumbnavigationcontext.h" - -#include "mobileui_export.h" - -namespace Akonadi -{ - -class MOBILEUI_EXPORT BreadcrumbNavigationFactory : public KBreadcrumbNavigationFactory -{ - Q_OBJECT - - public: - explicit BreadcrumbNavigationFactory( QObject* parent = 0 ); - - protected: - virtual QAbstractItemModel* getChildItemsModel( QAbstractItemModel* model ); -}; - -} - -#endif diff --git a/kdepim/mobile/lib/breadcrumbnavigation.cpp b/kdepim/mobile/lib/breadcrumbnavigation.cpp deleted file mode 100644 index 86d3651c..00000000 --- a/kdepim/mobile/lib/breadcrumbnavigation.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "breadcrumbnavigation.h" - -#include - -#include - -KBreadcrumbNavigationProxyModel::KBreadcrumbNavigationProxyModel( QItemSelectionModel *selectionModel, QObject *parent ) - : Akonadi::SelectionProxyModel( selectionModel, parent ) -{ -} - -QVariant KBreadcrumbNavigationProxyModel::data( const QModelIndex &index, int role ) const -{ - if ( rowCount() > 2 && index.row() == 0 && role == Qt::DisplayRole ) { - QStringList dataList; - - QModelIndex sourceIndex = mapToSource( index ); - while ( sourceIndex.isValid() ) { - dataList.prepend( sourceIndex.data().toString() ); - sourceIndex = sourceIndex.parent(); - } - - return dataList.join( QLatin1String(" > ") ); - } - - return KSelectionProxyModel::data( index, role ); -} - -void KBreadcrumbNavigationProxyModel::setShowHiddenAscendantData( bool showHiddenAscendantData ) -{ - m_showHiddenAscendantData = showHiddenAscendantData; -} - -bool KBreadcrumbNavigationProxyModel::showHiddenAscendantData() const -{ - return m_showHiddenAscendantData; -} - -KNavigatingProxyModel::KNavigatingProxyModel( KForwardingItemSelectionModel *selectionModel, QObject *parent ) - : Akonadi::SelectionProxyModel( selectionModel, parent ), - m_selectionModel( selectionModel ) -{ -} - -void KNavigatingProxyModel::silentSelect( const QItemSelection &selection, QItemSelectionModel::SelectionFlags command ) -{ - disconnect( m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(navigationSelectionChanged(QItemSelection,QItemSelection)) ); - - m_selectionModel->select( selection, command ); - - connect( m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(navigationSelectionChanged(QItemSelection,QItemSelection)) ); -} - -void KNavigatingProxyModel::setSourceModel(QAbstractItemModel* sourceModel) -{ - connect( m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(navigationSelectionChanged(QItemSelection,QItemSelection)) ); - connect( m_selectionModel, SIGNAL(resetNavigation()), SLOT(updateNavigation()) ); - - disconnect( sourceModel, SIGNAL(modelReset()), this, SLOT(updateNavigation()) ); - disconnect( sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(_sourceRowsInserted(QModelIndex,int,int)) ); - disconnect( sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(_sourceRowsRemoved(QModelIndex,int,int)) ); - - KSelectionProxyModel::setSourceModel( sourceModel ); - updateNavigation(); - - connect( sourceModel, SIGNAL(modelReset()), SLOT(updateNavigation()) ); - connect( sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(_sourceRowsInserted(QModelIndex,int,int)) ); - connect( sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(_sourceRowsRemoved(QModelIndex,int,int)) ); -} - -void KNavigatingProxyModel::_sourceRowsInserted( const QModelIndex &parent, int start, int end ) -{ - if ( filterBehavior() != ExactSelection || parent.isValid() ) - return; - - const QItemSelection selection( sourceModel()->index( start, 0, parent ), - sourceModel()->index( end, sourceModel()->columnCount( parent ) - 1, parent ) ); - - silentSelect( selection, QItemSelectionModel::Select ); -} - -void KNavigatingProxyModel::_sourceRowsRemoved( const QModelIndex &parent, int start, int end ) -{ - if ( filterBehavior() != ExactSelection || parent.isValid() ) - return; - - m_selectionModel->select( QItemSelection( sourceModel()->index( start, 0, parent ), - sourceModel()->index( end, sourceModel()->columnCount( parent ), parent ) ), - QItemSelectionModel::Deselect ); - - if ( m_selectionModel->selection().isEmpty() ) - updateNavigation(); -} - -void KNavigatingProxyModel::navigationSelectionChanged( const QItemSelection &selected, const QItemSelection &deselected ) -{ - Q_UNUSED( selected ); - if (deselected.size() != 1) - return updateNavigation(); - - const QItemSelectionRange range = deselected.first(); - if (range.parent().isValid()) - return updateNavigation(); - - // When a top level item is removed this slot may be invoked before the source rows - // removed handler. In that case we need to make sure we don't update the navigation - // structures here, but wait for that to be done in the rows removed handler. - int rows = range.height(); - foreach(const QItemSelectionRange &selRange, m_selectionModel->selection()) { - if (!selRange.parent().isValid()) { - rows += selRange.height(); - } else { - return updateNavigation(); - } - } - if (rows != m_selectionModel->model()->rowCount()) - return updateNavigation(); -} - -void KNavigatingProxyModel::updateNavigation() -{ - if ( !sourceModel() ) { - setFilterBehavior( KSelectionProxyModel::ChildrenOfExactSelection ); - return; - } - - if ( m_selectionModel->selection().isEmpty() ) { - beginResetModel(); - - blockSignals( true ); // prevent KSelectionProxyModel to emit modelReset, we'll do it some lines below ourself - setFilterBehavior( KSelectionProxyModel::ExactSelection ); - blockSignals( false ); - - const QModelIndex top = sourceModel()->index( 0, 0 ); - const QModelIndex bottom = sourceModel()->index( sourceModel()->rowCount() - 1, 0 ); - silentSelect( QItemSelection( top, bottom ), QItemSelectionModel::Select ); - endResetModel(); - } else if ( filterBehavior() != KSelectionProxyModel::ChildrenOfExactSelection ) { - setFilterBehavior( KSelectionProxyModel::ChildrenOfExactSelection ); - } -} - -KForwardingItemSelectionModel::KForwardingItemSelectionModel( QAbstractItemModel *model, QItemSelectionModel *selectionModel, QObject *parent ) - : QItemSelectionModel( model, parent ), - m_selectionModel( selectionModel ), - m_direction( Forward ) -{ - Q_ASSERT( model == selectionModel->model() ); - connect( selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(navigationSelectionChanged(QItemSelection,QItemSelection)) ); -} - -KForwardingItemSelectionModel::KForwardingItemSelectionModel( QAbstractItemModel *model, QItemSelectionModel *selectionModel, - Direction direction, QObject *parent ) - : QItemSelectionModel( model, parent ), - m_selectionModel( selectionModel ), - m_direction( direction ) -{ - Q_ASSERT( model == selectionModel->model() ); - - if ( m_direction == Forward ) - connect( selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(navigationSelectionChanged(QItemSelection,QItemSelection)) ); -} - -void KForwardingItemSelectionModel::select( const QModelIndex &index, QItemSelectionModel::SelectionFlags command ) -{ - if ( m_direction == Reverse ) - m_selectionModel->select( index, command ); - else - QItemSelectionModel::select( index, command ); -} - -void KForwardingItemSelectionModel::select( const QItemSelection &selection, QItemSelectionModel::SelectionFlags command ) -{ - if ( m_direction == Reverse ) - m_selectionModel->select( selection, command ); - else - QItemSelectionModel::select( selection, command ); -} - -void KForwardingItemSelectionModel::navigationSelectionChanged( const QItemSelection &selected, const QItemSelection &deselected ) -{ - // ### The KNavigatingProxyModel selects all top level items if there is 'no selection'. - // This slot is called when we newly get a selection, so we can unselect all. - if ( selectedRows().size() == model()->rowCount() ) - select( selected, ClearAndSelect ); - else - select( selected, Select ); - - select( deselected, Deselect ); - - if ( selected == selection() ) - resetNavigation(); -} diff --git a/kdepim/mobile/lib/breadcrumbnavigation.h b/kdepim/mobile/lib/breadcrumbnavigation.h deleted file mode 100644 index 213370b8..00000000 --- a/kdepim/mobile/lib/breadcrumbnavigation.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef BREADCRUMBNAVIGATION_H -#define BREADCRUMBNAVIGATION_H - -#include - -#include - -// Copied from kdeui/tests/proxymodeltestapp/breadcrumbnavigationwidget -// A version of these might be somewhere stable in the future. - -class KBreadcrumbNavigationProxyModel : public Akonadi::SelectionProxyModel -{ - Q_OBJECT - - public: - explicit KBreadcrumbNavigationProxyModel( QItemSelectionModel *selectionModel, QObject *parent = 0 ); - - void setShowHiddenAscendantData( bool showHiddenAscendantData ); - bool showHiddenAscendantData() const; - - virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; - - private: - bool m_showHiddenAscendantData; -}; - -class KForwardingItemSelectionModel; - -class KNavigatingProxyModel : public Akonadi::SelectionProxyModel -{ - Q_OBJECT - - public: - explicit KNavigatingProxyModel( KForwardingItemSelectionModel *selectionModel, QObject *parent = 0 ); - - virtual void setSourceModel( QAbstractItemModel *sourceModel ); - - private Q_SLOTS: - void updateNavigation(); - void navigationSelectionChanged( const QItemSelection&, const QItemSelection& ); - void _sourceRowsInserted( const QModelIndex &parent, int start, int end ); - void _sourceRowsRemoved( const QModelIndex &parent, int start, int end ); - - private: - void silentSelect( const QItemSelection &selection, QItemSelectionModel::SelectionFlags command ); - - using KSelectionProxyModel::setFilterBehavior; - KForwardingItemSelectionModel *m_selectionModel; -}; - -class KForwardingItemSelectionModel : public QItemSelectionModel -{ - Q_OBJECT - - public: - enum Direction - { - Forward, - Reverse - }; - - KForwardingItemSelectionModel( QAbstractItemModel *model, QItemSelectionModel *selectionModel, QObject *parent = 0 ); - KForwardingItemSelectionModel( QAbstractItemModel *model, QItemSelectionModel *selectionModel, Direction direction, QObject *parent = 0 ); - - virtual void select( const QModelIndex &index, SelectionFlags command ); - virtual void select( const QItemSelection &selection, SelectionFlags command ); - - Q_SIGNALS: - void resetNavigation(); - - private Q_SLOTS: - void navigationSelectionChanged( const QItemSelection &selected, const QItemSelection &deselected ); - - private: - QItemSelectionModel *m_selectionModel; - Direction m_direction; -}; - -#endif diff --git a/kdepim/mobile/lib/breadcrumbnavigationcontext.cpp b/kdepim/mobile/lib/breadcrumbnavigationcontext.cpp deleted file mode 100644 index 4cce8341..00000000 --- a/kdepim/mobile/lib/breadcrumbnavigationcontext.cpp +++ /dev/null @@ -1,384 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "breadcrumbnavigationcontext.h" - -#include "breadcrumbnavigation.h" -#include "kbreadcrumbselectionmodel.h" -#include "klinkitemselectionmodel.h" -#include "kmodelindexproxymapper.h" -#include -#include "kselectionproxymodel.h" -#include "qmlcheckableproxymodel.h" -#include "qmllistselectionmodel.h" - -#include -#include - -class KBreadcrumbNavigationFactoryPrivate -{ - KBreadcrumbNavigationFactoryPrivate( KBreadcrumbNavigationFactory *qq ) - : q_ptr( qq ), - m_breadcrumbSelectionModel( 0 ), - m_selectionModel( 0 ), - m_childItemsSelectionModel( 0 ), - m_breadcrumbModel( 0 ), - m_selectedItemModel( 0 ), - m_unfilteredChildItemsModel( 0 ), - m_childItemsModel( 0 ), - m_breadcrumbDepth( -1 ), - m_modelIndexProxyMapper( 0 ), - m_checkModel( 0 ), - m_qmlBreadcrumbSelectionModel( 0 ), - m_qmlSelectedItemSelectionModel( 0 ), - m_qmlChildSelectionModel( 0 ), - m_qmlBreadcrumbCheckModel( 0 ), - m_qmlSelectedItemCheckModel( 0 ), - m_qmlChildCheckModel( 0 ), - m_checkedItemsModel( 0 ), - m_checkedItemsCheckModel( 0 ), - m_qmlCheckedItemsCheckModel( 0 ) - { - } - - Q_DECLARE_PUBLIC( KBreadcrumbNavigationFactory ) - KBreadcrumbNavigationFactory * const q_ptr; - - QItemSelectionModel *m_breadcrumbSelectionModel; - QItemSelectionModel *m_selectionModel; - QItemSelectionModel *m_childItemsSelectionModel; - - QAbstractItemModel *m_breadcrumbModel; - QAbstractItemModel *m_selectedItemModel; - QAbstractItemModel *m_unfilteredChildItemsModel; - QAbstractItemModel *m_childItemsModel; - int m_breadcrumbDepth; - KModelIndexProxyMapper *m_modelIndexProxyMapper; - - QItemSelectionModel *m_checkModel; - - QMLListSelectionModel *m_qmlBreadcrumbSelectionModel; - QMLListSelectionModel *m_qmlSelectedItemSelectionModel; - QMLListSelectionModel *m_qmlChildSelectionModel; - - QMLListSelectionModel *m_qmlBreadcrumbCheckModel; - QMLListSelectionModel *m_qmlSelectedItemCheckModel; - QMLListSelectionModel *m_qmlChildCheckModel; - - KSelectionProxyModel *m_checkedItemsModel; - QItemSelectionModel *m_checkedItemsCheckModel; - QMLListSelectionModel *m_qmlCheckedItemsCheckModel; -}; - - -KBreadcrumbNavigationFactory::KBreadcrumbNavigationFactory( QObject *parent ) - : QObject( parent ), - d_ptr( new KBreadcrumbNavigationFactoryPrivate( this ) ) -{ -} - -KBreadcrumbNavigationFactory::~KBreadcrumbNavigationFactory() -{ - delete d_ptr; -} - -void KBreadcrumbNavigationFactory::createCheckableBreadcrumbContext( QAbstractItemModel *model, QObject *parent ) -{ - Q_D( KBreadcrumbNavigationFactory ); - - d->m_checkModel = new QItemSelectionModel( model, parent ); - - QMLCheckableItemProxyModel *checkableProxy = new QMLCheckableItemProxyModel( parent ); - checkableProxy->setSourceModel( model ); - checkableProxy->setSelectionModel( d->m_checkModel ); - - KDescendantsProxyModel *descProxy = new KDescendantsProxyModel( parent ); - descProxy->setDisplayAncestorData( true ); - descProxy->setSourceModel( checkableProxy ); - - createBreadcrumbContext( checkableProxy, parent ); - - KLinkItemSelectionModel *breadcrumbLinkSelectionModel = new KLinkItemSelectionModel( d->m_breadcrumbModel, d->m_checkModel, parent ); - KLinkItemSelectionModel *childLinkSelectionModel = new KLinkItemSelectionModel( d->m_childItemsModel, d->m_checkModel, parent ); - KLinkItemSelectionModel *selectedItemLinkSelectionModel = new KLinkItemSelectionModel( d->m_selectedItemModel, d->m_checkModel, parent ); - - d->m_qmlBreadcrumbCheckModel = new QMLListSelectionModel( breadcrumbLinkSelectionModel, parent ); - d->m_qmlSelectedItemCheckModel = new QMLListSelectionModel( selectedItemLinkSelectionModel, parent ); - d->m_qmlChildCheckModel = new QMLListSelectionModel( childLinkSelectionModel, parent ); - - d->m_checkedItemsModel = new KSelectionProxyModel( d->m_checkModel, parent ); - d->m_checkedItemsModel->setFilterBehavior( KSelectionProxyModel::ExactSelection ); - d->m_checkedItemsModel->setSourceModel( descProxy ); - - d->m_checkedItemsCheckModel = new KLinkItemSelectionModel( d->m_checkedItemsModel, d->m_checkModel, parent ); - - d->m_qmlCheckedItemsCheckModel = new QMLListSelectionModel( d->m_checkedItemsCheckModel, parent ); -} - -void KBreadcrumbNavigationFactory::createBreadcrumbContext( QAbstractItemModel *model, QObject *parent ) -{ - Q_D(KBreadcrumbNavigationFactory); - - d->m_selectionModel = new QItemSelectionModel( model, parent ); - connect( d->m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SIGNAL(collectionSelectionChanged()) ); - - KSelectionProxyModel *currentCollectionSelectionModel = new KSelectionProxyModel( d->m_selectionModel, parent ); - currentCollectionSelectionModel->setFilterBehavior( KSelectionProxyModel::ExactSelection ); - currentCollectionSelectionModel->setSourceModel( model ); - d->m_selectedItemModel = currentCollectionSelectionModel; - - KBreadcrumbSelectionModel *breadcrumbCollectionSelection - = new KBreadcrumbSelectionModel( d->m_selectionModel, KBreadcrumbSelectionModel::MakeBreadcrumbSelectionInOther, parent ); - breadcrumbCollectionSelection->setActualSelectionIncluded( false ); - breadcrumbCollectionSelection->setBreadcrumbLength( d->m_breadcrumbDepth ); - - KBreadcrumbNavigationProxyModel *breadcrumbNavigationModel - = new KBreadcrumbNavigationProxyModel( breadcrumbCollectionSelection, parent ); - breadcrumbNavigationModel->setSourceModel( model ); - breadcrumbNavigationModel->setFilterBehavior( KSelectionProxyModel::ExactSelection ); - d->m_breadcrumbModel = getBreadcrumbNavigationModel( breadcrumbNavigationModel ); - - KLinkItemSelectionModel *proxyBreadcrumbCollectionSelection - = new KLinkItemSelectionModel( d->m_breadcrumbModel, d->m_selectionModel, parent ); - - d->m_breadcrumbSelectionModel = new KForwardingItemSelectionModel( d->m_breadcrumbModel, - proxyBreadcrumbCollectionSelection, - KForwardingItemSelectionModel::Reverse, - parent ); - - // Breadcrumbs done. (phew!) - - KForwardingItemSelectionModel *oneway = new KForwardingItemSelectionModel( model, d->m_selectionModel, parent ); - - KNavigatingProxyModel *navigatingProxyModel = new KNavigatingProxyModel( oneway, parent ); - navigatingProxyModel->setSourceModel( model ); - d->m_unfilteredChildItemsModel = navigatingProxyModel; - - d->m_childItemsModel = getChildItemsModel( d->m_unfilteredChildItemsModel ); - - d->m_childItemsSelectionModel = new KLinkItemSelectionModel( d->m_childItemsModel, d->m_selectionModel, parent ); - - d->m_modelIndexProxyMapper = new KModelIndexProxyMapper( model, d->m_childItemsModel, parent ); - - // Navigation stuff for QML: - - d->m_qmlBreadcrumbSelectionModel = new QMLListSelectionModel( d->m_breadcrumbSelectionModel, parent ); - d->m_qmlSelectedItemSelectionModel = new QMLListSelectionModel( d->m_selectionModel, parent ); - d->m_qmlChildSelectionModel = new QMLListSelectionModel( d->m_childItemsSelectionModel, parent ); - - connect( d->m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SIGNAL(selectedDisplayTextChanged()) ); -} - -QItemSelectionModel* KBreadcrumbNavigationFactory::selectionModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_selectionModel; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::selectedItemModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_selectedItemModel; -} - -int KBreadcrumbNavigationFactory::breadcrumbDepth() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_breadcrumbDepth; -} - -void KBreadcrumbNavigationFactory::setBreadcrumbDepth( int depth ) -{ - Q_D( KBreadcrumbNavigationFactory ); - d->m_breadcrumbDepth = depth; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::breadcrumbItemModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_breadcrumbModel; -} - -QItemSelectionModel* KBreadcrumbNavigationFactory::breadcrumbSelectionModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_breadcrumbSelectionModel; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::childItemModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_childItemsModel; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::unfilteredChildItemModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_unfilteredChildItemsModel; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::getBreadcrumbNavigationModel( QAbstractItemModel *model ) -{ - return model; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::getChildItemsModel( QAbstractItemModel *model ) -{ - return model; -} - -QItemSelectionModel* KBreadcrumbNavigationFactory::childSelectionModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_childItemsSelectionModel; -} - -void KBreadcrumbNavigationFactory::selectBreadcrumb( int row ) -{ - Q_D( KBreadcrumbNavigationFactory ); - - if ( row < 0 ) { - d->m_selectionModel->clearSelection(); - return; - } - - const QModelIndex index = d->m_breadcrumbModel->index( row, 0 ); - d->m_breadcrumbSelectionModel->select( QItemSelection( index, index ), QItemSelectionModel::Rows | QItemSelectionModel::ClearAndSelect ); -} - -void KBreadcrumbNavigationFactory::selectChild( int row ) -{ - Q_D( KBreadcrumbNavigationFactory ); - - if ( row < 0 ) { - d->m_selectionModel->clearSelection(); - return; - } - - const QModelIndex index = d->m_childItemsModel->index( row, 0 ); - d->m_childItemsSelectionModel->select( QItemSelection( index, index ), QItemSelectionModel::Rows | QItemSelectionModel::ClearAndSelect ); -} - -bool KBreadcrumbNavigationFactory::childCollectionHasChildren( int row ) const -{ - if ( row < 0 ) - return false; - - Q_D( const KBreadcrumbNavigationFactory ); - - static const int column = 0; - const QModelIndex index = d->m_modelIndexProxyMapper->mapRightToLeft( d->m_childItemsModel->index( row, column ) ); - if ( !index.isValid() ) - return false; - - return (index.model()->rowCount( index ) > 0); -} - -QObject* KBreadcrumbNavigationFactory::qmlBreadcrumbSelectionModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlBreadcrumbSelectionModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlBreadcrumbsModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_breadcrumbModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlChildItemsModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_childItemsModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlChildSelectionModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlChildSelectionModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlSelectedItemModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_selectedItemModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlSelectionModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlSelectedItemSelectionModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlBreadcrumbCheckModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlBreadcrumbCheckModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlChildCheckModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlChildCheckModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlSelectedItemCheckModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlSelectedItemCheckModel; -} - -QItemSelectionModel* KBreadcrumbNavigationFactory::checkedItemsCheckModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_checkedItemsCheckModel; -} - -QAbstractItemModel* KBreadcrumbNavigationFactory::checkedItemsModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_checkedItemsModel; -} - -QItemSelectionModel* KBreadcrumbNavigationFactory::checkModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_checkModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlCheckedItemsCheckModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_qmlCheckedItemsCheckModel; -} - -QObject* KBreadcrumbNavigationFactory::qmlCheckedItemsModel() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_checkedItemsModel; -} - -QString KBreadcrumbNavigationFactory::selectedDisplayText() const -{ - Q_D( const KBreadcrumbNavigationFactory ); - return d->m_selectedItemModel->index( 0, 0 ).data().toString(); -} - diff --git a/kdepim/mobile/lib/breadcrumbnavigationcontext.h b/kdepim/mobile/lib/breadcrumbnavigationcontext.h deleted file mode 100644 index 3ac50eb7..00000000 --- a/kdepim/mobile/lib/breadcrumbnavigationcontext.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef BREADCRUMBNAVIGATIONCONTEXT_H -#define BREADCRUMBNAVIGATIONCONTEXT_H - -#include - -#include "mobileui_export.h" - -class QAbstractItemModel; -class QDeclarativeContext; -class QItemSelectionModel; - -class KBreadcrumbNavigationFactoryPrivate; - -class MOBILEUI_EXPORT KBreadcrumbNavigationFactory : public QObject -{ - Q_OBJECT - Q_PROPERTY( QString selectedDisplayText READ selectedDisplayText NOTIFY selectedDisplayTextChanged ) - - public: - explicit KBreadcrumbNavigationFactory( QObject* parent = 0 ); - ~KBreadcrumbNavigationFactory(); - - void createBreadcrumbContext( QAbstractItemModel *model, QObject* parent = 0 ); - void createCheckableBreadcrumbContext( QAbstractItemModel *model, QObject* parent = 0 ); - - void setBreadcrumbDepth( int depth ); - int breadcrumbDepth() const; - - QItemSelectionModel *breadcrumbSelectionModel() const; - QItemSelectionModel *selectionModel() const; - QItemSelectionModel *childSelectionModel() const; - - QAbstractItemModel *breadcrumbItemModel() const; - QAbstractItemModel *selectedItemModel() const; - QAbstractItemModel *unfilteredChildItemModel() const; - QAbstractItemModel *childItemModel() const; - - QItemSelectionModel *checkModel() const; - QAbstractItemModel *checkedItemsModel() const; - QItemSelectionModel *checkedItemsCheckModel() const; - - QString selectedDisplayText() const; - - public Q_SLOTS: - QObject* qmlBreadcrumbSelectionModel() const; - QObject* qmlSelectionModel() const; - QObject* qmlChildSelectionModel() const; - - QObject* qmlBreadcrumbCheckModel() const; - QObject* qmlSelectedItemCheckModel() const; - QObject* qmlChildCheckModel() const; - QObject* qmlCheckedItemsModel() const; - QObject* qmlCheckedItemsCheckModel() const; - - QObject* qmlBreadcrumbsModel() const; - QObject* qmlSelectedItemModel() const; - QObject* qmlChildItemsModel() const; - - void selectBreadcrumb( int row ); - void selectChild( int row ); - - bool childCollectionHasChildren( int row ) const; - - Q_SIGNALS: - void selectedDisplayTextChanged(); - void collectionSelectionChanged(); - - protected: - virtual QAbstractItemModel* getBreadcrumbNavigationModel( QAbstractItemModel *model ); - virtual QAbstractItemModel* getChildItemsModel( QAbstractItemModel *model ); - - private: - Q_DECLARE_PRIVATE( KBreadcrumbNavigationFactory ) - KBreadcrumbNavigationFactoryPrivate * const d_ptr; -}; - -#endif diff --git a/kdepim/mobile/lib/calendar/CMakeLists.txt b/kdepim/mobile/lib/calendar/CMakeLists.txt deleted file mode 100644 index f23ec775..00000000 --- a/kdepim/mobile/lib/calendar/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -include_directories( - ${CMAKE_SOURCE_DIR}/incidenceeditor-ng - ${CMAKE_SOURCE_DIR}/calendarsupport - ${CMAKE_BINARY_DIR}/calendarsupport - ${CMAKE_SOURCE_DIR}/libkdepim/ - ${CMAKE_CURRENT_SOURCE_DIR}/.. - ${Boost_INCLUDE_DIR} -) - -set(mobileui_calendar_SRCS - calendarhelper.cpp - clockhelper.cpp - declarativeeditors.cpp - groupwareuidelegate.cpp - incidenceview.cpp - kcalitembrowseritem.cpp -) - -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) - -kde4_add_ui_files(mobileui_calendar_SRCS - ${CMAKE_SOURCE_DIR}/incidenceeditor-ng/dialogmobile.ui - ${CMAKE_SOURCE_DIR}/incidenceeditor-ng/dialogmoremobile.ui -) - -add_definitions( -DKDEPIMMOBILEUICALENDAR_STATIC_LIB ) -kde4_add_library(kdepimmobileuicalendar STATIC ${mobileui_calendar_SRCS}) - -target_link_libraries(kdepimmobileuicalendar - ${KDEPIMLIBS_AKONADI_LIBS} - ${KDEPIMLIBS_KCALCORE_LIBS} - akonadi-calendar - akonadi_next - incidenceeditorsngmobile - calendarsupport - kdepimmobileui - ${QT_QTDECLARATIVE_LIBRARY} -) - -install(FILES incidence-editor.qml DESTINATION ${DATA_INSTALL_DIR}/mobileui) -install(FILES - CalendarDialog.qml - ClockDialog.qml - MorePanel.qml - DESTINATION ${PLUGIN_INSTALL_DIR}/imports/org/kde/pim/mobileui) diff --git a/kdepim/mobile/lib/calendar/CalendarDialog.qml b/kdepim/mobile/lib/calendar/CalendarDialog.qml deleted file mode 100644 index 1e0e4c31..00000000 --- a/kdepim/mobile/lib/calendar/CalendarDialog.qml +++ /dev/null @@ -1,205 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - Copyright (C) 2010 Artur Duque de Souza - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - Copyright (C) 2010 Eduardo Madeira Fleury - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -Dialog { - id: calendarWidget - property alias okEnabled: calendarWidgetOk.enabled - property alias day: myCalendar.day - property alias month: myCalendar.month - property alias year: myCalendar.year - - signal dateChanged( int day, int month, int year ) - - content: [ - Item { - anchors.fill: parent - - KPIM.Calendar { - id: myCalendar - - anchors { - left: parent.left - top: parent.top - bottom: parent.bottom - } - - //why onDayChanged doesn't work here as onDaysInMothChanged do? - onDaySelected: { - // ### TODO: instead of calling function just set value - // was supposed to work - daySelector.setValue(myCalendar.day); - } - - onMonthChanged: { - // ### TODO: instead of calling function just set value - // was supposed to work - monthSelector.setValue(myCalendar.month); - } - - onYearChanged: { - // ### TODO: instead of calling function just set value - // was supposed to work - yearSelector.setValue(myCalendar.year); - } - - onDaysInMonthChanged: { - daySelector.setRange(daysInMonth) - } - } - - Column { - spacing: 5 - - anchors { - top: parent.top - left: myCalendar.right - right: parent.right - topMargin: 20 - } - - KPIM.VerticalSelector { - id: daySelector - height: 100 - model: myCalendar.daysInMonth - beginWith: 1 - - onValueChanged: { - // selector change -> update calendar - myCalendar.day = value; - calendarWidgetOk.enabled = true; - } - - onSelected: { - monthSelector.state = "unselected"; - yearSelector.state = "unselected"; - } - - Component.onCompleted: { - // ### TODO: instead of calling function just set value - // was supposed to work - daySelector.setValue(myCalendar.day); - } - } - - KPIM.VerticalSelector { - id: monthSelector - height: 100 - model: 12 - beginWith: 1 - - displayTexts: [ - "dummy", - KDE.i18n( "Jan" ), - KDE.i18n( "Feb" ), - KDE.i18n( "Mar" ), - KDE.i18n( "Apr" ), - KDE.i18n( "May" ), - KDE.i18n( "Jun" ), - KDE.i18n( "Jul" ), - KDE.i18n( "Aug" ), - KDE.i18n( "Sep" ), - KDE.i18n( "Oct" ), - KDE.i18n( "Nov" ), - KDE.i18n( "Dec" ) - ]; - - onValueChanged: { - // selector change -> update calendar - myCalendar.month = value; - calendarWidgetOk.enabled = true; - } - - onSelected: { - daySelector.state = "unselected"; - yearSelector.state = "unselected"; - } - - Component.onCompleted: { - // ### TODO: instead of calling function just set value - // was supposed to work - monthSelector.setValue(myCalendar.month); - } - } - - KPIM.VerticalSelector { - id: yearSelector - height: 100 - // high enough == 2050 :) - model: 51 - // value - 2000 because the index starts at '0' - beginWith: 2000 - - onValueChanged: { - myCalendar.year = value; - calendarWidgetOk.enabled = true; - } - - onSelected: { - daySelector.state = "unselected"; - monthSelector.state = "unselected"; - } - - Component.onCompleted: { - // ### TODO: instead of calling function just set value - // was supposed to work - yearSelector.setValue(myCalendar.year); - } - } - } - - Row { - spacing: 5 - - anchors{ - bottom: parent.bottom - right: parent.right - } - - KPIM.Button2 { - id: calendarkWidgetCancel - buttonText: KDE.i18n( "Cancel" ); - width: 130 - - onClicked: { - calendarWidget.collapse() - //### + reset widget - } - } - - KPIM.Button2 { - id: calendarWidgetOk - buttonText: KDE.i18n( "OK" ); - width: 130 - - onClicked: { - calendarWidget.collapse() - dateChanged( myCalendar.day, myCalendar.month, myCalendar.year ) - } - } - } - } - ] -} diff --git a/kdepim/mobile/lib/calendar/ClockDialog.qml b/kdepim/mobile/lib/calendar/ClockDialog.qml deleted file mode 100644 index 6869d2e8..00000000 --- a/kdepim/mobile/lib/calendar/ClockDialog.qml +++ /dev/null @@ -1,353 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - Copyright (C) 2010 Artur Duque de Souza - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - Copyright (c) 2010 Eduardo Madeira Fleury - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -Dialog { - id: clockWidget - - property alias okEnabled: clockWidgetOk.enabled - property alias hours: hourSelector.value - property alias minutes: minuteSelector.value - property bool blockSignalEmission: false - - signal timeChanged( int hour, int minute ) - - content: [ - Item { - anchors.fill: parent - - MouseArea { - anchors.fill: parent - onClicked: {} - } - - Item { - id: digitalClock - anchors.fill: parent - - Row { - anchors.centerIn: parent - - Text { - id: hourSelector - - property int value: 0 - - width: digitalClock.width/2.5 - text: value < 10 ? "0" + value : value - color: "#004bb8" - font.bold: true - font.pixelSize: 100 - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignVCenter - style: Text.Sunken - - MouseArea { - anchors.fill: parent - - onClicked: { - hoursTable.currentHour = hourSelector.value; - hoursTable.visible = true - } - } - } - - Text { - text: ":" - width: digitalClock.width - hourSelector.width - minuteSelector.width - color: "#004bb8" - font.bold: true - font.pixelSize: 100 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - style: Text.Sunken - } - - Text { - id: minuteSelector - - width: digitalClock.width/2.5 - text: value < 10 ? "0" + value : value - color: "#004bb8" - font.bold: true - font.pixelSize: 100 - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - style: Text.Sunken - - property int value: 0 - - MouseArea { - anchors.fill: parent - - onClicked: { - minutesTable.currentMinute = minuteSelector.value; - minutesTable.visible = true - } - } - } - } - } - - Row { - spacing: 5 - - anchors{ - bottom: parent.bottom - right: parent.right - } - - KPIM.Button2 { - id: clockWidgetCancel - buttonText: KDE.i18n( "Cancel" ); - width: 130 - - onClicked: { - clockWidget.collapse() - } - } - - KPIM.Button2 { - id: clockWidgetOk - buttonText: KDE.i18n( "OK" ); - width: 130 - - onClicked: { - clockWidget.collapse() - timeChanged(clockWidget.hours, clockWidget.minutes); - } - } - } - } - ] - - Rectangle { - id: hoursTable - - visible: false - - property int currentHour - - signal selectionFinished( int value ) - - Grid { - anchors.fill: parent - spacing: 3 - columns: 6 - rows: 4 - - Repeater { - model: 24 - - Image { - width: (hoursTable.width-(3*5))/6 - height: (hoursTable.height-(3*3))/4 - source: "images/normaldate.png" - - Image { - anchors.fill: parent - source: { - if ( hourText.text == hoursTable.currentHour ) { - return "images/activedate.png"; - } else { - return ""; - } - } - } - - Text { - id: hourText - anchors.centerIn: parent - color: "#5ba0d4" - font.bold: true - font.pixelSize: 26 - style: Text.Sunken - text: index - } - - MouseArea { - anchors.fill: parent - - onClicked: { - hoursTable.currentHour = index - hoursTable.selectionFinished( index ) - hoursTable.visible = false - } - } - } - } - } - - Behavior on visible { - - ParallelAnimation { - - PropertyAnimation { - target: hoursTable - property: "x" - from: mapFromItem(hourSelector, hourSelector.width/2, 0).x - to: 0 - duration: 200 - } - PropertyAnimation { - target: hoursTable - property: "y" - from: mapFromItem(hourSelector, 0, hourSelector.height/2).y - to: 0 - duration: 200 - } - PropertyAnimation { - target: hoursTable - property: "width" - from: 0 - to: clockWidget.width - duration: 200 - } - PropertyAnimation { - target: hoursTable - property: "height" - from: 0 - to: clockWidget.height - duration: 200 - } - } - } - } - - Connections { - target: hoursTable - onSelectionFinished: { - hourSelector.value = value - clockWidgetOk.enabled = true - } - } - - Rectangle { - id: minutesTable - visible: false - - property int currentMinute - property variant minutesOffset: [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]; - - signal selectionFinished( int value ) - - onCurrentMinuteChanged: { - // round input values to a multiple of 5 - currentMinute = (Math.round(currentMinute/5)*5 == 60) ? 0 : Math.round(currentMinute/5)*5 - } - - Grid { - anchors.fill: parent - spacing: 3 - columns: 4 - rows: 3 - - Repeater { - model: 12 - - Image { - width: (minutesTable.width-(3*3))/4 - height: (minutesTable.height-(3*2))/3 - source: "images/normaldate.png" - - Image { - anchors.fill: parent - - source: { - if ( minuteText.text == minutesTable.currentMinute ) { - return "images/activedate.png"; - } else { - return ""; - } - } - } - - Text { - id: minuteText - anchors.centerIn: parent - color: "#5ba0d4" - font.bold: true - font.pixelSize: 26 - style: Text.Sunken - text: minutesTable.minutesOffset[ index ] - } - - MouseArea { - anchors.fill: parent - - onClicked: { - minutesTable.currentMinute = minutesTable.minutesOffset[ index ] - minutesTable.selectionFinished( minutesTable.minutesOffset[ index ] ) - minutesTable.visible = false - } - } - } - } - } - - Behavior on visible { - - ParallelAnimation { - - PropertyAnimation { - target: minutesTable - property: "x" - from: mapFromItem(minuteSelector, minuteSelector.width/2, 0).x - to: 0 - duration: 200 - } - PropertyAnimation { - target: minutesTable; - property: "y" - from: mapFromItem(minuteSelector, 0, minuteSelector.height/2).y - to: 0 - duration: 200 - } - PropertyAnimation { - target: minutesTable - property: "width" - from: 0 - to: clockWidget.width - duration: 200 - } - PropertyAnimation { - target: minutesTable - property: "height" - from: 0 - to: clockWidget.height - duration: 200 - } - } - } - } - - Connections { - target: minutesTable - onSelectionFinished: { - minuteSelector.value = value - clockWidgetOk.enabled = true - } - } -} diff --git a/kdepim/mobile/lib/calendar/MorePanel.qml b/kdepim/mobile/lib/calendar/MorePanel.qml deleted file mode 100644 index 059381bb..00000000 --- a/kdepim/mobile/lib/calendar/MorePanel.qml +++ /dev/null @@ -1,94 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - Copyright (C) 2010 Artur Duque de Souza - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - Copyright (c) 2010 Eduardo Madeira Fleury - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.incidenceeditors 4.5 as IncidenceEditors - -SlideoutPanel { - titleText: KDE.i18n("More..."); - handlePosition: 250 - handleHeight: 120 - // TODO: Better icons for the buttons probably. - content: [ - Column { - id: buttonColumn - width: 64; - height: parent.height; - KPIM.Button { - id: btnGeneral - width: 64 - height: 64 - icon: KDE.iconPath( "accessories-text-editor", 64 ) - onClicked: { - moreEditors.currentIndex = 0 - } - } - KPIM.Button { - id: btnAttendees - width: 64 - height: 64 - icon: KDE.iconPath( "view-pim-contacts", 64 ) - onClicked: { - moreEditors.currentIndex = 1 - } - } - KPIM.Button { - id: btnReminder - width: 64 - height: 64 - icon: KDE.iconPath( "appointment-reminder", 64 ) - onClicked: { - moreEditors.currentIndex = 2 - } - } - KPIM.Button { - id: btnRecurrence - width: 64 - height: 64 - icon: KDE.iconPath( "appointment-recurring", 64 ) - onClicked: { - moreEditors.currentIndex = 3 - } - } - KPIM.Button { - id: btnAttachment - width: 64 - height: 64 - icon: KDE.iconPath( "mail-attachment", 64 ) - onClicked: { - moreEditors.currentIndex = 4 - } - } - }, - - IncidenceEditors.MoreEditor { - id : moreEditors - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.left: buttonColumn.right - anchors.right: parent.right - currentIndex : 0 - } - ] -} diff --git a/kdepim/mobile/lib/calendar/calendarhelper.cpp b/kdepim/mobile/lib/calendar/calendarhelper.cpp deleted file mode 100644 index ac4c655c..00000000 --- a/kdepim/mobile/lib/calendar/calendarhelper.cpp +++ /dev/null @@ -1,291 +0,0 @@ -/* - Copyright (C) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "calendarhelper.h" - -#define MAX_DAYS_ON_WIDGET 42 -#define MAX_WEEKS_ON_WIDGET 6 - -#include -#include - - -CalendarHelper::CalendarHelper( QObject *parent ) - : QObject( parent ) -{ - setDate(QDate::currentDate()); - connect( this, SIGNAL(monthChanged(int)), this, SLOT(updateDays()) ); - connect( this, SIGNAL(yearChanged(int)), this, SLOT(updateDays()) ); - connect( this, SIGNAL(monthChanged(int)), this, SLOT(updateWeeks()) ); - connect( this, SIGNAL(yearChanged(int)), this, SLOT(updateWeeks()) ); -} - -CalendarHelper::~CalendarHelper() -{ -} - -QDate CalendarHelper::date() const -{ - return m_original; -} - -void CalendarHelper::setDate( const QDate date ) -{ - m_original = date; - - m_day = date.day(); - emit dayChanged( m_day ); - - m_month = date.month(); - m_daysInMonth = m_original.daysInMonth(); - emit monthChanged( m_month ); - emit daysInMonthChanged( m_daysInMonth ); - - m_year = date.year(); - emit yearChanged( m_year ); - - updateOffsets(); -} - -void CalendarHelper::updateOffsets() -{ - // calculate the offsets for day and week - QDate firstDay = QDate(m_year, m_month, 1); - m_offset = firstDay.dayOfWeek(); - m_weekOffset = firstDay.weekNumber(); - -} - -int CalendarHelper::day() const -{ - return m_day; -} - -void CalendarHelper::setDay( const int day ) -{ - if ( m_day == day ) - return; - - QDate newDate(m_year, m_month, day); - if ( !newDate.isValid() ) - return; - - m_original = newDate; - m_day = day; - - updateOffsets(); - emit dayChanged( m_day ); -} - -QString CalendarHelper::monthName() const -{ - return QDate::longMonthName( m_month ); -} - -int CalendarHelper::month() const -{ - return m_month; -} - -void CalendarHelper::setMonth( const int month ) -{ - if ( m_month == month ) - return; - - QDate newDate(m_year, month, m_day); - if ( !newDate.isValid() ){ - return; - } - - m_original = newDate; - m_month = month; - updateOffsets(); - - m_daysInMonth = m_original.daysInMonth(); - - emit monthChanged( m_month ); - emit daysInMonthChanged( m_daysInMonth ); -} - -int CalendarHelper::daysInMonth() const -{ - return m_daysInMonth; -} - -int CalendarHelper::year() const -{ - return m_year; -} - -void CalendarHelper::setYear( const int year ) -{ - if ( m_year == year ) - return; - - QDate newDate( year, m_month, m_day ); - // we don't accept years BC (so no negative years) - if ( !newDate.isValid() || year <= 0 ) - return; - - m_original = newDate; - m_year = year; - - // Check if we changed from a Leap year to a common one (vice versa) - if ( m_month == 2 && m_daysInMonth != m_original.daysInMonth() ) { - m_daysInMonth = m_original.daysInMonth(); - emit daysInMonthChanged( m_daysInMonth ); - } - - updateOffsets(); - emit yearChanged( m_year ); -} - -QString CalendarHelper::dayForPosition( const int pos ) const -{ - int res = (pos - m_offset); - - // out of range - if ( pos < 1 || pos > MAX_DAYS_ON_WIDGET || res < 1 ) - return QString(); - - // if the position is the firsts days (0 to m_offset) - if ( pos < m_offset ) - return QString::number(pos); - - // the current day - if ( pos == m_offset ) { - const QString rpos = QString::number(pos); - return rpos; - } - - if ( res > m_daysInMonth ) { - return QString(); - } - - return QString::number( res ); -} - -int CalendarHelper::weekForPosition( const int pos ) const -{ - // out of range - if ( pos < 1 || pos > MAX_WEEKS_ON_WIDGET ) - return -1; - - // if the position is the first week - if ( pos == 1 ) - return m_weekOffset; - - // for all other weeks do the math - return pos + m_weekOffset - 1; -} - -bool CalendarHelper::isCurrentDay( const QString &text ) const -{ - return ( m_day == text.toInt() ); -} - -void CalendarHelper::registerItems( QObject *obj ) -{ - // we expect to receive the item that has all the days and weeks as children - for( int i = 0; i < obj->children().size(); ++i) { - // check for days and weeks - QObject *item = obj->children().at(i); - QVariant currentDay = item->property("currentDay"); - QVariant weekPos = item->property("weekPos"); - - // add to the list if we found each one - if ( currentDay.isValid() ) { - m_days << item; - } else if ( weekPos.isValid() ) { - m_weeks << item; - } - } -} - -void CalendarHelper::nextMonth() -{ - QDate date( m_year, m_month, m_day ); - date = date.addMonths( 1 ); - - setDate( date ); -} - -void CalendarHelper::previousMonth() -{ - QDate date( m_year, m_month, m_day ); - date = date.addMonths( -1 ); - - setDate( date ); -} - -void CalendarHelper::nextYear() -{ - QDate date( m_year, m_month, m_day ); - date = date.addYears( 1 ); - - setDate( date ); -} - -void CalendarHelper::previousYear() -{ - QDate date( m_year, m_month, m_day ); - date = date.addYears( -1 ); - - setDate( date ); -} - -void CalendarHelper::updateDays() -{ - QDate today = QDate::currentDate(); - bool disableCurrentDay = !( m_month == today.month() ); - - for( int i = 0; i < m_days.size(); ++i) { - QObject *item = m_days.at(i); - QVariant position = item->property( "dayPos" ); - - // invalid item - if ( !position.isValid() ) { - continue; - } - - if ( disableCurrentDay ) { - item->setProperty( "currentDay", -1 ); - } else { - item->setProperty( "currentDay", today.day() ); - } - - item->setProperty( "text", dayForPosition(position.toInt()) ); - } -} - -void CalendarHelper::updateWeeks() -{ - for( int i = 0; i < m_weeks.size(); ++i ) { - QObject *item = m_weeks.at( i ); - QVariant position = item->property( "weekPos" ); - - // invalid item - if ( !position.isValid() ) { - continue; - } - - item->setProperty( "text", weekForPosition(position.toInt()) ); - } -} - diff --git a/kdepim/mobile/lib/calendar/calendarhelper.h b/kdepim/mobile/lib/calendar/calendarhelper.h deleted file mode 100644 index 3e0c657f..00000000 --- a/kdepim/mobile/lib/calendar/calendarhelper.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - Copyright (C) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CALENDARHELPER_H -#define CALENDARHELPER_H - -#include -#include - - -class CalendarHelper : public QObject -{ - Q_OBJECT - Q_PROPERTY(int day READ day WRITE setDay NOTIFY dayChanged) - Q_PROPERTY(int daysInMonth READ daysInMonth NOTIFY daysInMonthChanged) - Q_PROPERTY(int month READ month WRITE setMonth NOTIFY monthChanged) - Q_PROPERTY(QString monthName READ monthName NOTIFY monthChanged) - Q_PROPERTY(int year READ year WRITE setYear NOTIFY yearChanged) - - public: - explicit CalendarHelper( QObject *parent = 0 ); - ~CalendarHelper(); - - QDate date() const; - void setDate( const QDate date ); - - void updateOffsets(); - - int day() const; - void setDay( const int day ); - - int month() const; - int daysInMonth() const; - QString monthName() const; - void setMonth( const int month ); - - int year() const; - void setYear( const int year ); - - Q_INVOKABLE QString dayForPosition( const int pos ) const; - Q_INVOKABLE int weekForPosition( const int pos ) const; - Q_INVOKABLE bool isCurrentDay( const QString &text ) const; - Q_INVOKABLE void registerItems( QObject *obj ); - - Q_INVOKABLE void nextMonth(); - Q_INVOKABLE void previousMonth(); - Q_INVOKABLE void nextYear(); - Q_INVOKABLE void previousYear(); - - protected slots: - void updateDays(); - void updateWeeks(); - - signals: - void dayChanged( int newDay ); - void daysInMonthChanged( int newDays ); - void monthChanged( int newMonth ); - void yearChanged( int newYear ); - - private: - QDate m_original; - QList m_days; - QList m_weeks; - int m_day; - int m_month; - int m_year; - int m_offset; - int m_weekOffset; - int m_daysInMonth; -}; - -#endif diff --git a/kdepim/mobile/lib/calendar/clockhelper.cpp b/kdepim/mobile/lib/calendar/clockhelper.cpp deleted file mode 100644 index bd8a4f10..00000000 --- a/kdepim/mobile/lib/calendar/clockhelper.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/* - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - Copyright (C) 2010 Artur Duque de Souza - Copyright (c) 2010 Eduardo Madeira Fleury - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - - -#include "clockhelper.h" - -#include -#include - -static const qreal Q_PI = qreal(3.14159265358979323846); // pi -static const qreal Q_2PI = qreal(6.28318530717958647693); // 2*pi - -static inline qreal normalize(qreal angle) -{ - return angle - 360 * qFloor(angle / 360); // qreal modulus 360 -} - -static inline qreal toRadians(qreal angle) -{ - return angle * Q_2PI / 360; -} - -static inline qreal fromRadians(qreal angle) -{ - return angle * 360 / Q_2PI; -} - - -ClockHelper::ClockHelper(QObject *parent) - : QObject(parent), m_origin(0, 0), m_position(0, 0), - m_angle(0), m_minutes(0), m_minutesAngle(0), m_hours(0), - m_hoursAngle(0), selected(ClockHelper::None) -{ - // init the clock with a sane value - QTime time = QTime::currentTime(); - setHour( time.hour() ); - setMinute( time.minute() ); -} - -ClockHelper::~ClockHelper() -{ -} - -/* - Calculate angle and radius based on current origin and position. -*/ -void ClockHelper::calculateAngle() -{ - const qreal projectionInX = m_position.x() - m_origin.x(); - const qreal projectionInY = m_position.y() - m_origin.y(); - const qreal oldAngle = m_angle; - - const qreal radius = sqrt(projectionInX * projectionInX + projectionInY * projectionInY); - - if (radius == 0) { - // Corner case - m_angle = 0; - } else if (projectionInX > 0) { - if (projectionInY >= 0) { - // First quadrant - m_angle = qAsin(projectionInY / radius); - } else { - // Fourth quadrant - m_angle = Q_2PI + qAsin(projectionInY / radius); - } - } else { - // Second and Third quadrants - m_angle = Q_PI - qAsin(projectionInY / radius); - } - - // +90 because we need to adjust the clock '0 degree' - m_angle = normalize(fromRadians(m_angle) + 90); - - if (oldAngle != m_angle) { - switch(selected) { - case ClockHelper::Hour: - setHour( m_angle/30 ); - break; - case ClockHelper::Minute: - setMinute( m_angle/6 ); - break; - case ClockHelper::None: - default: - break; - } - } -} - -qreal ClockHelper::originX() const -{ - return m_origin.x(); -} - -void ClockHelper::setOriginX(qreal x) -{ - if (x == m_origin.x()) - return; - - m_origin.setX(x); -} - -qreal ClockHelper::originY() const -{ - return m_origin.y(); -} - -void ClockHelper::setOriginY(qreal y) -{ - if (y == m_origin.y()) - return; - - m_origin.setY(y); -} - -void ClockHelper::setXY(qreal x, qreal y) -{ - if (selected == ClockHelper::None) - return; - - const bool xEqual = (x == m_position.x()); - const bool yEqual = (y == m_position.y()); - - if (xEqual && yEqual) - return; - - m_position.setX(x); - m_position.setY(y); - calculateAngle(); -} - -int ClockHelper::minutes() const -{ - return m_minutes; -} - -int ClockHelper::minutesAngle() const -{ - return m_minutesAngle; -} - -void ClockHelper::setMinute(int min) -{ - if (min == m_minutes) - return; - - m_minutes = min; - emit minutesChanged(min); - - // match our angle - min = normalize(min) * 6; - m_minutesAngle = min; - emit minutesAngleChanged(min); -} - -int ClockHelper::hours() const -{ - return m_hours; -} - -int ClockHelper::hoursAngle() const -{ - return m_hoursAngle; -} - -void ClockHelper::setHour(int hour) -{ - if (hour == m_hours) - return; - - m_hours = hour; - emit hoursChanged(); - - // math our angle - hour = normalize(hour) * 30; - m_hoursAngle = hour; - emit hoursAngleChanged(); -} - -void ClockHelper::selectMinute() -{ - selected = ClockHelper::Minute; -} - -void ClockHelper::selectHour() -{ - selected = ClockHelper::Hour; -} - -void ClockHelper::unselectAll() -{ - selected = ClockHelper::None; -} diff --git a/kdepim/mobile/lib/calendar/clockhelper.h b/kdepim/mobile/lib/calendar/clockhelper.h deleted file mode 100644 index a5662414..00000000 --- a/kdepim/mobile/lib/calendar/clockhelper.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - Copyright (C) 2010 Artur Duque de Souza - Copyright (c) 2010 Eduardo Madeira Fleury - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CLOCKHELPER_H -#define CLOCKHELPER_H - -#include -#include -#include -#include - -class ClockHelper : public QObject -{ - Q_OBJECT - - Q_PROPERTY(qreal originX READ originX WRITE setOriginX) - Q_PROPERTY(qreal originY READ originY WRITE setOriginY) - Q_PROPERTY(int minutes READ minutes WRITE setMinute NOTIFY minutesChanged) - Q_PROPERTY(int minutesAngle READ minutesAngle NOTIFY minutesAngleChanged) - Q_PROPERTY(int hours READ hours WRITE setHour NOTIFY hoursChanged) - Q_PROPERTY(int hoursAngle READ hoursAngle NOTIFY hoursAngleChanged) - -public: - explicit ClockHelper(QObject *parent = 0); - virtual ~ClockHelper(); - - qreal originX() const; - void setOriginX(qreal x); - - qreal originY() const; - void setOriginY(qreal x); - - Q_INVOKABLE void setXY(qreal x, qreal y); - Q_INVOKABLE void selectMinute(); - Q_INVOKABLE void selectHour(); - Q_INVOKABLE void unselectAll(); - - int minutes() const; - int minutesAngle() const; - void setMinute(int min); - - int hours() const; - int hoursAngle() const; - void setHour(int hour); - -Q_SIGNALS: - void minutesChanged(int); - void minutesAngleChanged(int); - void hoursChanged(); - void hoursAngleChanged(); - -private: - enum ClockPart { - None = 0, - Hour, - Minute - }; - - void calculateAngle(); - - QPointF m_origin; - QPointF m_position; - qreal m_angle; - int m_minutes; - int m_minutesAngle; - int m_hours; - int m_hoursAngle; - - ClockHelper::ClockPart selected; -}; - -QML_DECLARE_TYPE(ClockHelper) - -#endif // CLOCKHELPER_H diff --git a/kdepim/mobile/lib/calendar/declarativeeditors.cpp b/kdepim/mobile/lib/calendar/declarativeeditors.cpp deleted file mode 100644 index fcd70449..00000000 --- a/kdepim/mobile/lib/calendar/declarativeeditors.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "declarativeeditors.h" - -#include "ui_dialogmobile.h" -#include "ui_dialogmoremobile.h" - -#include - -DCollectionCombo::DCollectionCombo( QGraphicsItem *parent ) - : DeclarativeWidgetBase( parent ) -{ } - -MobileIncidenceGeneral::MobileIncidenceGeneral( QWidget *parent ) - : QWidget( parent ), mUi( new Ui::EventOrTodoDesktop ) -{ - mUi->setupUi( this ); -} - -MobileIncidenceGeneral::~MobileIncidenceGeneral() -{ - delete mUi; -} - -DIEGeneral::DIEGeneral( QGraphicsItem *parent ) - : DeclarativeWidgetBase( parent ) -{ - QTimer::singleShot( 0, this, SLOT(hack()) ); -} - -void DIEGeneral::hack() -{ - // For whatever reason, this is needed to make the widget resize correctly. If - // someone finds a nices way to make this actually work.... - // - // Without this hack the widget gets a width that is too large for the app. It - // doesn't seem to matter which size you pass here. - widget()->resize( QSize() ); -} - -MobileIncidenceMore::MobileIncidenceMore( QWidget *parent ) - : QStackedWidget( parent ), mUi( new Ui::EventOrTodoMore ) -{ - mUi->setupUi( this ); -} - -MobileIncidenceMore::~MobileIncidenceMore() -{ - delete mUi; -} - -DIEMore::DIEMore( QGraphicsItem *parent ) - : DeclarativeWidgetBase( parent ) -{ } - -int DIEMore::currentIndex() const -{ - return widget()->currentIndex(); -} - -void DIEMore::setCurrentIndex( int index ) -{ - widget()->setCurrentIndex( index ); -} - diff --git a/kdepim/mobile/lib/calendar/declarativeeditors.h b/kdepim/mobile/lib/calendar/declarativeeditors.h deleted file mode 100644 index 5a338665..00000000 --- a/kdepim/mobile/lib/calendar/declarativeeditors.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef DECLARATIVEEDITORS_H -#define DECLARATIVEEDITORS_H - -#include "declarativewidgetbase.h" -#include "incidenceview.h" - -#include - -#include - -namespace Ui -{ - class EventOrTodoDesktop; - class EventOrTodoMore; -} - -/// DIE == DeclarativeIncidenceEditor - -class DCollectionCombo - : public DeclarativeWidgetBase -{ - Q_OBJECT - public: - explicit DCollectionCombo( QGraphicsItem *parent = 0 ); -}; - -class MobileIncidenceGeneral : public QWidget -{ - Q_OBJECT - public: - explicit MobileIncidenceGeneral( QWidget *parent = 0 ); - - ~MobileIncidenceGeneral(); - - public: - Ui::EventOrTodoDesktop *mUi; -}; - -class DIEGeneral - : public DeclarativeWidgetBase -{ - Q_OBJECT - public: - explicit DIEGeneral( QGraphicsItem *parent = 0 ); - - private Q_SLOTS: - void hack(); -}; - -class MobileIncidenceMore : public QStackedWidget -{ - Q_OBJECT - public: - explicit MobileIncidenceMore( QWidget *parent = 0 ); - - ~MobileIncidenceMore(); - - public: - Ui::EventOrTodoMore *mUi; -}; - -class DIEMore - : public DeclarativeWidgetBase -{ - Q_OBJECT - - Q_PROPERTY( int currentIndex READ currentIndex WRITE setCurrentIndex ) - - public: - explicit DIEMore( QGraphicsItem *parent = 0 ); - - int currentIndex() const; - - public Q_SLOTS: - void setCurrentIndex( int index ); -}; - -#endif diff --git a/kdepim/mobile/lib/calendar/groupwareuidelegate.cpp b/kdepim/mobile/lib/calendar/groupwareuidelegate.cpp deleted file mode 100644 index 28e4811a..00000000 --- a/kdepim/mobile/lib/calendar/groupwareuidelegate.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2011 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "groupwareuidelegate.h" - -#include "incidenceview.h" - -#include -#include -#include -#include -#include -#include -#include - -GroupwareUiDelegate::GroupwareUiDelegate() -{ -} - -void GroupwareUiDelegate::setCalendar( const Akonadi::ETMCalendar::Ptr &calendar ) -{ - mCalendar = calendar; -} - -void GroupwareUiDelegate::createCalendar() -{ - QStringList mimeTypes; - mimeTypes << KCalCore::Event::eventMimeType() << KCalCore::Todo::todoMimeType(); - mCalendar = Akonadi::ETMCalendar::Ptr( new Akonadi::ETMCalendar( mimeTypes ) ); - mCalendar->setObjectName( QLatin1String("Groupware calendar") ); - mCalendar->setOwner( KCalCore::Person::Ptr( new KCalCore::Person( CalendarSupport::KCalPrefs::instance()->fullName(), - CalendarSupport::KCalPrefs::instance()->email() ) ) ); -} - -void GroupwareUiDelegate::requestIncidenceEditor( const Akonadi::Item &item ) -{ - const KCalCore::Incidence::Ptr incidence = CalendarSupport::incidence( item ); - if ( !incidence ) { - kWarning() << "Incidence is null, won't open the editor"; - return; - } - - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Calendar" ) ); - editor->load( item, QDate::currentDate() ); - - editor->setIsCounterProposal( true ); - editor->show(); -} diff --git a/kdepim/mobile/lib/calendar/groupwareuidelegate.h b/kdepim/mobile/lib/calendar/groupwareuidelegate.h deleted file mode 100644 index 22ddd50b..00000000 --- a/kdepim/mobile/lib/calendar/groupwareuidelegate.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2011 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef GROUPWAREUIDELEGATE_H -#define GROUPWAREUIDELEGATE_H - -#include "mobileuicalendar_export.h" - -#include -#include -#include - -class MOBILEUICALENDAR_EXPORT GroupwareUiDelegate : public QObject, public Akonadi::GroupwareUiDelegate -{ - public: - GroupwareUiDelegate(); - - void setCalendar( const Akonadi::ETMCalendar::Ptr &calendar ); - void createCalendar(); - - void requestIncidenceEditor( const Akonadi::Item &item ); - - private: - Akonadi::ETMCalendar::Ptr mCalendar; -}; - -#endif diff --git a/kdepim/mobile/lib/calendar/incidence-editor.qml b/kdepim/mobile/lib/calendar/incidence-editor.qml deleted file mode 100644 index 7c0834b1..00000000 --- a/kdepim/mobile/lib/calendar/incidence-editor.qml +++ /dev/null @@ -1,130 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - Copyright (C) 2010 Artur Duque de Souza - Copyright (C) 2010 Anselmo Lacerda Silveira de Melo - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.incidenceeditors 4.5 as IncidenceEditors -import org.kde.plasma.extras 0.1 as PlasmaExtras - -KPIM.MainView { - id: mainview - - Connections { - target: _incidenceview - onShowCalendarWidget: { - calendarWidget.expand() - calendarWidget.okEnabled = false - - calendarWidget.day = day; - calendarWidget.month = month; - calendarWidget.year = year; - } - } - - Connections { - target: _incidenceview - onShowClockWidget: { - clockWidget.expand() - clockWidget.okEnabled = false - - // set the initial values - clockWidget.hours = hour; - clockWidget.minutes = minute; - } - } - - Connections { - target: clockWidget - onTimeChanged: { - _incidenceview.setNewTime( hour, minute ); - } - } - - Connections { - target: calendarWidget - onDateChanged: { - _incidenceview.setNewDate( day, month, year ); - } - } - - KPIM.MorePanel { - anchors.fill: parent - } - - KPIM.CalendarDialog { - id: calendarWidget - anchors.fill: parent - } - - KPIM.ClockDialog { - id: clockWidget - anchors.fill: parent - } - - PlasmaExtras.ScrollArea { - anchors.top: parent.top - anchors.bottom: collectionCombo.top - anchors.left: parent.left - anchors.right: parent.right - - anchors.topMargin: 40 - anchors.leftMargin: 40; - - flickableItem: Flickable { - contentHeight: generalEditor.height; - - IncidenceEditors.GeneralEditor { - id: generalEditor - anchors.fill: parent - } - } - } - - IncidenceEditors.CollectionCombo { - id: collectionCombo - anchors.bottom: parent.bottom; - anchors.right: cancelButton.left; - anchors.left: parent.left; - - height: parent.height / 6; - } - - KPIM.Button2 { - id: cancelButton - anchors.bottom: parent.bottom; - anchors.right: okButton.left; - width: height * 1.5; - height: collectionCombo.height - icon: KDE.iconPath( "dialog-cancel", 64 ); - onClicked: window.cancel(); - } - - KPIM.Button2 { - id: okButton; - anchors.bottom: parent.bottom; - anchors.right: parent.right; - width: height * 1.5; - height: collectionCombo.height - icon: KDE.iconPath( "document-save", 64 ); - onClicked: window.save(); - } -} diff --git a/kdepim/mobile/lib/calendar/incidenceview.cpp b/kdepim/mobile/lib/calendar/incidenceview.cpp deleted file mode 100644 index e6af6c4d..00000000 --- a/kdepim/mobile/lib/calendar/incidenceview.cpp +++ /dev/null @@ -1,380 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "incidenceview.h" -#include "calendarhelper.h" -#include "clockhelper.h" - -#include "ui_dialogmobile.h" - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include "declarativeeditors.h" - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -using namespace Akonadi; -using namespace IncidenceEditorNG; -using namespace KCalCore; -using namespace CalendarSupport; - -IncidenceView::IncidenceView( QWidget* parent ) - : KDeclarativeFullScreenView( QLatin1String( "incidence-editor" ), parent ) - , mItemManager( new EditorItemManager( this ) ) - , mCollectionCombo( 0 ) - , mEditor( new CombinedIncidenceEditor( parent ) ) - , mEditorDateTime( 0 ) - , mIncidenceMore( 0 ) - , mIncidenceGeneral( 0 ) - , mDateWidget( 0 ) - , mTimeWidget( 0 ) - , mIncidenceAttendee( 0 ) -{ - setAttribute(Qt::WA_DeleteOnClose); - QDeclarativeContext *context = engine()->rootContext(); - context->setContextProperty( QLatin1String("_incidenceview"), this ); -} - -void IncidenceView::doDelayedInit() -{ - qmlRegisterType( "org.kde.incidenceeditors", 4, 5, "CollectionCombo" ); - qmlRegisterType( "org.kde.incidenceeditors", 4, 5, "GeneralEditor" ); - qmlRegisterType( "org.kde.incidenceeditors", 4, 5, "MoreEditor" ); - qmlRegisterType( "CalendarHelper", 4, 5, "CalendarHelper" ); - qmlRegisterType( "ClockHelper", 4, 5, "ClockHelper" ); - - connect( mItemManager, SIGNAL(itemSaveFinished(IncidenceEditorNG::EditorItemManager::SaveAction)), - SLOT(slotSaveFinished(IncidenceEditorNG::EditorItemManager::SaveAction)) ); - connect( mItemManager, SIGNAL(itemSaveFailed(IncidenceEditorNG::EditorItemManager::SaveAction,QString)), - SLOT(slotSaveFailed(IncidenceEditorNG::EditorItemManager::SaveAction,QString)) ); -} - -IncidenceView::~IncidenceView() -{ - delete mEditor; -} - -void IncidenceView::load( const Akonadi::Item &item, const QDate &date ) -{ - Q_ASSERT( item.hasPayload() ); // TODO: Fetch payload if there is no payload set. - - mItem = item; - mItemManager->load( mItem ); - mActiveDate = date; - - if ( mCollectionCombo ) - mCollectionCombo->setDefaultCollection( mItem.parentCollection() ); -} - -void IncidenceView::setCollectionCombo( Akonadi::CollectionComboBox *combo ) -{ - mCollectionCombo = combo; - const KCalCore::Incidence::Ptr incidence = CalendarSupport::incidence( mItem ); - mCollectionCombo->setMimeTypeFilter( QStringList() << incidence->mimeType() ); - mCollectionCombo->setAccessRightsFilter( Collection::CanCreateItem ); - - if ( mDefaultCollection.isValid() ) - mCollectionCombo->setDefaultCollection( mDefaultCollection ); - else - mCollectionCombo->setDefaultCollection( mItem.parentCollection() ); -} - -void IncidenceView::setGeneralEditor( MobileIncidenceGeneral *editorWidget ) -{ - mIncidenceGeneral = editorWidget; - - Q_ASSERT( mItem.hasPayload() ); - Incidence::Ptr incidencePtr = CalendarSupport::incidence( mItem ); - - IncidenceEditorNG::IncidenceEditor *editor = new IncidenceEditorNG::IncidenceWhatWhere( editorWidget->mUi ); - mEditor->combine( editor ); - - Q_ASSERT( mEditorDateTime == 0 ); - mEditorDateTime = new IncidenceEditorNG::IncidenceDateTime( editorWidget->mUi ); - mEditorDateTime->setActiveDate( mActiveDate ); - connect( mEditorDateTime, SIGNAL(startDateFocus(QObject*)), this, SLOT(showCalendar(QObject*)) ); - connect( mEditorDateTime, SIGNAL(endDateFocus(QObject*)), this, SLOT(showCalendar(QObject*)) ); - connect( mEditorDateTime, SIGNAL(startTimeFocus(QObject*)), this, SLOT(showClock(QObject*)) ); - connect( mEditorDateTime, SIGNAL(endTimeFocus(QObject*)), this, SLOT(showClock(QObject*)) ); - mEditor->combine( mEditorDateTime ); - - editor = new IncidenceEditorNG::IncidenceCompletionPriority( editorWidget->mUi ); - mEditor->combine( editor ); - mEditor->load( incidencePtr ); - - const QStringList allEmails = IncidenceEditorNG::EditorConfig::instance()->allEmails(); - const KCalCore::Attendee::Ptr me = incidencePtr->attendeeByMails( allEmails ); - - if ( incidencePtr->attendeeCount() > 1 && - me && ( me->status() == KCalCore::Attendee::NeedsAction || - me->status() == KCalCore::Attendee::Tentative || - me->status() == KCalCore::Attendee::InProcess ) ) { - editorWidget->mUi->mInvitationBar->show(); - } else { - editorWidget->mUi->mInvitationBar->hide(); - } - - if ( mIncidenceMore != 0 ) { // IncidenceMore was set *before* general. - initIncidenceMore(); - - connect( editorWidget->mUi->mAcceptInvitationButton, SIGNAL(clicked()), - mIncidenceAttendee, SLOT(acceptForMe()), Qt::UniqueConnection ); - connect( editorWidget->mUi->mDeclineInvitationButton, SIGNAL(clicked()), - mIncidenceAttendee, SLOT(declineForMe()), Qt::UniqueConnection ); - } - - connect( editorWidget->mUi->mAcceptInvitationButton, SIGNAL(clicked()), - editorWidget->mUi->mInvitationBar, SLOT(hide()) ); - connect( editorWidget->mUi->mDeclineInvitationButton, SIGNAL(clicked()), - editorWidget->mUi->mInvitationBar, SLOT(hide()) ); -} - -void IncidenceView::showCalendar( QObject *obj ) -{ - /*### Workaround to force focus out, so - the dialog doesn't reopen incorrectly */ - mIncidenceMore->setFocus(); - - mDateWidget = qobject_cast( obj ); - if ( !mDateWidget ) - return; - - QDate date = mDateWidget->date(); - emit showCalendarWidget( date.day(), date.month(), date.year() ); -} - -void IncidenceView::setNewDate( int day, int month, int year ) -{ - if ( mDateWidget == 0 ) - return; - - mDateWidget->setDate( QDate( year, month, day ) ); -} - -void IncidenceView::showClock( QObject *obj ) -{ - /*### Workaround to force focus out, so - the dialog doesn't reopen incorrectly */ - mIncidenceMore->setFocus(); - mTimeWidget = qobject_cast( obj ); - if ( !mTimeWidget ) - return; - - QTime time = mTimeWidget->time(); - emit showClockWidget( time.hour(), time.minute() ); -} - -void IncidenceView::setNewTime( int hour, int minute ) -{ - if ( mTimeWidget == 0 ) - return; - - mTimeWidget->setTime( QTime( hour, minute ) ); -} - -void IncidenceView::initIncidenceMore() -{ - Q_ASSERT( mItem.hasPayload() ); - const Incidence::Ptr incidencePtr = CalendarSupport::incidence( mItem ); - - IncidenceEditorNG::IncidenceEditor *editor = new IncidenceEditorNG::IncidenceCategories( mIncidenceMore->mUi ); - mEditor->combine( editor ); - - editor = new IncidenceEditorNG::IncidenceDescription( mIncidenceMore->mUi ); - mEditor->combine( editor ); - - mIncidenceAttendee = new IncidenceEditorNG::IncidenceAttendee( 0, mEditorDateTime, mIncidenceMore->mUi ); - mEditor->combine( mIncidenceAttendee ); - - editor = new IncidenceEditorNG::IncidenceAlarm( mEditorDateTime, mIncidenceMore->mUi ); - mEditor->combine( editor ); - - Q_ASSERT( mEditorDateTime != 0 ); - editor = new IncidenceEditorNG::IncidenceRecurrence( mEditorDateTime, mIncidenceMore->mUi ); - mEditor->combine( editor ); - - editor = new IncidenceEditorNG::IncidenceSecrecy( mIncidenceMore->mUi ); - mEditor->combine( editor ); - - editor = new IncidenceEditorNG::IncidenceAttachment( mIncidenceMore->mUi ); - mEditor->combine( editor ); - mEditor->load( incidencePtr ); -} - -void IncidenceView::setMoreEditor( MobileIncidenceMore *editorWidget ) -{ - mIncidenceMore = editorWidget; - - if ( mEditorDateTime != 0 ) // IncidenceGeneral was not set yet. - initIncidenceMore(); - - if ( mIncidenceGeneral ) { - connect( mIncidenceGeneral->mUi->mAcceptInvitationButton, SIGNAL(clicked()), - mIncidenceAttendee, SLOT(acceptForMe()), Qt::UniqueConnection ); - connect( mIncidenceGeneral->mUi->mDeclineInvitationButton, SIGNAL(clicked()), - mIncidenceAttendee, SLOT(declineForMe()), Qt::UniqueConnection ); - } -} - -void IncidenceView::setDefaultCollection( const Akonadi::Collection &collection ) -{ - mDefaultCollection = collection; -} - -void IncidenceView::setIsCounterProposal( bool isCounterProposal ) -{ - mItemManager->setIsCounterProposal( isCounterProposal ); - //TODO_SERGIO - //mInvitationDispatcher->setIsCounterProposal( isCounterProposal ); -} - -/// ItemEditorUi methods - -bool IncidenceView::containsPayloadIdentifiers( const QSet &partIdentifiers ) const -{ - return partIdentifiers.contains( QByteArray( "PLD:RFC822" ) ); -} - -bool IncidenceView::hasSupportedPayload( const Akonadi::Item &item ) const -{ - return item.hasPayload() && item.hasPayload() - && ( item.hasPayload() || item.hasPayload() ); -} - -bool IncidenceView::isDirty() const -{ - return mEditor->isDirty(); -} - -bool IncidenceView::isValid() const -{ - return mEditor->isValid(); -} - -void IncidenceView::load( const Akonadi::Item &item ) -{ - Q_ASSERT( hasSupportedPayload( item ) ); - - mItem = item; - mEditor->load( CalendarSupport::incidence( item ) ); -} - -Akonadi::Item IncidenceView::save( const Akonadi::Item &item ) -{ - if ( !hasSupportedPayload( mItem ) ) { - kWarning() << "Item id=" << mItem.id() << "remoteId=" << mItem.remoteId() - << "mime=" << mItem.mimeType() << "does not have a supported MIME type"; - return item; - } - - KCalCore::Incidence::Ptr incidenceInEditor = mEditor->incidence(); - KCalCore::Incidence::Ptr incidence( incidenceInEditor->clone() ); - - mEditor->save( incidence ); - - // Mark the incidence as changed - if ( mItem.isValid() ) - incidence->setRevision( incidence->revision() + 1 ); - - Akonadi::Item result = item; - result.setPayload( incidence ); - result.setMimeType( mItem.mimeType() ); - return result; -} - -Akonadi::Collection IncidenceView::selectedCollection() const -{ - return mCollectionCombo->currentCollection(); -} - -void IncidenceView::reject( RejectReason /*reason*/, const QString &errorMessage ) -{ - kDebug() << "Rejecting:" << errorMessage; - deleteLater(); -} - -/// IncidenceView slots - -void IncidenceView::save() -{ - mEditor->focusInvalidField(); - if ( mEditor->isValid() ) { - if ( mCollectionCombo->currentCollection().isValid() ) { - mItemManager->save(); - } else { - KMessageBox::sorry( this, i18n( "Please select an account" ) ); - kDebug() << "No collection selected"; - } - } else { - kDebug() << "Editor content isn't valid because: " << mEditor->lastErrorString(); - } -} - -void IncidenceView::slotSaveFinished( IncidenceEditorNG::EditorItemManager::SaveAction action ) -{ - Q_UNUSED( action ); - deleteLater(); -} - -void IncidenceView::slotSaveFailed( IncidenceEditorNG::EditorItemManager::SaveAction action, - const QString &message ) -{ - Q_UNUSED( action ); - - QPointer dlg = new QMessageBox; //krazy:exclude=qclasses - dlg->setIcon( QMessageBox::Warning ); - dlg->setWindowTitle( i18n( "Saving the event failed." ) ); - dlg->setInformativeText( i18n( "Reason:\n\n" ) + message ); - dlg->addButton( i18n( "OK" ), QMessageBox::AcceptRole ); - dlg->exec(); - delete dlg; -} - -void IncidenceView::cancel() -{ - deleteLater(); -} - diff --git a/kdepim/mobile/lib/calendar/incidenceview.h b/kdepim/mobile/lib/calendar/incidenceview.h deleted file mode 100644 index 6626c6c6..00000000 --- a/kdepim/mobile/lib/calendar/incidenceview.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef INCIDENCEVIEW_H -#define INCIDENCEVIEW_H - -#include -#include -#include - -#include -#include - -#include "kdeclarativefullscreenview.h" - -class KDateComboBox; -class KJob; -class KTimeComboBox; -class QTimeEdit; -class QDateEdit; - -namespace Akonadi { -class CollectionComboBox; -} - -namespace IncidenceEditorNG { -class IncidenceAttendee; -class IncidenceDateTime; -} - -class MobileIncidenceGeneral; -class MobileIncidenceMore; - -class IncidenceView : public KDeclarativeFullScreenView, public IncidenceEditorNG::ItemEditorUi -{ - Q_OBJECT - public: - explicit IncidenceView( QWidget* parent = 0 ); - ~IncidenceView(); - - void load( const Akonadi::Item &item, const QDate &date ); - - void setCollectionCombo( Akonadi::CollectionComboBox * ); - void setGeneralEditor( MobileIncidenceGeneral * ); - void setMoreEditor( MobileIncidenceMore * ); - - void setDefaultCollection( const Akonadi::Collection &collection ); - void setIsCounterProposal( bool isCounterProposal ); - - public: /// ItemEditorUi function implementations - virtual bool containsPayloadIdentifiers( const QSet &partIdentifiers ) const; - virtual bool hasSupportedPayload( const Akonadi::Item &item ) const; - virtual bool isDirty() const; - virtual bool isValid() const; - virtual void load( const Akonadi::Item &item ); - virtual Akonadi::Item save( const Akonadi::Item &item ); - virtual Akonadi::Collection selectedCollection() const; - virtual void reject( RejectReason reason, const QString &errorMessage = QString() ); - - signals: - void showCalendarWidget( int day, int month, int year ); - void showClockWidget( int hour, int minute ); - - public slots: - void save(); /// Ok clicked in the user interface - void cancel(); /// Cancel clicked in the user interface - void showCalendar( QObject *obj ); - void setNewDate( int day, int month, int year ); - void showClock( QObject *obj ); - void setNewTime( int hour, int minute ); - - private slots: - void slotSaveFinished( IncidenceEditorNG::EditorItemManager::SaveAction action ); - void slotSaveFailed( IncidenceEditorNG::EditorItemManager::SaveAction action, - const QString &message ); - - private: - void doDelayedInit(); - void initIncidenceMore(); - - private: - QDate mActiveDate; - Akonadi::Item mItem; - IncidenceEditorNG::EditorItemManager *mItemManager; - Akonadi::CollectionComboBox *mCollectionCombo; - Akonadi::Collection mDefaultCollection; - IncidenceEditorNG::CombinedIncidenceEditor *mEditor; - IncidenceEditorNG::IncidenceDateTime *mEditorDateTime; - - /// We need this because we can't rely on the order in which those two are added. - MobileIncidenceMore *mIncidenceMore; - MobileIncidenceGeneral *mIncidenceGeneral; - - KDateComboBox *mDateWidget; - KTimeComboBox *mTimeWidget; - IncidenceEditorNG::IncidenceAttendee *mIncidenceAttendee; -}; - -#endif // INCIDENCEVIEW_H diff --git a/kdepim/mobile/lib/calendar/kcalitembrowseritem.cpp b/kdepim/mobile/lib/calendar/kcalitembrowseritem.cpp deleted file mode 100644 index c19d5a8c..00000000 --- a/kdepim/mobile/lib/calendar/kcalitembrowseritem.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "kcalitembrowseritem.h" - -#include - -using namespace CalendarSupport; -using namespace CalendarSupport::KCal; - -ExtendedIncidenceViewer::ExtendedIncidenceViewer( const Akonadi::ETMCalendar::Ptr &calendar, QWidget *parent ) - : IncidenceViewer( calendar.data(), parent ) -{ -} - -void ExtendedIncidenceViewer::itemRemoved() -{ - emit incidenceRemoved(); -} - - -KCalItemBrowserItem::KCalItemBrowserItem(QDeclarativeItem* parent) : DeclarativeAkonadiItem(parent) -{ - m_viewer = new ExtendedIncidenceViewer( Akonadi::ETMCalendar::Ptr() ); - connect( m_viewer, SIGNAL(incidenceRemoved()), SIGNAL(incidenceRemoved()) ); - - setWidget( m_viewer ); -} - -KCalItemBrowserItem::~KCalItemBrowserItem() -{ - delete m_viewer; -} - -Akonadi::Item KCalItemBrowserItem::item() const -{ - return m_viewer->item(); -} - -qint64 KCalItemBrowserItem::itemId() const -{ - return m_viewer->item().id(); -} - -void KCalItemBrowserItem::setItemId(qint64 id) -{ - m_viewer->setItem( Akonadi::Item( id ) ); - emit attachmentModelChanged(); -} - -QDate KCalItemBrowserItem::activeDate() const -{ - return m_viewer->activeDate(); -} - -void KCalItemBrowserItem::setActiveDate( const QDate &date ) -{ - m_viewer->setIncidence( m_viewer->item(), date ); -} - -QObject* KCalItemBrowserItem::attachmentModel() const -{ - return m_viewer->attachmentModel(); -} - diff --git a/kdepim/mobile/lib/calendar/kcalitembrowseritem.h b/kdepim/mobile/lib/calendar/kcalitembrowseritem.h deleted file mode 100644 index 1729737c..00000000 --- a/kdepim/mobile/lib/calendar/kcalitembrowseritem.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef KCALITEMBROWSERITEM_H -#define KCALITEMBROWSERITEM_H - -#include "declarativeakonadiitem.h" - -#include -#include -#include - -namespace CalendarSupport { - -class Item; - -namespace KCal { - -/** - * @short A wrapper class to make the 'removed' signal available. - */ -class ExtendedIncidenceViewer : public IncidenceViewer -{ - Q_OBJECT - - public: - explicit ExtendedIncidenceViewer( const Akonadi::ETMCalendar::Ptr &calendar, QWidget *parent = 0 ); - - Q_SIGNALS: - void incidenceRemoved(); - - private: - virtual void itemRemoved(); -}; - -class KCalItemBrowserItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - Q_PROPERTY( QObject* attachmentModel READ attachmentModel NOTIFY attachmentModelChanged ) - Q_PROPERTY( QDate activeDate WRITE setActiveDate READ activeDate ) - public: - explicit KCalItemBrowserItem( QDeclarativeItem *parent = 0 ); - virtual ~KCalItemBrowserItem(); - - virtual Akonadi::Item item() const; - virtual qint64 itemId() const; - virtual void setItemId(qint64 id); - - /** - * Sets the active date for the incidence. The active date is used for - * incideces that have recurrence. - */ - QDate activeDate() const; - void setActiveDate( const QDate &date ); - - QObject *attachmentModel() const; - - Q_SIGNALS: - void attachmentModelChanged(); - void incidenceRemoved(); - - private: - ExtendedIncidenceViewer *m_viewer; -}; - -} -} - -#endif /* KCALITEMBROWSERITEM_H */ diff --git a/kdepim/mobile/lib/calendar/mobileuicalendar_export.h b/kdepim/mobile/lib/calendar/mobileuicalendar_export.h deleted file mode 100644 index b9b8224f..00000000 --- a/kdepim/mobile/lib/calendar/mobileuicalendar_export.h +++ /dev/null @@ -1,39 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2007 David Faure - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -#ifndef MOBILEUICALENDAR_EXPORT_H -#define MOBILEUICALENDAR_EXPORT_H - -/* needed for KDE_EXPORT and KDE_IMPORT macros */ -#include -#define MOBILEUICALENDAR_EXPORT - -#ifndef MOBILEUICALENDAR_EXPORT -# if defined(KDEPIM_STATIC_LIBS) || defined(KDEPIMMOBILEUICALENDAR_STATIC_LIB) - /* No export/import for static libraries */ -# define MOBILEUICALENDAR_EXPORT -# elif defined(MAKE_KDEPIMMOBILEUICALENDAR_LIB) - /* We are building this library */ -# define MOBILEUICALENDAR_EXPORT KDE_EXPORT -# else - /* We are using this library */ -# define MOBILEUICALENDAR_EXPORT KDE_IMPORT -# endif -#endif - -#endif // MOBILEUICALENDAR_EXPORT_H diff --git a/kdepim/mobile/lib/collectionfetchwatcher.cpp b/kdepim/mobile/lib/collectionfetchwatcher.cpp deleted file mode 100644 index f9f1f1d8..00000000 --- a/kdepim/mobile/lib/collectionfetchwatcher.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "collectionfetchwatcher.h" - -#include -#include - -#include - -using namespace AkonadiFuture; - -class CollectionFetchWatcher::Private -{ - public: - Private( CollectionFetchWatcher *qq, const QModelIndex &index, const QAbstractItemModel *model ) - : q( qq ), mIndex( index ), mModel( model ) - { - } - - void dataChanged( const QModelIndex &index, const QModelIndex& ) - { - if ( index != mIndex ) - return; - - if ( mIndex.data( Akonadi::EntityTreeModel::FetchStateRole ).toInt() == Akonadi::EntityTreeModel::IdleState ) { - q->disconnect( mModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - q, SLOT(dataChanged(QModelIndex,QModelIndex)) ); - - emit q->collectionFetched( mIndex ); - - q->deleteLater(); - } - } - - CollectionFetchWatcher *q; - QPersistentModelIndex mIndex; - const QAbstractItemModel *mModel; -}; - -CollectionFetchWatcher::CollectionFetchWatcher( const QModelIndex &index, const QAbstractItemModel *model, QObject *parent ) - : QObject( parent ), d( new Private( this, index, model ) ) -{ - Q_ASSERT( d->mIndex.model() == d->mModel ); // make sure we work on the right indexes/model -} - -CollectionFetchWatcher::~CollectionFetchWatcher() -{ - delete d; -} - -void CollectionFetchWatcher::start() -{ - const Akonadi::Collection collection = d->mIndex.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - if ( collection.statistics().count() == 0 ) { - // no reason to wait, this collection does not contain any items - emit collectionFetched( d->mIndex ); - deleteLater(); - return; - } - - // check if the loading has been finished already - if ( d->mIndex.data( Akonadi::EntityTreeModel::FetchStateRole ).toInt() == Akonadi::EntityTreeModel::IdleState ) { - emit collectionFetched( d->mIndex ); - deleteLater(); - return; - } - - // start our work - connect( d->mModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - this, SLOT(dataChanged(QModelIndex,QModelIndex)) ); -} - -#include "moc_collectionfetchwatcher.cpp" diff --git a/kdepim/mobile/lib/collectionfetchwatcher.h b/kdepim/mobile/lib/collectionfetchwatcher.h deleted file mode 100644 index 27fe38a7..00000000 --- a/kdepim/mobile/lib/collectionfetchwatcher.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_COLLECTIONFETCHWATCHER_H -#define AKONADI_COLLECTIONFETCHWATCHER_H - -#include "mobileui_export.h" - -#include - -class QAbstractItemModel; -class QModelIndex; - -namespace AkonadiFuture { - -/** - * @short A class that encapsulates logic to wait for an collection to be completely loaded into a model. - * - * @author Tobias Koenig - */ -class MOBILEUI_EXPORT CollectionFetchWatcher : public QObject -{ - Q_OBJECT - - public: - /** - * Creates a new collection fetch watcher. - * - * @param index The model index of the collection to wait for. - * @param model The model to work on. - * @param parent The parent object. - */ - CollectionFetchWatcher( const QModelIndex &index, const QAbstractItemModel *model, QObject *parent = 0 ); - - /** - * Destroys the collection fetch watcher. - */ - ~CollectionFetchWatcher(); - - /** - * Starts watching the collection. - */ - void start(); - - Q_SIGNALS: - /** - * This signal is emitted when the watched collection at @p index has been loaded completely into - * the model. - */ - void collectionFetched( const QModelIndex &index ); - - private: - //@cond PRIVATE - class Private; - Private* const d; - - Q_PRIVATE_SLOT( d, void dataChanged( const QModelIndex&, const QModelIndex& ) ) - //@endcond -}; - -} - -#endif diff --git a/kdepim/mobile/lib/declarativeakonadiitem.cpp b/kdepim/mobile/lib/declarativeakonadiitem.cpp deleted file mode 100644 index 77dbce8e..00000000 --- a/kdepim/mobile/lib/declarativeakonadiitem.cpp +++ /dev/null @@ -1,222 +0,0 @@ -#include "declarativeakonadiitem.h" - -#include - -#include -#include -#include -#include -#include -#include - -#include - -static double sDirectionThreshHold = 8.5; /// Threshold in pixels - -/// DeclarativeAkonadiItemPrivate - -struct DeclarativeAkonadiItemPrivate -{ -/// Enum - enum Direction { - Unknown, /// Need more events to determin the actual direction. - Up, - Down, - Left, - Right - }; - -/// Members - QGraphicsProxyWidget *mProxy; - - /// Handle mouse events for clicks and swipes - QTimer mClickDetectionTimer; - bool mMousePressed; - int mDx; - int mDy; - double mSwipeLength; - -/// Methods - DeclarativeAkonadiItemPrivate(); - Direction direction() const; -}; - -DeclarativeAkonadiItemPrivate::DeclarativeAkonadiItemPrivate() - : mProxy( 0 ) - , mMousePressed( false ) - , mDx( 0 ) - , mDy( 0 ) - , mSwipeLength( 0 ) -{ } - -DeclarativeAkonadiItemPrivate::Direction DeclarativeAkonadiItemPrivate::direction() const -{ - const double length = qSqrt( ( mDx ^ 2 ) + ( mDy ^ 2 ) ); - if (length < sDirectionThreshHold ) - return Unknown; - - bool horizontal = false; - if ( mDx != 0 ) { - // We Use an X shape to determine the direction of the move. - // tan(45) == 1; && tan(-45) == -1; Same for 135 and 225 degrees - double angle = mDy / mDx; - horizontal = angle > -1 && angle <= 1; - } - - Direction dir; - if ( horizontal ) { - dir = mDx > 0 ? Right : Left; - } else { - dir = mDy > 0 ? Up : Down; - } - - return dir; -} - -/// DeclarativeAkonadiItem - -DeclarativeAkonadiItem::DeclarativeAkonadiItem( QDeclarativeItem *parent ) - : QDeclarativeItem( parent ) - , d_ptr( new DeclarativeAkonadiItemPrivate ) -{ - Q_D( DeclarativeAkonadiItem ); - - d->mClickDetectionTimer.setInterval( 150 ); - d->mClickDetectionTimer.setSingleShot( true ); - - d->mProxy = new QGraphicsProxyWidget( this ); - d->mProxy->installEventFilter( this ); -} - -DeclarativeAkonadiItem::~DeclarativeAkonadiItem() -{ - // Weird, the proxy seems to be already deleted at this point. If we get crashes - // related to events we need to do this different. - //d_ptr->mProxy->removeEventFilter( this ); - delete d_ptr; -} - -Akonadi::Item DeclarativeAkonadiItem::item() const -{ - return Akonadi::Item( itemId() ); -} - -void DeclarativeAkonadiItem::setWidget( QWidget *widget ) -{ - Q_D( DeclarativeAkonadiItem ); - - if ( QWidget *curWidget = d->mProxy->widget() ) - delete curWidget; - - d->mProxy->setWidget( widget ); -} - -double DeclarativeAkonadiItem::swipeLength() const -{ - Q_D( const DeclarativeAkonadiItem ); - return d->mSwipeLength; -} - -void DeclarativeAkonadiItem::setSwipeLength( double length ) -{ - Q_D( DeclarativeAkonadiItem ); - Q_ASSERT( length >= 0 && length <= 1 ); - d->mSwipeLength = length; -} - -void DeclarativeAkonadiItem::geometryChanged( const QRectF &newGeometry, - const QRectF&oldGeometry ) -{ - Q_D( DeclarativeAkonadiItem ); - QDeclarativeItem::geometryChanged( newGeometry, oldGeometry ); - d->mProxy->resize( newGeometry.size() ); -} - -bool DeclarativeAkonadiItem::eventFilter( QObject *obj, QEvent *ev ) -{ - Q_D( DeclarativeAkonadiItem ); - - if ( ev->type() == QEvent::GraphicsSceneMousePress ) { - QGraphicsSceneMouseEvent *mev = static_cast( ev ); - if ( mev->button() == Qt::LeftButton ) { - d->mMousePressed = true; - d->mClickDetectionTimer.stop(); // Make sure that it isn't running atm - d->mClickDetectionTimer.start(); - return true; - } - } else if ( ev->type() == QEvent::GraphicsSceneMouseRelease ) { - const bool wasActive = d->mClickDetectionTimer.isActive(); - QGraphicsSceneMouseEvent *mev = static_cast( ev ); - if ( mev->button() == Qt::LeftButton ) { - if ( wasActive ) // Timer didn't time out, we're dealing with a click - simulateMouseClick( mev->pos().toPoint() ); - else if ( qAbs( d->mDx ) >= ( d->mSwipeLength * width() ) ) { - // We don't trigger a next or previous *always*. Only when the configured - // swipelength is met. - const DeclarativeAkonadiItemPrivate::Direction dir = d->direction(); - if ( dir == DeclarativeAkonadiItemPrivate::Left ) { - emit nextItemRequest(); - } else if ( dir == DeclarativeAkonadiItemPrivate::Right ) { - emit previousItemRequest(); - } - } - - d->mMousePressed = false; - d->mDx = 0; - d->mDy = 0; - return true; - } - } else if ( ev->type() == QEvent::GraphicsSceneMouseMove && d->mMousePressed ) { - QGraphicsSceneMouseEvent *mev = static_cast( ev ); - d->mDx += mev->pos().x() - mev->lastPos().x(); // Moving to right gives positive values - d->mDy += mev->pos().y() - mev->lastPos().y(); // Moving up gives positive values - - const DeclarativeAkonadiItemPrivate::Direction dir = d->direction(); - if ( dir == DeclarativeAkonadiItemPrivate::Unknown ) - return true; - if ( dir == DeclarativeAkonadiItemPrivate::Up ) { - scrollUp( d->mDy ); - d->mDx = 0; - d->mDy = 0; - } else if ( dir == DeclarativeAkonadiItemPrivate::Down ) { - scrollDown( d->mDy ); - d->mDx = 0; - d->mDy = 0; - } - - return true; - } - - return QObject::eventFilter( obj, ev ); -} - -void DeclarativeAkonadiItem::scrollDown( int dist ) -{ - QAbstractScrollArea *sa = qFindChild( d_ptr->mProxy->widget() ); - if ( sa ) { - // TODO make this actually scroll by the given pixel value - sa->verticalScrollBar()->setValue( sa->verticalScrollBar()->value() - dist ); - } -} - -void DeclarativeAkonadiItem::scrollUp( int dist ) -{ - scrollDown( dist ); -} - -void DeclarativeAkonadiItem::simulateMouseClick( const QPoint &pos ) -{ - if ( !d_ptr->mProxy->widget() ) - return; - QWidget *receiver = d_ptr->mProxy->widget()->childAt( pos ); - if ( receiver ) { - QPoint mappedPos = pos; - if ( receiver != d_ptr->mProxy->widget() ) - mappedPos = receiver->mapFrom( d_ptr->mProxy->widget(), pos ); - QMouseEvent *event = new QMouseEvent( QEvent::MouseButtonPress, mappedPos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier ); - QCoreApplication::sendEvent( receiver, event ); - event = new QMouseEvent( QEvent::MouseButtonRelease, mappedPos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier ); - QCoreApplication::sendEvent( receiver, event ); - } -} - diff --git a/kdepim/mobile/lib/declarativeakonadiitem.h b/kdepim/mobile/lib/declarativeakonadiitem.h deleted file mode 100644 index c614e4d8..00000000 --- a/kdepim/mobile/lib/declarativeakonadiitem.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef DECLARATIVEAKONADIITEM_H -#define DECLARATIVEAKONADIITEM_H - -#include - -#include - -#include "mobileui_export.h" - -class DeclarativeAkonadiItemPrivate; - -class MOBILEUI_EXPORT DeclarativeAkonadiItem : public QDeclarativeItem -{ - Q_OBJECT - Q_PROPERTY( Akonadi::Item item READ item ) - Q_PROPERTY( int itemId READ itemId WRITE setItemId ) - Q_PROPERTY( double swipeLength READ swipeLength WRITE setSwipeLength ) - -public: - /** - * Returns the current Akonadi::Item. The default implementation returns an - * item without payload. - */ - virtual Akonadi::Item item() const; - - /** - * Set/get the Akonadi::Item::Id. We use quint64 here so we can deal with - * the id in QML files too. - */ - virtual qint64 itemId() const = 0; - virtual void setItemId( qint64 id ) = 0; - - /** - * The length, expressed as percentage of the width, which trigers the next - * or previous requests. - * - * Value must be between 0 and 1. - */ - double swipeLength() const; - void setSwipeLength( double length ); - -signals: - void nextItemRequest(); - void previousItemRequest(); - -protected: - explicit DeclarativeAkonadiItem( QDeclarativeItem *parent = 0 ); - ~DeclarativeAkonadiItem(); - - /** - * Sets the widget that show the current item. If a widget currently is set, - * it will be deleted. - */ - void setWidget( QWidget *widget ); - - /** Reimplement QObject::eventFilter() for swiping */ - virtual bool eventFilter( QObject *obj, QEvent *event ); - - /** Reimplement QObject::geometryChanged() to update the size of the internal widget */ - virtual void geometryChanged(const QRectF& newGeometry, const QRectF& oldGeometry); - - /** - * Are called by the event filter when when a vertical drag is detected. By - * default these functions do nothing. Subclasses should reimplement them when - * needed. - * - * @param dist the distance in pixels to scroll. - */ - virtual void scrollDown( int dist ); - virtual void scrollUp( int dist ); - - /** - * A mouse click was detected by the custom event handling. If you need to - * pass through mouse clicks to an internal widget, reimplement this method. - * - * Note: We assume usage on a device, which has not the concept of left or right - * mouse buttons as it is operated with a finger. Therefore, on normal - * systems this method is only triggered for left mouse button clicks. - */ - virtual void simulateMouseClick( const QPoint &pos ); - -private: - DeclarativeAkonadiItemPrivate * const d_ptr; - Q_DECLARE_PRIVATE( DeclarativeAkonadiItem ) - Q_DISABLE_COPY( DeclarativeAkonadiItem ) -}; - -#endif // DECLARATIVEAKONADIITEM_H diff --git a/kdepim/mobile/lib/declarativewidgetbase.cpp b/kdepim/mobile/lib/declarativewidgetbase.cpp deleted file mode 100644 index 95fbe1d7..00000000 --- a/kdepim/mobile/lib/declarativewidgetbase.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "declarativewidgetbase.h" - -#include "stylesheetloader.h" - -#include -#include - -DeclarativeWidgetBaseHelper::DeclarativeWidgetBaseHelper( QWidget * widget, QGraphicsItem * parent, const RegisterFunction & registerFunc ) - : QGraphicsProxyWidget( parent ), - m_registerFunc( registerFunc ), - m_widget( widget ) -{ - Q_ASSERT( m_widget ); - - QPalette pal = m_widget->palette(); - pal.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - m_widget->setPalette( pal ); - StyleSheetLoader::applyStyle( m_widget ); - setWidget( m_widget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeWidgetBaseHelper::~DeclarativeWidgetBaseHelper() -{ -} - -QVariant DeclarativeWidgetBaseHelper::itemChange( GraphicsItemChange change, const QVariant & value ) -{ - if ( !m_registerFunc.empty() ) - if ( change == ItemSceneHasChanged ) - if ( QGraphicsScene* scene = value.value() ) - Q_FOREACH( QGraphicsView * v, scene->views() ) - m_registerFunc( v, m_widget ); - return QGraphicsProxyWidget::itemChange ( change, value ); -} - -QString DeclarativeWidgetBaseHelper::styleSheet() const -{ - return m_widget->styleSheet(); -} - -void DeclarativeWidgetBaseHelper::setStyleSheet(const QString& styleSheet) -{ - m_widget->setStyleSheet( styleSheet ); -} - diff --git a/kdepim/mobile/lib/declarativewidgetbase.h b/kdepim/mobile/lib/declarativewidgetbase.h deleted file mode 100644 index b83b6936..00000000 --- a/kdepim/mobile/lib/declarativewidgetbase.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef DECLARATIVEWIDGETBASE_H -#define DECLARATIVEWIDGETBASE_H - -#include "mobileui_export.h" - -#include - -#include - -class QGraphicsView; -class QWidget; - -/** - \internal -*/ -class MOBILEUI_EXPORT DeclarativeWidgetBaseHelper : public QGraphicsProxyWidget -{ - Q_OBJECT - Q_PROPERTY( QString styleSheet READ styleSheet WRITE setStyleSheet ) -public: - QString styleSheet() const; - void setStyleSheet( const QString &styleSheet ); - -protected: - typedef boost::function RegisterFunction; - DeclarativeWidgetBaseHelper( QWidget * widget, QGraphicsItem *parent, const RegisterFunction & registerFunc ); - ~DeclarativeWidgetBaseHelper(); - - QWidget * widget() const { return m_widget; } - -protected: - /* reimp */ QVariant itemChange( GraphicsItemChange change, const QVariant & value ); - -private: - const RegisterFunction m_registerFunc; - QWidget * m_widget; -}; - -template -class DeclarativeWidgetBase : public DeclarativeWidgetBaseHelper -{ - public: - explicit DeclarativeWidgetBase( QGraphicsItem *parent = 0 ) - : DeclarativeWidgetBaseHelper( new WidgetT, parent, ¬ify ) {} - - /** use this constructor if you inherit from this template to customize widget construction. */ - DeclarativeWidgetBase( WidgetT *widget, QGraphicsItem *parent ) - : DeclarativeWidgetBaseHelper( widget, parent, ¬ify ) {} - - protected: - WidgetT * widget() const { return static_cast( DeclarativeWidgetBaseHelper::widget() ); } - - private: - static void notify( QGraphicsView * v, QWidget * w ) { - if ( ViewT * view = qobject_cast( v ) ) - (view->*registerFunc)( static_cast( w ) ); - } -}; - -#endif diff --git a/kdepim/mobile/lib/docs/CMakeLists.txt b/kdepim/mobile/lib/docs/CMakeLists.txt deleted file mode 100644 index 080c5cfd..00000000 --- a/kdepim/mobile/lib/docs/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -# install in data dir because docs are getting removed on maemo automatically by docpurge -install(FILES de/index.html DESTINATION ${DATA_INSTALL_DIR}/kontact-touch/de/manual/) -install(FILES en/index.html DESTINATION ${DATA_INSTALL_DIR}/kontact-touch/en/manual/) diff --git a/kdepim/mobile/lib/docs/de/index.html b/kdepim/mobile/lib/docs/de/index.html deleted file mode 100644 index a4da898c..00000000 --- a/kdepim/mobile/lib/docs/de/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - -

Willkommen zu Kontact Touch!

-

Dieses Dokument dient dazu, Ihnen mit ein paar Tipps den Einstieg in die Benutzung der Kontact Touch Applikationen (Mail, Adressen, Termine, Aufgaben und Notizen) zu vereinfachen. Weiterführende Informationen stehen Ihnen jederzeit im Internet zur Verfügung (s.u.).

-

Benutzung von Kontact Touch

-

Navigation

-

Auf der linken Seite finden Sie die Navigationsleiste. Hier können Sie durch Antippen der Ordnernamen durch Ihre Ordner navigieren. Der aktuell ausgewählte Ordner ist nach oben und unten von den anderen Ordnern abgegrenzt.

-

Aktionen

-

Ganz auf der linken Seite finden Sie in der Regel eine oder mehrere so genannte "Laschen". Darunter findet sich in der Regel eine mit der Aufschrift "Aktionen". Diese Laschen können Sie herausziehen indem Sie von links nach rechts darüber streichen. So wird verhindert, dass Sie aus Versehen den Ordner wechseln, obwohl Sie eigentlich eine Aktion ausführen wollten.

-

Das so geöffnete Aktionsmenü bietet Ihnen immer eine Auswahl von Aktionen an, die sich je nach Ansicht ändern. So können Sie im Aktionsmenü der "Home"-Ansicht grundlegende Konfigurationen vornehmen, wie ein neues Account hinzufügen. Öffnen Sie das Menü aus einer Ansicht in der beispielsweise mehrere Mails dargestellt werden, so finden Sie im Aktionsmenu Möglichkeiten, mit diesen Mails zu arbeiten (etwa verschieben, löschen oder darauf zu antworten).

-

Auswahl einzelner Objekte

-

Möchten Sie einzelne Objekte (z.B. eine Mail) auswählen, um diese zu lesen, so tippen Sie einfach in der Liste auf dieses Objekt. Es wird dann geöffnet. In dieser Ansicht können Sie durch Streichen nach oben oder unten die nicht sichtbare Teile des Objekts erreichen ("Scrollen"). Streichen Sie nach rechts oder links, so blättern Sie durch die Liste der Objekte - es wird also das nächste oder vorhergehende Objekt der Liste geladen. Zusätzlich finden Sie im rechten unteren Bereich des Objekts ein oder mehrere Icons. Eines davon symbolisiert eine Liste und bringt Sie aus der Ansicht eines Objekts zurück in den Navigationsmodus.

-

Erste Schritte

-

Legen Sie als erstes im "Aktionen"-Menu der "Home"-Ansicht unter dem Punkt "Konten" Ihre vorhanden E-Mail und Groupware Konten an. Bitte beachten Sie, dass die nachfolgende erste Synchronisation sehr lange dauern kann. Ist diese einmalig erfolgt, sollte Kontact Touch flüssig laufen.

-

Tipps und Tricks

-

Auswahl mehrerer Ordner

-

In der "Home"-Ansicht finden Sie unten rechts einen Button mit der Aufschrift "Auswählen". Tippen Sie darauf, so haben Sie die Möglichkeit, mehrere Ordner gleichzeitig auszuwählen und nach tippen auf "Fertig" anzeigen zu lassen. Zur Auswahl der Ordner können Sie wie gewohnt auf der linken Seite durch Ihre Ordner navigieren und die gewünschten Ordner dann auf die rechte Seite ziehen.

-

Häufig benötigte Ansichten

-

Gibt es eine Ansicht mit einem oder mehreren Ordnern, die Sie besonders häufig benötigen, so finden Sie im Aktionsmenü den Punkt "Als Favorit hinzufügen". Wählen Sie diesen aus, so können Sie einen Namen festlegen unter dem Sie diese Ansicht direkt aus der "Home"-Ansicht heraus anwählen können. So können Sie schnell in alle häufig benötigten Ansichten wechseln.

-

Bearbeiten vieler Objekte

-

Möchten Sie die gleiche Aktion mit vielen Objekten in einer Ansicht gleichzeitig machen (z.B. mehrere Mails in einen bestimmten Ordner verschieben), so können Sie in der Navigation auf den bereits ausgewählten Ordner nochmals antippen. Die Ansicht wechselt daraufhin in den "Massenbearbeitungsmodus". Tippen Sie nun auf ein Objekt, so wird dieses lediglich ausgewählt. Sie haben nun auf der linken Seite die Möglichkeit, bestimmte Aktionen mit den ausgewählten Objekten durchzuführen (z.B. Verschieben). Sie können diesen "Massenbearbeitungsmodus" wieder verlassen, indem Sie auf den nach links weisenden Pfeil unterhalb des Ordnernamens tippen.

-

Weitere Informationen

-

Es gibt zahlreiche weitere Informations- und Hilfequellen für Sie. Diese finden Sie im Internet unter: http://userbase.kde.org/Kontact_Touch

-

Das Entwicklungsteam wünscht Ihnen viel Spaß mit Kontact Touch. Wir hoffen, dass Ihnen das Produkt gefällt und freuen uns über Ihr Feedback!

- - diff --git a/kdepim/mobile/lib/docs/en/index.html b/kdepim/mobile/lib/docs/en/index.html deleted file mode 100644 index 40ade5da..00000000 --- a/kdepim/mobile/lib/docs/en/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - -

Welcome to Kontact Touch!

-

The purpose of this document is to provide you a few tips on how to use the Kontact Touch applications (mail, contacts, appointments, tasks and notes). Further information is available at any time on the Internet (see below).

-

Using Kontact Touch

-

Navigation

-

On the left you find the navigation bar. Here you can tap on the folder names to navigate through your folders. The currently selected folder is bounded to the top and to the bottom from other folders.

-

Actions

-

Completely on the left you will usually find one or more so-called 'flaps'. Among them there usually is one labeled 'Actions'. You can pull out these flaps by swiping them from left to right. This prevents you from accidentally changing the folder even though you actually wanted to perform an action.

-

The hereby opened action menu always offers you a range of actions that change depending on the view. In the action menu of the 'Home'-view you can do basic configurations, such as adding a new account. If you open the menu from a view that for example displays several mails, you will find options to work with these messages (such as moving, deleting, or replying to them).

-

Select individual objects

-

To select individual objects (e.g. an email) in order to read them, you simply tap on that object in the list. It will then open. In this view you can reach the non-visible parts of the object by swiping up or down. By swiping right or left, you will scroll through the list of objects - in other words the next or previous item of the list will get loaded. In addition, in the lower right corner of the object you will find one or more icons. One of them symbolizes a list and returns you from the object-view to the navigation mode.

-

Getting Started

-

First thing you should do is to set-up your existing e-mail and groupware accounts in the 'Actions' menu of the 'Home' view under 'accounts'. Please note that the first synchronization may take a very long time. After this had happened once, Kontact Touch should run smoothly.

-

Tips and Tricks

-

Select multiple folders

-

In the 'home' view you find in the bottom right a button labeled 'Select'. Tap it to have the option to select multiple folders and to show them in one view after tap 'done'. To select the folders you can navigate as usual through your folders on the left side and drag the desired folders to the right side.

-

Frequently needed views

-

Is there a view containing one or more folders that you need more often, you will find in the action menu the option 'Add as Favorite'. If you select this option, you can specify a name under which you can subsequently select it directly out of your 'Home' view. This way you can quickly change between all frequently needed views.

-

Editing multiple objects

-

If you want to perform the same action simultaneously with multiple objects in a view (e.g. move multiple messages to a particular folder), you can tap on the already selected folder again. The view then switches to the 'bulk edit' mode. If you then tap an object, it will only be selected. On the left side you now have several options to perform actions with the selected objects (e.g. moving). You can leave the 'bulk edit' mode by tapping the left-pointing arrow below the folder name.

-

More information

-

There are many other sources of information and help for you. These can be found at: http://userbase.kde.org/Kontact_Touch

-

The development team wishes you much fun with Kontact touch. We hope you will enjoy the product and we are looking forward to your feedback!

- - diff --git a/kdepim/mobile/lib/exporthandlerbase.cpp b/kdepim/mobile/lib/exporthandlerbase.cpp deleted file mode 100644 index ad3e0615..00000000 --- a/kdepim/mobile/lib/exporthandlerbase.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "exporthandlerbase.h" - -#include -#include -#include -#include -#include - -#include - -ExportHandlerBase::ExportHandlerBase( QObject *parent ) - : QObject( parent ), - mSelectionModel( 0 ), - mItemSelectionModel( 0 ) -{ -} - -ExportHandlerBase::~ExportHandlerBase() -{ -} - -void ExportHandlerBase::setSelectionModel( QItemSelectionModel *model ) -{ - mSelectionModel = model; -} - -void ExportHandlerBase::setItemSelectionModel( QItemSelectionModel *model ) -{ - mItemSelectionModel = model; -} - -void ExportHandlerBase::exec() -{ - Akonadi::Collection::List selectedCollections; - - if ( mSelectionModel ) { - const QModelIndexList indexes = mSelectionModel->selectedRows(); - foreach ( const QModelIndex &index, indexes ) { - const Akonadi::Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - selectedCollections << collection; - } - } - - bool exportAllItems = false; - if ( mSelectionModel && !selectedCollections.isEmpty() ) { - switch ( KMessageBox::questionYesNo( 0, dialogText(), QString(), - KGuiItem( dialogAllText() ), - KGuiItem( dialogLocalOnlyText() ) ) ) { - case KMessageBox::Yes: - exportAllItems = true; - break; - case KMessageBox::No: // fall through - default: - exportAllItems = false; - } - } else { - if ( !mItemSelectionModel ) { - exportAllItems = true; - } - } - - Akonadi::Item::List items; - if ( exportAllItems ) { - Akonadi::RecursiveItemFetchJob *job = new Akonadi::RecursiveItemFetchJob( Akonadi::Collection::root(), mimeTypes() ); - job->fetchScope().fetchFullPayload(); - - job->exec(); - - items << job->items(); - } else { - if ( !mItemSelectionModel ) { - foreach ( const Akonadi::Collection &collection, selectedCollections ) { - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( collection ); - job->fetchScope().fetchFullPayload(); - - if ( job->exec() ) - items << job->items(); - } - } else { - // use the selected item - foreach ( const QModelIndex &index, mItemSelectionModel->selectedRows() ) { - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( item.isValid() ) { - items << item; - } else { - kDebug() << "Invalid item encountered during export!"; - } - } - } - } - - exportItems( items ); - - deleteLater(); -} - diff --git a/kdepim/mobile/lib/exporthandlerbase.h b/kdepim/mobile/lib/exporthandlerbase.h deleted file mode 100644 index f5c595de..00000000 --- a/kdepim/mobile/lib/exporthandlerbase.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EXPORTHANDLERBASE_H -#define EXPORTHANDLERBASE_H - -#include "mobileui_export.h" - -#include - -#include - -class QItemSelectionModel; - -class MOBILEUI_EXPORT ExportHandlerBase : public QObject -{ - Q_OBJECT - - public: - explicit ExportHandlerBase( QObject *parent = 0 ); - ~ExportHandlerBase(); - - void setSelectionModel( QItemSelectionModel *model ); - void setItemSelectionModel( QItemSelectionModel *model ); - - public Q_SLOTS: - void exec(); - - protected: - virtual QString dialogText() const = 0; - virtual QString dialogAllText() const = 0; - virtual QString dialogLocalOnlyText() const = 0; - - virtual QStringList mimeTypes() const = 0; - virtual bool exportItems( const Akonadi::Item::List &items ) = 0; - - private: - QItemSelectionModel *mSelectionModel; - QItemSelectionModel *mItemSelectionModel; -}; - -#endif diff --git a/kdepim/mobile/lib/favoritescontroller.cpp b/kdepim/mobile/lib/favoritescontroller.cpp deleted file mode 100644 index fb197671..00000000 --- a/kdepim/mobile/lib/favoritescontroller.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "favoritescontroller.h" - -#include "favoriteslistmodel.h" - -#include -#include -#include -#include - -#include -#include -#include - -static const QString sFavoritePrefix = QLatin1String("Favorite_"); -static const int sFavoritePrefixLength = 9; - -class FavoritesController::Private -{ - public: - QStringList rereadFavoritesList() const; - - void selectionChanged(); - void removeFavorite(); - void moveUpFavorite(); - void moveDownFavorite(); - - KSharedConfig::Ptr mConfig; - FavoritesListModel *mModel; - QItemSelectionModel *mSelectionModel; - QItemSelectionModel *mCollectionSelectionModel; - QAction *mRemoveAction; - QAction *mMoveUpAction; - QAction *mMoveDownAction; -}; - -QStringList FavoritesController::Private::rereadFavoritesList() const -{ - QStringList names; - foreach ( const QString &group, mConfig->groupList() ) { - if ( group.startsWith( sFavoritePrefix ) ) - names.append( QString( group ).remove( 0, sFavoritePrefixLength ) ); - } - - return names; -} - -void FavoritesController::Private::selectionChanged() -{ - const bool favoriteSelected = mSelectionModel->hasSelection(); - - if ( favoriteSelected ) { - mRemoveAction->setEnabled( true ); - - const QModelIndex index = mSelectionModel->selectedRows().first(); - mMoveUpAction->setEnabled( index.row() != 0 ); - mMoveDownAction->setEnabled( index.row() != (mModel->rowCount() - 1) ); - } else { - mRemoveAction->setEnabled( false ); - mMoveUpAction->setEnabled( false ); - mMoveDownAction->setEnabled( false ); - } -} - -void FavoritesController::Private::removeFavorite() -{ - if ( !mSelectionModel->hasSelection() ) - return; - - const QModelIndex index = mSelectionModel->selectedRows().first(); - - const int result = KMessageBox::questionYesNo( 0, i18n( "Do you really want to remove favorite %1?", - index.data( Qt::DisplayRole ).toString() ), - i18n( "Remove Favorite" ) ); - if ( result == KMessageBox::No ) - return; - - mModel->removeItem( index.row() ); -} - -void FavoritesController::Private::moveUpFavorite() -{ - if ( !mSelectionModel->hasSelection() ) - return; - - const QModelIndex index = mSelectionModel->selectedRows().first(); - mModel->moveUp( index.row() ); -} - -void FavoritesController::Private::moveDownFavorite() -{ - if ( !mSelectionModel->hasSelection() ) - return; - - const QModelIndex index = mSelectionModel->selectedRows().first(); - mModel->moveDown( index.row() ); -} - - -FavoritesController::FavoritesController( const KSharedConfig::Ptr &config, QObject *parent ) - : QObject( parent ), d( new Private ) -{ - d->mConfig = config; - d->mModel = new FavoritesListModel( config, this ); - d->mSelectionModel = new QItemSelectionModel( d->mModel ); - d->mCollectionSelectionModel = 0; - - d->mRemoveAction = new QAction( i18n( "Remove" ), this ); - d->mMoveUpAction = new QAction( i18n( "Move Up" ), this ); - d->mMoveDownAction = new QAction( i18n( "Move Down" ), this ); - - connect( d->mSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(selectionChanged()) ); - - connect( d->mRemoveAction, SIGNAL(triggered(bool)), SLOT(removeFavorite()) ); - connect( d->mMoveUpAction, SIGNAL(triggered(bool)), SLOT(moveUpFavorite()) ); - connect( d->mMoveDownAction, SIGNAL(triggered(bool)), SLOT(moveDownFavorite()) ); - - d->selectionChanged(); -} - -FavoritesController::~FavoritesController() -{ - delete d; -} - -QAbstractItemModel* FavoritesController::model() const -{ - return d->mModel; -} - -QItemSelectionModel* FavoritesController::selectionModel() const -{ - return d->mSelectionModel; -} - -void FavoritesController::setCollectionSelectionModel( QItemSelectionModel *model ) -{ - d->mCollectionSelectionModel = model; -} - -QAction* FavoritesController::removeAction() const -{ - return d->mRemoveAction; -} - -QAction* FavoritesController::moveUpAction() const -{ - return d->mMoveUpAction; -} - -QAction* FavoritesController::moveDownAction() const -{ - return d->mMoveDownAction; -} - -void FavoritesController::loadFavorite( const QString &name ) const -{ - Q_ASSERT( d->mCollectionSelectionModel ); - - Akonadi::ETMViewStateSaver *saver = new Akonadi::ETMViewStateSaver; - saver->setSelectionModel( d->mCollectionSelectionModel ); - - KConfigGroup group( d->mConfig, sFavoritePrefix + name ); - if ( !group.isValid() ) { - delete saver; - return; - } - - saver->restoreState( group ); -} - -void FavoritesController::saveFavorite( const QString &name ) -{ - Q_ASSERT( d->mCollectionSelectionModel ); - - Akonadi::ETMViewStateSaver saver; - saver.setSelectionModel( d->mCollectionSelectionModel ); - - KConfigGroup group( d->mConfig, sFavoritePrefix + name ); - saver.saveState( group ); - group.sync(); - d->mModel->setStringList( d->rereadFavoritesList() ); -} - -#include "moc_favoritescontroller.cpp" diff --git a/kdepim/mobile/lib/favoritescontroller.h b/kdepim/mobile/lib/favoritescontroller.h deleted file mode 100644 index fd1a12d6..00000000 --- a/kdepim/mobile/lib/favoritescontroller.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef FAVORITESCONTROLLER_H -#define FAVORITESCONTROLLER_H - -#include - -#include - -class QAbstractItemModel; -class QAction; -class QItemSelectionModel; - -class FavoritesController : public QObject -{ - Q_OBJECT - - Q_PROPERTY( QAbstractItemModel* model READ model ) - Q_PROPERTY( QItemSelectionModel* selectionModel READ selectionModel ) - - Q_PROPERTY( QAction* removeAction READ removeAction ) - Q_PROPERTY( QAction* moveUpAction READ moveUpAction ) - Q_PROPERTY( QAction* moveDownAction READ moveDownAction ) - - public: - /** - * Creates a new favorites controller. - * - * @param parent The parent object. - */ - explicit FavoritesController( const KSharedConfig::Ptr &config, QObject *parent = 0 ); - - /** - * Destroys the favorites controller. - */ - ~FavoritesController(); - - /** - * Returns the model that represents the list of favoritess. - */ - QAbstractItemModel* model() const; - - /** - * Returns the item selection model, which is used for adapting - * the state of the actions. - */ - QItemSelectionModel* selectionModel() const; - - /** - * Sets the collection selection @p model the loading and saving of favorites - * shall be applied on. - */ - void setCollectionSelectionModel( QItemSelectionModel *model ); - - /** - * Returns the action for removing the currently selected favorites. - */ - QAction* removeAction() const; - - /** - * Returns the action for moving up the currently selected favorites. - */ - QAction* moveUpAction() const; - - /** - * Returns the action for moving down the currently selected favorites. - */ - QAction* moveDownAction() const; - - public Q_SLOTS: - /** - * Applies the favorite with the given @p name on the collection selection model. - */ - void loadFavorite( const QString &name ) const; - - /** - * Saves the current collection selection as favorite with the given @p name. - */ - void saveFavorite( const QString &name ); - - private: - //@cond PRIVATE - class Private; - Private* const d; - - Q_PRIVATE_SLOT( d, void selectionChanged() ) - Q_PRIVATE_SLOT( d, void removeFavorite() ) - Q_PRIVATE_SLOT( d, void moveUpFavorite() ) - Q_PRIVATE_SLOT( d, void moveDownFavorite() ) - //@endcond -}; - -#endif diff --git a/kdepim/mobile/lib/favoriteseditor.cpp b/kdepim/mobile/lib/favoriteseditor.cpp deleted file mode 100644 index 382254ba..00000000 --- a/kdepim/mobile/lib/favoriteseditor.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "favoriteseditor.h" - -#include "favoritescontroller.h" - -#include - -#include -#include -#include - -FavoritesEditor::FavoritesEditor( KActionCollection *actionCollection, const KSharedConfig::Ptr &config, QObject *parent ) - : QObject( parent ) -{ - mFavoritesController = new FavoritesController( config, this ); - - actionCollection->addAction( QLatin1String("favoriteseditor_moveup"), mFavoritesController->moveUpAction() ); - actionCollection->addAction( QLatin1String("favoriteseditor_movedown"), mFavoritesController->moveDownAction() ); - actionCollection->addAction( QLatin1String("favoriteseditor_remove"), mFavoritesController->removeAction() ); -} - -QAbstractItemModel* FavoritesEditor::model() const -{ - return mFavoritesController->model(); -} - -void FavoritesEditor::setCollectionSelectionModel( QItemSelectionModel *model ) -{ - mFavoritesController->setCollectionSelectionModel( model ); -} - -void FavoritesEditor::loadFavorite( const QString &name ) const -{ - mFavoritesController->loadFavorite( name ); -} - -void FavoritesEditor::saveFavorite( const QString &name ) -{ - mFavoritesController->saveFavorite( name ); -} - -void FavoritesEditor::setRowSelected( int row ) -{ - Q_ASSERT( row >= 0 && row < mFavoritesController->model()->rowCount() ); - - QAbstractItemModel *model = mFavoritesController->model(); - QItemSelectionModel *selectionModel = mFavoritesController->selectionModel(); - - selectionModel->select( model->index( row, 0, QModelIndex() ), QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows ); -} - diff --git a/kdepim/mobile/lib/favoriteseditor.h b/kdepim/mobile/lib/favoriteseditor.h deleted file mode 100644 index b7bc9627..00000000 --- a/kdepim/mobile/lib/favoriteseditor.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef FAVORITESEDITOR_H -#define FAVORITESEDITOR_H - -#include - -#include - -class FavoritesController; -class KActionCollection; -class QAbstractItemModel; -class QItemSelectionModel; - -/** - * @short The C++ part of the favorites editor for mobile apps. - * - * This class encapsulates the logic of the favorites viewing/editing - * and the UI is provided by FavoritesEditor.qml. - */ -class FavoritesEditor : public QObject -{ - Q_OBJECT - - public: - /** - * Creates a new favorites editor. - * - * @param actionCollection The action collection to register the manipulation - * actions (e.g. remove, moveUp, moveDown) at. - * @param config The config object to store the favorites. - * @param parent The parent object. - */ - FavoritesEditor( KActionCollection *actionCollection, const KSharedConfig::Ptr &config, QObject *parent = 0 ); - - /** - * Returns the model that represents the list of favoritess. - */ - QAbstractItemModel* model() const; - - /** - * Sets the collection selection @p model the loading and saving of favorites - * shall be applied on. - */ - void setCollectionSelectionModel( QItemSelectionModel *model ); - - /** - * Applies the favorite with the given @p name on the collection selection model. - */ - void loadFavorite( const QString &name ) const; - - /** - * Saves the current collection selection as favorite with the given @p name. - */ - void saveFavorite( const QString &name ); - - public Q_SLOTS: - /** - * Sets the row of the favorite the user has selected in the UI. - */ - void setRowSelected( int row ); - - private: - FavoritesController *mFavoritesController; -}; - -#endif diff --git a/kdepim/mobile/lib/favoriteslistmodel.cpp b/kdepim/mobile/lib/favoriteslistmodel.cpp deleted file mode 100644 index a283673a..00000000 --- a/kdepim/mobile/lib/favoriteslistmodel.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "favoriteslistmodel.h" - -#include -#include - -static const QString sFavoritePrefix = QLatin1String("Favorite_"); -static const QString sFavoriteOrder = QLatin1String("FavoriteOrder"); -static const int sFavoritePrefixLength = 9; - -FavoritesListModel::FavoritesListModel( const KSharedConfigPtr &config, QObject *parent ) - : QStringListModel( parent ), mConfig( config ) -{ - reparseConfiguration(); -} - -void FavoritesListModel::reparseConfiguration() -{ - QStringList list; - foreach ( const QString &group, mConfig->groupList() ) - if ( group.startsWith( sFavoritePrefix ) ) - list.append( QString( group ).remove( 0, sFavoritePrefixLength ) ); - - const KConfigGroup group = mConfig->group("FavoriteGeneral"); - QStringList favsList = group.readEntry( "Order", QStringList() ); - - QStringList::iterator it = favsList.begin(); - while ( it != favsList.end() ) { - if ( !list.contains( *it ) ) { - it = favsList.erase( it ); - } else { - ++it; - } - } - - foreach ( const QString &item, list ) { - if ( !favsList.contains( item ) ) - favsList.append( item ); - } - - setStringList( favsList ); -} - -void FavoritesListModel::saveConfig() -{ - QStringList favsList = stringList(); - foreach ( const QString &group, mConfig->groupList() ) { - if ( group.startsWith( sFavoritePrefix ) ) { - const QString name = QString( group ).remove( 0, sFavoritePrefixLength ); - if ( !favsList.contains( name ) ) { - mConfig->deleteGroup( group ); - } - } - } - - QStringList::iterator it = favsList.begin(); - while ( it != favsList.end() ) { - if ( !mConfig->groupList().contains( sFavoritePrefix + *it ) ) { - it = favsList.erase( it ); - } else { - ++it; - } - } - - KConfigGroup group = mConfig->group( "FavoriteGeneral" ); - group.writeEntry( "Order", favsList ); - mConfig->sync(); - mConfig->reparseConfiguration(); // needed to make sure that the groups got really removed from the KConfig object -} - -void FavoritesListModel::moveUp( int row ) -{ - if ( row <= 0 ) - return; - - QStringList list = stringList(); - - if ( row >= list.size() ) - return; - - list.move( row, row - 1 ); - - // resets the model. - setStringList( list ); - saveConfig(); -} - -void FavoritesListModel::moveDown( int row ) -{ - if ( row < 0 ) - return; - - QStringList list = stringList(); - - if ( row >= list.size() - 1 ) - return; - - list.move( row, row + 1 ); - - // resets the model. - setStringList( list ); - saveConfig(); -} - -void FavoritesListModel::removeItem( int row ) -{ - QStringListModel::removeRow( row ); - saveConfig(); -} diff --git a/kdepim/mobile/lib/favoriteslistmodel.h b/kdepim/mobile/lib/favoriteslistmodel.h deleted file mode 100644 index 08d5bb41..00000000 --- a/kdepim/mobile/lib/favoriteslistmodel.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef FAVORITESLISTMODEL_H -#define FAVORITESLISTMODEL_H - -#include - -#include - -class FavoritesListModel : public QStringListModel -{ - Q_OBJECT - - public: - explicit FavoritesListModel( const KSharedConfigPtr &config, QObject *parent = 0 ); - - void reparseConfiguration(); - - public Q_SLOTS: - void moveUp( int row ); - void moveDown( int row ); - void removeItem( int row ); - - private: - void saveConfig(); - - KSharedConfigPtr mConfig; -}; - -#endif diff --git a/kdepim/mobile/lib/guistatemanager.cpp b/kdepim/mobile/lib/guistatemanager.cpp deleted file mode 100644 index 756e6b8b..00000000 --- a/kdepim/mobile/lib/guistatemanager.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "guistatemanager.h" - -#include - -static void printStack( const QStack &stack ) -{ - QString output = QLatin1String( "UI-State-Stack: " ); - for ( int i = 0; i < stack.count(); ++i ) - output += QLatin1Char( ':' ) + QString::number( stack.at( i ) ); - - qDebug( "%s", qPrintable( output ) ); -} - -class GuiStateManager::Private -{ - public: - Private() - { - mGuiStates.push( GuiStateManager::HomeScreenState ); - } - - QStack mGuiStates; -}; - -GuiStateManager::GuiStateManager( QObject *parent ) - : QObject( parent ), d( new Private ) -{ -} - -GuiStateManager::~GuiStateManager() -{ - delete d; -} - -void GuiStateManager::switchState( int state ) -{ - Q_ASSERT( !d->mGuiStates.isEmpty() ); - - const int previousState = d->mGuiStates.pop(); - d->mGuiStates.push( state ); - - printStack( d->mGuiStates ); - emitChangedSignal(); - - emit guiStateChanged( previousState, state ); -} - -void GuiStateManager::pushState( int state ) -{ - const int previousState = (d->mGuiStates.isEmpty() ? -1 : d->mGuiStates.top()); - - d->mGuiStates.push( state ); - - printStack( d->mGuiStates ); - emitChangedSignal(); - - emit guiStateChanged( previousState, state ); -} - -void GuiStateManager::pushUniqueState( int state ) -{ - const int previousState = (d->mGuiStates.isEmpty() ? -1 : d->mGuiStates.top()); - - if ( d->mGuiStates.isEmpty() ) { - d->mGuiStates.push( state ); - } else { - if ( d->mGuiStates.top() != state ) - d->mGuiStates.push( state ); - } - - printStack( d->mGuiStates ); - emitChangedSignal(); - - emit guiStateChanged( previousState, state ); -} - -void GuiStateManager::popState() -{ - const int previousState = d->mGuiStates.pop(); - Q_ASSERT( !d->mGuiStates.isEmpty() ); - - printStack( d->mGuiStates ); - emitChangedSignal(); - - emit guiStateChanged( previousState, d->mGuiStates.top() ); -} - -int GuiStateManager::currentState() const -{ - Q_ASSERT( !d->mGuiStates.isEmpty() ); - - return d->mGuiStates.top(); -} - -bool GuiStateManager::inHomeScreenState() const -{ - return (currentState() == HomeScreenState); -} - -bool GuiStateManager::inAccountScreenState() const -{ - return (currentState() == AccountScreenState); -} - -bool GuiStateManager::inSingleFolderScreenState() const -{ - return (currentState() == SingleFolderScreenState); -} - -bool GuiStateManager::inMultipleFolderScreenState() const -{ - return (currentState() == MultipleFolderScreenState); -} - -bool GuiStateManager::inBulkActionScreenState() const -{ - return (currentState() == BulkActionScreenState); -} - -bool GuiStateManager::inMultipleFolderSelectionScreenState() const -{ - return (currentState() == MultipleFolderSelectionScreenState); -} - -bool GuiStateManager::inViewSingleItemState() const -{ - return (currentState() == ViewSingleItemState); -} - -bool GuiStateManager::inSearchScreenState() const -{ - return (currentState() == SearchScreenState); -} - -bool GuiStateManager::inSearchResultScreenState() const -{ - return (currentState() == SearchResultScreenState); -} - -bool GuiStateManager::inConfigScreenState() const -{ - return (currentState() == ConfigScreenState); -} - -void GuiStateManager::emitChangedSignal() -{ - emit guiStateChanged(); -} - diff --git a/kdepim/mobile/lib/guistatemanager.h b/kdepim/mobile/lib/guistatemanager.h deleted file mode 100644 index 21a43939..00000000 --- a/kdepim/mobile/lib/guistatemanager.h +++ /dev/null @@ -1,237 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef GUISTATEMANAGER_H -#define GUISTATEMANAGER_H - -#include "mobileui_export.h" - -#include -#include - -/** - * @short A class that manages the UI states of the mobile PIM applications. - * - * @author Tobias Koenig - */ -class MOBILEUI_EXPORT GuiStateManager : public QObject -{ - Q_OBJECT - - Q_PROPERTY( bool inHomeScreenState READ inHomeScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inAccountScreenState READ inAccountScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inSingleFolderScreenState READ inSingleFolderScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inMultipleFolderScreenState READ inMultipleFolderScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inBulkActionScreenState READ inBulkActionScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inMultipleFolderSelectionScreenState READ inMultipleFolderSelectionScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inViewSingleItemState READ inViewSingleItemState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inSearchScreenState READ inSearchScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inSearchResultScreenState READ inSearchResultScreenState NOTIFY guiStateChanged ) - Q_PROPERTY( bool inConfigScreenState READ inConfigScreenState NOTIFY guiStateChanged ) - - Q_ENUMS( GuiState ) - - public: - /** - * Describes the state of the visible screens. - */ - enum GuiState { - /** - * The state when the 'Home' entry is selected in the navigation bar. - */ - HomeScreenState, - - /** - * The state when an account entry (an Akonadi resource collection) is selected - * in the navigation bar. - */ - AccountScreenState, - - /** - * The state when a folder entry (a normal Akonadi collection) is selected - * in the navigation bar. - */ - SingleFolderScreenState, - - /** - * The state when the 'Home' entry is selected in the navigation bar and - * the user has selected multiple favorite folders. - */ - MultipleFolderScreenState, - - /** - * The state when the user activated the bulk action mode by double clicking on - * a folder in the navigation bar. - */ - BulkActionScreenState, - - /** - * The state when the user activated the multiple folder selection mode by clicking on - * the 'Select' resp. 'Change Selection' button. - */ - MultipleFolderSelectionScreenState, - - /** - * The state when the user selected a single item from a view and the item specific viewer - * is shown. - */ - ViewSingleItemState, - - /** - * The state when the search dialog is shown. - */ - SearchScreenState, - - /** - * The state when the user started a search and the results are listed. - */ - SearchResultScreenState, - - /** - * The state when the main configuration dialog is shown. - */ - ConfigScreenState, - - /** - * Point of extension. - */ - UserState - }; - - /** - * Creates a new gui state manager. - * - * @param parent The parent object. - */ - GuiStateManager( QObject *parent = 0 ); - - /** - * Destroys the gui state manager. - */ - ~GuiStateManager(); - - public Q_SLOTS: - /** - * Switches from the current gui state to the new gui @p state. - */ - void switchState( int state ); - - /** - * Switches to the new gui @p state but stores the old one on the internal stack. - * - * This method should be used if you want to return to the previous gui state at - * a later point in the execution. - */ - void pushState( int state ); - - /** - * Switches to the new gui @p state, if it is not on the top of the stack already, - * but stores the old one on the internal stack. - * - * This method should be used if you want to return to the previous gui state at - * a later point in the execution. - */ - void pushUniqueState( int state ); - - /** - * Switches to the gui state previously stored on the internal stack. - */ - void popState(); - - /** - * Returns the current gui state. - */ - int currentState() const; - - public: - /** - * Returns whether the current state is the home screen state. - */ - bool inHomeScreenState() const; - - /** - * Returns whether the current state is the account screen state. - */ - bool inAccountScreenState() const; - - /** - * Returns whether the current state is the single folder screen state. - */ - bool inSingleFolderScreenState() const; - - /** - * Returns whether the current state is the multiple folder screen state. - */ - bool inMultipleFolderScreenState() const; - - /** - * Returns whether the current state is the bulk action screen state. - */ - bool inBulkActionScreenState() const; - - /** - * Returns whether the current state is the multiple folder selection screen state. - */ - bool inMultipleFolderSelectionScreenState() const; - - /** - * Returns whether the current state is the view single item state. - */ - bool inViewSingleItemState() const; - - /** - * Returns whether the current state is the search screen state. - */ - bool inSearchScreenState() const; - - /** - * Returns whether the current state is the search result screen state. - */ - bool inSearchResultScreenState() const; - - /** - * Returns whether the current state is the config screen state. - */ - bool inConfigScreenState() const; - - Q_SIGNALS: - /** - * This signal is emitted whenever the current state has changed. - */ - void guiStateChanged(); - - /** - * This signal is emitted whenever the current state has changed. - * - * @param oldState The old state the manager was in. - * @param newState The new state the manager is in. - */ - void guiStateChanged( int oldState, int newState ); - - protected: - virtual void emitChangedSignal(); - - private: - //@cond PRIVATE - class Private; - Private* const d; - //@endcond -}; - -#endif diff --git a/kdepim/mobile/lib/hierarchyresolver.cpp b/kdepim/mobile/lib/hierarchyresolver.cpp deleted file mode 100644 index c89d44ca..00000000 --- a/kdepim/mobile/lib/hierarchyresolver.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "hierarchyresolver.h" - -#include - -void HierarchyResolver::addNode( const QByteArray &identifier ) -{ - mTopNodes.insert( identifier ); -} - -void HierarchyResolver::addRelation( const QByteArray &child, const QByteArray &parent ) -{ - if ( child != parent ) - mRelations.insert( child, parent ); - else - //TODO_TOKOE - kDebug() << "child equals parent: " << parent; -} - -void HierarchyResolver::resolve( const QSet &existingIdentifiers ) -{ - mChildParentResultMap.clear(); - mParentChildrenResultMap.clear(); - - // first insert all top nodes - foreach ( const QByteArray &node, mTopNodes ) { - mChildParentResultMap.insert( node, node ); - mParentChildrenResultMap.insert( node, QSet() ); - } - - // search top-most parents for each added relation child node - QHashIterator it( mRelations ); - while ( it.hasNext() ) { - it.next(); - - // check if direct parent is top node - if ( mTopNodes.contains( it.value() ) ) { - mChildParentResultMap.insert( it.key(), it.value() ); - mParentChildrenResultMap[ it.value() ].insert( it.key() ); - - continue; // we are done - } - - QByteArray parentNode = it.value(); - if ( !existingIdentifiers.contains( parentNode ) ) { - mChildParentResultMap.insert( it.key(), it.key() ); - mParentChildrenResultMap[ it.key() ].insert( it.key() ); - } else { - // iterate up the parent path - while ( mRelations.contains( parentNode ) && existingIdentifiers.contains( mRelations.value( parentNode ) ) ) - parentNode = mRelations.value( parentNode ); - - mChildParentResultMap.insert( it.key(), parentNode ); - mParentChildrenResultMap[ parentNode ].insert( it.key() ); - } - } -} - -QHash HierarchyResolver::childParentMap() const -{ - return mChildParentResultMap; -} - -QHash > HierarchyResolver::parentChildrenMap() const -{ - return mParentChildrenResultMap; -} diff --git a/kdepim/mobile/lib/hierarchyresolver.h b/kdepim/mobile/lib/hierarchyresolver.h deleted file mode 100644 index b064c732..00000000 --- a/kdepim/mobile/lib/hierarchyresolver.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef HIERARCHYRESOLVER_H -#define HIERARCHYRESOLVER_H - -#include "mobileui_export.h" - -#include -#include - -/** - * @short A utility class to resolve single parent-child relationships to a tree. - * - * This class allows the user to specify a couple of parent child relation ships - * which it will resolve to child -> top-most parent relation ships. - * - * @author Tobias Koenig - */ -class MOBILEUI_EXPORT HierarchyResolver -{ - public: - /** - * Adds a single node to the resolver. - * - * The node is known to have no relation, so it must - * be a top node. - * - * @param identifier The unique identifier of this node - */ - void addNode( const QByteArray &identifier ); - - /** - * Adds a child -> parent relation to the resolver. - * - * @param child The unique identifier of the child node. - * @param parent The unique identifier of the parent node. - */ - void addRelation( const QByteArray &child, const QByteArray &parent ); - - /** - * Resolves the hierarchy. - */ - void resolve( const QSet &existingIdentifiers ); - - /** - * Returns a hash with the child node as key and its resolved top-most parent - * node as value. - * - * The top-most parent of a parent node is the node itself. - */ - QHash childParentMap() const; - - /** - * Returns a hash with the top-most parent node as key and a set of all its descendant - * nodes as value. - */ - QHash > parentChildrenMap() const; - - private: - QSet mTopNodes; - QHash mRelations; - - QHash mChildParentResultMap; - QHash > mParentChildrenResultMap; -}; - -#endif diff --git a/kdepim/mobile/lib/images/CMakeLists.txt b/kdepim/mobile/lib/images/CMakeLists.txt deleted file mode 100644 index 5fe8a78c..00000000 --- a/kdepim/mobile/lib/images/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -add_subdirectory(status) - -FILE(GLOB IMAGES *.png) -install(FILES ${IMAGES} - DESTINATION ${PLUGIN_INSTALL_DIR}/imports/org/kde/pim/mobileui/images) diff --git a/kdepim/mobile/lib/images/activeactionitem.png b/kdepim/mobile/lib/images/activeactionitem.png deleted file mode 100644 index dd9b386d17e2795f96dd79f31733a5339b7cab0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1177 zcmeAS@N?(olHy`uVBq!ia0vp^=YiORgAGUqnk=*jQY^(zo*^7SP{WbZ0pxQQctjQh z)n5l;MkkHg6+l7B64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq<{vAdAc}; zRLpsM!@oN?T;ll0`<64S{qp7nx*ZG>54zJ4kQVwvJ0pDElJ$qaFV0`Ed*Kez`;A_A zcv^2xS=ez(L@{_p?&N3pK9?AF_8R{GwPNvu@66MmJeyZsRAd}KW9Eka`|q!OZPhMN z#G%OFet1rh*W-^CK;C7Ool_>ME)DY1Tk3Os*|N+{GxyppOTM-3tYXW%CttIS_GhO7 z6`aw@a^q0U*x7nL$tL#DnXt35nOE89f)x7-N+`S!! z`&O)aRcWxxb>$o1zN%+0bR~>y-{@JqU$;Z^v)v8;S;=!Z-+I6N%gl4H_T`-V z9cN|@xk)< z&u?#U-@d*s_IF->{(EUp>q(QAShZYGluPK8SllWgcXwB5cE#gkz49t=UwsMRt?OC& z`f(ork1a+0qYO zY#M|=GWZ=~wh-hWa-3-SYUTsWb&f@_H6P5+y)EXM>}j?$q=P+T;gn0Z78XBBO{92L zcvZJf>RK|bqCwS5^Wd3%d&}R)S=re9@x0XO_c&9f7pVH(>)qw=_gPt4RTUK!T$ui) zeM!B_-`up^8~5+OzfwBanZvSWLi^!FKh32dE9N+J?97}M<8^XUkf!SNpk>LymrZV- z*_Af!jE=Wg?(J)eEg@bf)25wWqqX$Pq)9WM26-86HvbnW=)|FIci>RA;XJ*>wAIhn zZOM8!%U1X9_1))U)34ro{jT-7UH-1Jp1{-7?mw`ewLfo?h?9Y5*6py(&o94D`*v){ z%b$O&jMwYWF|Uma4SoLU>FH7+HEY?;ci(@XO)&V8nx6jr!=Im@{a^2@t9p59>0)ki zJ)7N?pPy|`NSnGODyaO^joC6^&s>~cd8YXJ-km$Yrkq(cd(+9@-}|qdf3^Fz>Ew*> zU+rdFtlm54YWk;r{bz0c=HH(5{GQ=?728Q)A}$@SXH@%A{W*ojI3HMyFnGH9xvXlpinR(g8$%zH2dih1^v)|cB0TnIrba4#H zXncEqBPWxi2*btt(_O3;8@DBD#e_$9u$d+BH?1`7SlPHJp{~(v<8h+@U_cD08`njxgN@xNA{x)>X diff --git a/kdepim/mobile/lib/images/bulk-back-overlay.png b/kdepim/mobile/lib/images/bulk-back-overlay.png deleted file mode 100644 index 87c9ec47838a9c6fe25b8e5a8ddd877df870aebb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1441 zcmV;S1z!4zP)ZST@dfJEm zFn#NE(xhopAYh;*1`33W`*7BdZFH9w$&7z547RkFzqGq&&z|E(r_-Sfe9xT%)_|`{ zDKH<0z;>YY=Q0Xw6cxw!TnG3DSOJ_e8dZ>MU=P>{l)f%fP$6-A&s_r6fyp9`u*3zh z87TcRZvnZ)@jbTztRinr-Dx31EptaRi{pFlB=7`S$XZ#2oB(eFr7yDFlt~=lb7z6) z)N>dmaS6N$l>RU64XMR3!n_0~^0loNTmi4s3Y2PfF~YoHw1oj_{|n!9=h9r9D30&B zGl($FoDI4L$}y(Op)1gA(uJ|Z%JMchHconvS-DsHaxgc8tYr+5oN}nSe z#j0rl>!#lWggv!oAk|W5$Sh1Bbr@P8{aqgZa6lZh!(Po$XsduQP#2vbK^j1Iuyo3lhZEBLMo1JeJV`O+`W zjR`4)-8(Eym!1v|fbY3Y#2|`eH&A-pW~*w#qS2!_jFySFYjy&qKa|~yKWAKBn)nJH&o>fccOww(2Sj^yaDq%hk+> ziL)6f-LhP98Jt)yf8Js6Bw;g9de3sDWno*K$tL2m>>%E|e=S#7CRdirpKuUcXLH1a zxeb~Qa2zPTUv*1rNYeqvZ%jB7PN1~yiEUKrRPEfZGnZp=qPZH26U~)lP9VqJT>|WS8%`Pl5X(H=HB!yQO5K^wl>5{8(n01vv_oe%<|N_$fr4I7|aC&1-#^89449 z5XZ#D9Yx$Yg$OibsbN*~aX2n8Z2bO1bWrsqB2Z$0^N7&_Zo~rI5XT(3#vSN25rJ%< zSKlW4=AdwZsF{BUnS`U5Km;14w4x|Z8JcUlgo* z($ROKwHYXV2qeWCH-IO;=VnQp{+8-8{tkinNf%|w)LSE6!s`|iaT-_F1K?4rip!^s zB(EfPJZp~UBhtAFju5-yq+cXsK(3KJ8>cMVNFr>i;P9;CG?31v4d%W;Oo9%Qj8^4I zN9Gjjym{pdh)-n{PAzhW*W~_10^>^k4!a(?qMQTo^2P&{@mm&4$mCiZrx;?~?IH_9 v?&Oog;y}+KwNAJ%=(cGi!B}zIpH%!0-BicQ1(Oa#00000NkvXXu0mjf8~m8M diff --git a/kdepim/mobile/lib/images/bulk-forward-overlay.png b/kdepim/mobile/lib/images/bulk-forward-overlay.png deleted file mode 100644 index 19f460dad41a484cff28475c2b28d2b70e9d155a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1323 zcmV+`1=RY9P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2igk- z3LXKGuHIDu00gT^L_t(|+U=a%QrlJ(hCd4%2b)9VHqf-BDGAAB`aIQ4byGc?u5_XI zY14Gt5JF6BVgduP9gJ}=w44e>l6A1`E#vbpy14mSsCPbAw|V`ZvHXP(eKnfVY5Px3ploHXOue})6grx9#E$^x&#g^+Zp5r$29aB@DwOhJPm+3=F_yMZjDDZvwnc59pbOehT~qY$dqosyyGnY0PRH*i-;aSG-K9 z8@6ocS|0L4!h3I-hQ6K1tYiaz4wMu~1zuXV^EpAdu`8)elKtzIWjo!8D@V-fkpf@< zJ|+PptLO+gNfPS;kL0;0npFd+DdLs7X)a0us3y-H4o5QVhYGpuZrTe4P&>gT59Rqo zSIz_3#Z^(Jl7nSC?-Br7_3u@hFVikUmYpY{ZQ=0M%GoMtLOD%9WpAvc`8MK(l>lnR z_|wKMIFcr8vf#38rx^p#rttV;MvWQ8H8-_vnl;$*-l@@eaJNQ z9o%MtUw>%iUnuXW3Px5?3wRgstNJY9d@6t!YXe6?a4L5ljsQCG0jg-^UmG44C=NOS z-r&}FRK~U^L(fZujBJ zvYqR3CGhet!x1n~`M=3kG-8l zg}{^rjCXYp#+IZ>9+CIzsR7STL$4|b#@}2x6CSt96&>>JmDhk5rlHTZZ#53^fM-C^ zm-S_I<q@q6X22!0WJsYM~d3dCl8< zt)&FBDM@4$n2~_#MTPc606LN2a9;W@Y1$#@PA7o@_bkQ5q`YU64s%W|qEsP#0xJm2 zec)#%PpKVQwlndWVx82JZ|@27n;Sf|Y^M|P`HR+OnLxTg(K4g+@?TDyjk24nzq0lPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igV% z4iN!S6UmYQ000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000HiNklbqOSWvqhM+d}B9K~zf+%Fw;-sOai$by~n9vrw z$*$03)lH!-q0nuhCD1}?w~c8^Ljqa2X>D4|L3U-Qk`tks(P-w)dvotOS?G--OA|{4 z)qXy3hk^GN|98*5=bZb_B~``!jEHFXcf>eM(-8x@k3jmg=eh9VF!``ydEAIN1CiiR z5!V+t zNZ8oK*sz~=TWJm?qagMGfGGe#MEQu`ms}CTpd45 zfGpW;_nLQabw0X%WBvB^tM9)4(>DiM@)1;8HN_92*wn%UN$@4M157F4zV0QkQ?}&Hi@~c1m72D8@%RGQS5s9iQ?+B6BhH=#d(d6{`g$uJ6 zE{H-9EGt#(F%egYxFkN?v4m8Os)PVa zD87|cC4{Qk_P|yyV*?^9;sK&UD$li9A~r+aoL7RhBO(>u2mt4rVfQ>#fvOZ!`j)PH zCfV+NM*xz7>ffu&jyPC=P|PSaYGsT7P!u(cjygS#^ni$ebUgsok!!6W1bZvhgS=E^ z06QvKaFG+)z8-kQY~&^`>K-^)7!`p&>WQqldElU7w4j;zKv76Vpx!^aO9;^7R-@QI zk?r?6z6iCD?(qN-D*)NrCmveRM5bGbOaVx)8I0`)f_SL9thr@qUoW z+pqoPuf5iX?|GlyQ19=GcRc`p_<;yPsR|Wui8x9-&4`ViXw1xgW_0`Z!H(;HdHwy{ zf4}^eiod4fZevB4KWG*|!pV_!Uf@%v94 zIdx6jf^GFa@XGmhXJH+;6Yk?6y{y*8Y3-t?T05O+QE%Rdo^2 z|BUKVerlh1koM{(h$flMG_jc`qT|HoD2S>=6ccgzkZb*(swPm~RPpPox}xHjMf|cK zq^m(xZr-;~yc+^QXv4S)<~o1|vpvej)BscgDicxlkPEd^u?u1d z!ns#WSUzG!{Qv2;it$-*V|Y`=Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igV% z4h%bJb9_7i000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000G!Nkl6 zTMjJ*LJIv09OxyGs}ow%Q&0ONfyiN^bwcA%BTJ5~8R?z(dH0Z!alBq{3+{RXe&7*8 zx_m$H_tDHVdLHGR!*QXMQiHcg1@K3%C)Moto- z)9JLgwze8CUcA_N`t<3yH*enjdy*voan9{@I-NZLJplGF#5(|)cwMblgE)>u&-2DF zUApv}>({S;F)=Yw!_OEmU%rf1S6Bah@7}$C8DqABAZRt4%@{y>5Mm$Tz{!_JMn=Yz zQd4*C-1+0hix+?Ad7g(;2xE-7fB*j9E?>Uzht}HCI{?GO!g;Rh*w6lKmGz_9@Dfde>mAlD9@mC#uUojGvkz?lPQ4xHV{P7%Pp z2PNcw0HBm|00e-04;*j+B-0F?ec-IMR%@NM+wESpS`G3D&~CST&bicDyFd8Q02~on zBI-Nml18J^4#O~)0F6eY?VL-9s82)|fTIi`6_G?l_M#}-9{djSmQfUKi^!gcBt(?% zJFvUEn^r27SZn>JUa!9rk@-A2P_Nft0eEArjXRxAy6*shl$pEM+SdB|`r{~y-sJG~ z->k2%KepDkn7NC$b2G;o9BHjJfIulV^6c5O!otGB3=ye3i0}1!vbwtZkJqnXe`So> zu-3jd#&iK#9{f!)G&BTjttO)4&dyGena|D7&;KG10BdV&&mKN}_)lx?V{2`rSS&W< zIPL>*?3}}m8#fTgvGY970U#pMPo6w6&biUq+1Zep)oIjxzu$Lv@7`^!t*t$@)_!A* zsf);~-QC?iWOFj*oI5xp^L^hR^L@YOdET#xX#V{9^PgO~a^=@EGc*3rDgOEM=gIBc zx4+uh*!WsRzBR^tlO#!$B*`{_1lip9xGCj_N~w>E#o|X=>zNA|F3i?ywXx~x>GIUn zlpls6pQPYct7SJgHM!DSvcM-0gNp3x&eC z)_RJFrikd5L{ufBic%_2N|jEy&*?hnViD{XE)7O>#78?t@8EbP^OCnH6vcxr_#5q4VH#M(>!MP|ku_QG`p**uB zL&4qCHz2%`PaLQy(9^{+B;(%O8yh)+Rx&v9-mFhGc6MND`+e)#g;Q%*&A8L`kP)a3 r3Gn2`pV{|s{}SO}Z(A;b9El8WS&2okBykvff(1QY{an^LB{Ts5G<-U2 diff --git a/kdepim/mobile/lib/images/button-minus-disabled.png b/kdepim/mobile/lib/images/button-minus-disabled.png deleted file mode 100644 index d87b0d10b2f04eff14fd4ebe9f12b72396d9cce8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}oCO|{#S9GG z!XV7ZFl&wkP>{XE)7O>#78?t@nSR7Y-|avl$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj z3P{|n>E4zB2;*B7cl;-0R4F6*2UngC0FK%)Qv diff --git a/kdepim/mobile/lib/images/button-minus.png b/kdepim/mobile/lib/images/button-minus.png deleted file mode 100644 index f29baaa433aa9436d6969837f0f4ff4cf9793eb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}oCO|{#S9GG z!XV7ZFl&wkP>{XE)7O>#78?t@nH(p-Z!b_tvcxr_#5q4VH#M(>!MP|ku_QG`p**uB zL&4qCHz2%`PaLQy#M8wwB;(%O8-`pAhCIv%HJ<#B58F5472n~Uw`m8aUMlm=TmO&| ws1OP8yxk+G_OqluQ(E6-VZ<{e84$DXC6m$(u4q%gRhL0rPgg&ebxsLQ0E-zreE{XE)7O>#78?t@A?MM#alJqx$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj z3rS&*CJ+gSBJn8CnGp5?75>^< V_O$ODXAXk|JYD@<);T3K0RT1@Nq_(V diff --git a/kdepim/mobile/lib/images/button-plus-disabled.png b/kdepim/mobile/lib/images/button-plus-disabled.png deleted file mode 100644 index 20ce8c5053a166602cf84c986a7784fa4f584dd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}oCO|{#S9GG z!XV7ZFl&wkP>{XE)7O>#78?t@fj(dND?^}=WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FM zhJw4NZ$Nk>pEyuax~Gd{NXEUlHypVd40u=$xcw=Aar*M?iZ_l&54>UKa{ji#WK~wl zIm21(K*bCU3rf$K%g-;4vsN`e%nBA^V5pmR<8Ro`_p|gj?VcO5!ngHIrYI9wYC~%b dM9G7TI>k*A!H42~fbM2s@O1TaS?83{1OVDwNzecQ diff --git a/kdepim/mobile/lib/images/button-plus.png b/kdepim/mobile/lib/images/button-plus.png deleted file mode 100644 index a62ca1523312e7f5c27b9e920db331bd3011c49c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}oCO|{#S9GG z!XV7ZFl&wkP>{XE)7O>#78?t@0mIU$>lr{H$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj z3Z?=14F|_%X>98C$|RQI>rhXU|^`5wx(|No$|Bdk$3&HOqMx4+rq^Nmb&4j2T}4N Y!*6-9MDWt*vM)dap00i_>zopr0M716cK`qY diff --git a/kdepim/mobile/lib/images/check.png b/kdepim/mobile/lib/images/check.png deleted file mode 100644 index f996983f473b5b04174f5af982485d3d480ce55f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3922 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 diff --git a/kdepim/mobile/lib/images/clock-background.png b/kdepim/mobile/lib/images/clock-background.png deleted file mode 100644 index f5c0afc3f44f489ea83b03e091849aae488f26ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28505 zcmXtA2|UyP|DO`8h)R-{D@E=iS3}gQmE$X+Ia`_gzHdS*3XzE%rK0Alxyr3oWHIck zVL8e%MbvIsdB0!R`}KOhp0DozV|bBwm+&qG0>O*Dbp9#=!Ql;W zUnCcNq8&ySfZsTM^sv{E@Lwp>?jHRAPR~m?ANW3F>&>Aj{WK6hJmibH?rY* zF>g3}9=&y?Ir80|B+Sk?FIz^Y6c_F-A01j0Se_-A{kbx-o|$52`kmU`e15*G>*4C^ z`jcE~#Pjme+<1k~o#L8QGQ2J<+c*eaC|R>OyrwSx>1BPs2LgdHE*rPZW);a%ErPP? z1N6#0>tV(MMJ-LtpzO+0ITxMf;gqSajUF+TdyQfj3r6HUg5p1se~aifACjYHw|f2P zK{aJjyndv|@Tc%^i{Zb46GV#hP|2QTwUyvld?caggsmdYM>=lXEc&h-RgA_?sUzUb z+8Jpc4^<3uu=Kfnr;Lp&M8akUYgsucTW2wAI#kN)mFThFL8aynaxg8VpW=yP`JgJJ z2|ZcxurK7_=`l&AJH@Mail1uo+9n>u3d){A)4Wklo+xfKZ818XfU{RBG+Owg^zCuT zb8+pvGsPQq&1_V%F&>=Iqzm%2iy zN^6Sb*JR1BWVtKJlGsj_R~}v&d2_e=Ksxb5OCKb$*+$932j>_O%V`n!BRD#8@kuXs zglw)3)LRRDjz4c)b4}ngBR+TRey%h!s$pkT!(TM*FWQJxSBy|@9d>J{IBbMy_7hFx z%mVZbl8+|gXoa%CNA0eQ{C|sA;N#kcundQlO<2U>z8`l3+Wb$ z(l_`uO04;#l74WljYVuQic=Sb>0sl9HWHP1BKTu}@`;Acb==>vnRDOJNoe@>bewFl z(s|=h`J(q2WAr&9!8ln`mq@7N@h~(NFie(|!0vlQNI$@NJ5}=jiB;wUF=Us_;p@aB zW=_f!i{q4SAu|k0xDLI^Uio*6Q;* zq-44H)WKr2K2T?&Bvv06RGKUO@$H7HI42_VP$9Ws|1lr8_-|@2(^_2dIwm`Gx_wHx z*4}D|2w;*Vu_74by_~wnZ~pZW{!Mr$RcoWTlcF>+AB-1@)!9Rtd8*65)hp1SPbaxHWHJzW3yaAvM_iMi>#R$Ok) zIa5<>x(e1_fPqkx>r8+t?qltn8aimO8xe)ZiO8%U?+;fwf%e| zA-~_b_S89*+22UY`K7(o$d_Ft-BMCOS~(n->)NSe0IzGNrvIuuG&fB(5xDc3)Uu~c zUr3jK<$zk)Sq-5d(Qe5TAPh1b#R9)e^fJ-kcp*W;;p5Zu!9o0-PL)i9Gg*e6Jj0C zZ4iAhkNS%{t(I@n!=#{N&sR3;mwK#C2{(zfjm9=v`FAdxjlOG`zdcGUQjSU|&Xl~w z|J1(ws7b=WW#dU_0l0IX7?>N=3 z@8i_1zpS`jYsy#C3HCz$hYy5S!kh|+_XY;cDG1Cds%s^?qq9-WmQ`FeLGm#*U4K?Q zS)WHD6**~! zJW+QOE*IlUwN$d43Sp_&|Lx~H7(8sI^Q=d?1-`oPPX%*ovwz&TZYi}SbY$FgO|@ei z?BwWl$iS))xcuwM6}&Y=@w9=-X`XYPe%2~H(F=7rjPX4=>bDz{b~hfi)kx`okIR)7 zOSq*TzNYTVtl-U+wrKYY%)Yx{$}p0Edq$eb*sOc=Ax6{MTJz=n)oa^pyPS^|naMhr zTj-Yd{4QrsN%c-G925y0ye(z+*YZ3&Mz?NH&2-rGta=+=KKcqeq*jB4I<%0EWSC+q?dhv(PTOU@NpJ^(evfRG~yOX$9#@B5?`K@4~-<``l?Mu@^ zCVlRkFZfk-;V!JBb_OirSXxOE_E^L+4nlVr`x$-a;pXn|Xd$p*6mon&U?OtfUX)$vu?V#qBCL`|;_R{bF*NGiNax9=(_I;iSz^~;E5yK{L}k=dlfl>cfxyeAX2R~*S11BWyAM2GS&H*jl< zxnwM8TQfYAcy8Tw$^c~~^}lKz%txgb>^(@rRUi=rrNjDg{!bo@_^NFhPTBnSs2J~w@lq7lTKF3Ix4Ao-|1qBM+ z+cPy&w`I1lQ8wYr1fe5G?#NqK$Z0l@>pd4k4wlgkEz`ngKM1?lUSleh=_TeOW6P~9 ziUi$0#1Qz_)8O2H%nIgbUL_RYW4(&&9OL%7(5b9qlJWr^3&Mujw;X03fx}j{2Yw<(Ba1!!{5x# z{Hea@yfG(SgBW8W1NwDq#(k%ZOs5RJ(jEcfhp|5#RRpXV5!D@zR_`Js*g;dYBzcLQpp0$ieprAAYJ7H{=m}P&u0#wY~VOvZ;MSnYy5aa zL^6K49rXmU+j!j;4WDPW?3dn+L2?W%{=BHOviHHmha5CE zWRNw*jbu5YSdK)U4Rx#VH5v^A5DaGJf`jeTt+fZvMoU$Ba4HVeYW;G6vHsQjF8;o|qd zb`7fUxp2{8z}b@FH-qNeS`(_m{<%E0+taK0!)r@dGu&G4i1_O=<-zA&RD`iFI_`aG zYKn$TE9=P<_3y5#I$h4?bsNn`6K{;ko#dH4=0D$Mp5u=D?$J}RzCwPO``AsOU!`>; zPT%5=xv1UE9ojlLV&kVzoNIKQ_5GnxnBDbh)8JO9U-Nb>w}2etIde)coApe3*K5+Q zs$vQ)d_j5Xi&`BAD+Lf zZOJQeB-Q)|T$&T}n!`bRs*0nhSCvkk+V)h*I2+cUydU~w97O%b-g{_ro_CA zIaSl;{AxZ}3p904_~8YQ(9jx_5=Mkg31f4nKV*8n+H^zpyB5zZ=KXAo><+q0qGp0m z(PUNLWEE+$Dw%-OD}Q*kEyf7f9vwFG3L{IA#6Al}Fb2*+dItAHOP~1a=04072T##7 z=jvm~sPO7n9gZ&{a*BwG@`2GhxVjdamN2G^8Izkd^ZFIj9}iq^D>WY+nAo&F*B6C_&aVMr3b`&WDrc)<6i zrKJHQef_n&+>n1P$wVBU+{d-N4W;Qj=1pU3|5R_YA6WEb_z{}CIGGjWe`0)%X^#zx z-ad>{jdHGjrP;Ty$;()qN8X~y?7O2%=l%Ql17VkHs;b`)9X=fL#-?PmEvS7x%IK$im-qE`nG4Y(z97_2=~}T0tCQrJfHGAST?t@$ES**P}D{>yP|sX zCQz8ZHt(#H1ySw=&=2zi|=oDU3BD9Hf8DZpIsJH zdHUqZC8^`be|2x1O&B!NtA7Ta$==m_5%U3q#+r@$LEjO9cy8I1Vi$AtIY0j6)!LkqmAmz?2PHeaGtG0g6$_`oCu>*sI zxUeTOSNh6AIhWecTod^bE-MgpNri{b+}UPR@KyT`?JIqk-(Z zT0XWJ98KXE5jn4aXw+4slL~ks(IbYnthP^YW5A`PcA+g~x;B84DDA!!qaHXj*i&vX zWfVFvfIatPF|3hXxFKU;ERa@{ddd+JRsc{{gdd&|H5b?sGVF+%`tf1Euk~I3kO>X` zJg2R4B5lNF&zoGzvucI|Jg&!m&RM-TKq;`NsZcbgXUFobe|9za1 z#CvF1tI`Dfa^||ay2@#L z{W`C%so4v^e_9$F8xsxvx!X3-u6#P=mD_8Porn zO^ZU73)}3l^r-EE`(|@4nonCjEMZolOgt)db7MVsdbNIXbt44UDYPicTd7mjOrSi? z!?sY8R#Q&A|9L>qg*td`_v2IzMEh4kv6yyJ=CK$n8o4kG@|Vs2?R;p@7LU6jE!@lH z44Z=Gy3L%>f%-zII?ny5aO)?_nHdY1CBHn8s*Z3Eywh%BlBHa7ZFC3ZB3he7vk}6x z`W*h7e;{#;sNLLH4Jim+rA|EFGaJp#S5-G1(aWxhhmC!MjS&yqdgVDSoXg~og7axM zDDenjIyS3!As)z4KigfrbLZ5j@d2k;{#pN6ymrW7!|lXAADUMFZ<%%z)n>jUnq{qv z>pFkKHZ$RSy8OOF1x`bEga(mCVbS=unqC+DbJz0r>>%9p`fNfE?TEVPU|Yza53I-N z{d13bX3yQ-BW>I7hVHWGPW$u=|f1Qm`;$_-Aqha7L zJ1%#rzPNUw_spN##eS1fju8eq3kkvP~Qa7zoS%0#_QUKAlLr2ajzdpQ ze2dS$5uZC4m&*?@+RaYpEPC@(m$~iwS4c5#^g&BwQFr4xU)Vj6@=)D$ebeIl#yxy_ z)|S4$D49Ijj@XT``VesC5djC!JrI=5;21P1@Tt7w(8v9O6{NOYS6~18{^B_+#=O(f zSfO9YtQ9Uwjr6VyM1pi&)Z@dR_i@D3EaF-~5P`{D6{KH^r8!J+qeXA4Z~| zs=8H`TfM{57{lY4>Sn)?Zu+I=xLGvIDgIcF@7#AwkD`b_J~<)22Rwp|zq=(3gtA-H z7|y4w4it?BWnU9%{c`hI0>7|o#`Oj2bLm|QG@ldHQ@!@fix3e^hS)iqYXN3cu?O+i zT+0UV5w^%|wHAya?XKRXgrWA!nMX4BUqrfD`HBh#3p!=9V>mQn1xpvw|)w#yU-{KX7QgAgrEUUMw?v*!?}edU`d7)aCp%Y=99q zkX9gW7;q9L`0MarNy(V@0-@OFZh{w*U*@`&CZTCNdT)LuySikva_Tl#COzs_|5P(t zuWtC6JQCIPZ3Zi+*G*5uTCvlsag$Y1c%k!jmAtBW@r6%&^`d3&8Y7y#z~!EiWQxA+ z7+6d_WofweGu(V4W#+5dEN5%Ztw12#Td{sIo0Wwt=;EQV1)97Z?*W*9%2&q=EWcgf zF=@YE0kia&t%W!O7q)G1(-nH+;gW`F%zcCF^a zl|Q_xXHZScNvt51PoLBEP~tJ8ab}}vnlf2V8OjJE!K-*O4iZ*KTZ<<}-b2V8Aonf? zpK{S$cdz;TWh)7-UIsnf zj0W`!HhG0_LZY)KGcfz$yKCZ)im4aHlYi#XMv##~e?*NZx|#g#UM}*z^M3KN>(O{9 zqXjUHFP$z!iwQbIDU#S1(p8cPLm+`oo4zw5?gnPVmHok!BgK<8Q$g83)e~+qE1pei zN>NYA#z{oqibXzurRNhP(kmAyajt0}Km({ITMp?#V%FF1)2#*g<~6?GQM0+j@eq`m^rVHCh;{%2EY*?)J0!wb3bc_xAo%wtsg7v zT|DDxuw(i8xw}wmM9?7rE}nEw7`jy9=97{4Xd-48m%5&#M!OO;Ngqkxf4=Sw_zc7E zG{dh_Gl5+V$;WjQxAD_{$`x)ApWs43HJ!9#q{>r&jo1CkmDck!Ls1|EKjxCcoi~m_ z)6ylemrzXr9zZ|O3Dr~rJxnvi((j4>zXjj*G2u+N%Gy@HJ{K#-X*4Yba1c`Up_{g_ zzz-62sbJlkqI7RaJ!-NFY(H;EoiPwRS>$0cwfgG&`6N;8(7*yn&HKGjR6px3vfNiC z9z#>pQ}5SA#AArew}iD=yk~`5eDNd+Yzaz@U(Jt>y5!o{P3VS?wTm};We)hE97-pv zGTfLZE59JZJ?~PQnMvtVDH>1=KwS(#IXorc>V0Mg8%;foOICQV6aA`()DKn{7ceX2 zpXQx-O}cD{v**-x`?vMb|8oHl2}611CZ1O;V%oi5d@#vg-3cwMWpC{`35|qXS_wmp zCa=)_h_!L&{z(#;0yx7{fMdRRp(tLN8ws%_(!%Pm_j?8P9Luk*jzozmkx1mKVjthS zAAZ&pav{Wrd zGvOAP{a>iHY%Gdat;)a0Ic2DISJYAgA_eS+EVtsBQq&fI>)z2AGkVfzy}~@Fe=4rO z6hoGYA={8qgJOu#@Y8?1OlAHH=_<^M5o)cQ#i#k`;780Aofkli)e0jokKzG3f-2H3N80A!gKMgFIv{9)Z1dD;cm~ zyD_Wa2~HVNc~0jAFcrO5b&=1@;}itbJ)coip-YPip3qoFiN;T;GVrd?z;^TPypVJE`gR?lqAx1dDtRoLcE-JG{J2lg z^sNu|XAk`X$(Z?BA3SX^L<)H@^jcicu~zs;b&aN_O~Q4L4!`x$k-9_z?<`-$5~buc z&rleVFrMdhITk-dmNN=!xG$c-Z$XoxEUxk5ko$9uXOR%%!&wD zpJxnsLqY36_2Q$NJ({cvf8~@>@?3c+nos@Rt0;a=Qy%?yZ%6zqYw$wJP8k^l9P4oG z-@1{N73#iW$PJ8nDev3Ja;-`{JxV2;Dn5W{aV9b2>n)~d{NPQ}3FB+sp&UydmJO zLhj;)&cF?)VlZhwG@?E9EmZZhOx!jAoZ59Pvt zb{}lB!_QiY=Ny=*3Uu76?pbDU%o8W{K>OlV#kToQ7UgP&M(gPTr`wcxmg;ooXlR-x ziFpC(=9w_Wv;Ka1b+>SfkXh=L3Txc}|z$xc$HNOvLZOvONj z=iEu2Ay)%>9`}!JkBq`+Q{wBIL7j(a?C>UbO<&#gWWrE$RWUo>8u4;c^LI}vH?+|u zv4ank+x}C`xri~Oco{!XHhLU#c%hjh6#JGy6%1rl_wOjTaBE}~+8?1PL0JyXOlaI> zCXFjy8+ z7`cd)KZZ>n1j^Wz&BZIJ%7pkk&>i9`nDws?3$J9>aw5Xtc9)cneQ$Ym^ddBiis{F( zB$9Wsq(S;&TL@x67TY)+3wOvHdGj`&$yC|6kB4K$$E%9pkb?WJhGt>7Kjb+b1k<&k zC^??iCS1Lvy5V(9O3(4=8~cGl&Ug|j3KB-VP#Q`r*tdgkohZ@FcPRF`bH?!kQVVE@ zOUe}C>2NNl{fnNmhv!q~gfq>%WxD-l{rBA9;fskPS`k#DeA+}+aXa<^j+ox)ocU1+ z3I~-gQszR-0nASogZ~z}Nq+b1(Tp4cz`ku#OA~;i18zSK&8*SNV zvO_#ZwQ52{E=ufe7Z|Fa0ljQ{{D+OG=(VGw%gu)%NMPwIggh-%em$gtaHeb;A)O9w zcNGI;(|I@1jhVXv@=LwD*Uv-m#`L&pAdZ+n|K**;Mdb7GGe?ObZ~3dZw{n?0Cv&;E zmEF5$0YWe}Go7EE<;WMK&X!>z;OLp~8oq@~_zg*hL?TJY&ALE_5&t%6QbD@e)HEzQ z&nY2Sy0hWsuIMgx*n`?z?kk%!J2A$A7-LBTdZ?+XZDo>+qIB~COb`$O;z*?2|2SQ8 zO!?M`Ha`8j3fNBOzgzS%bk?;uW;zDZ%y-J>A08Dae2UjXs7=G6R07_6D3%kT)xHN!Eq*yS^{!_zlJHr0Z zUlV0z{5U{5F1ML1*FyfbJF4BIU~u$05`d+y!k4BWfFf2aK|B<)99pcw602WdU_$JQ zu!h#;==G7ZT{liA@Nd-*t~uIsncuvY8C$ow28*3(D@~mRwvgJ1I0;_#uvPoG4!GkZ zQ>H9bI=RyOaKvTrGc!|UIa*K%bD4Ab%zxyjy^`2pfU9@i%@i62QRsB-&>NAKFs~>+ z0H;66nEd8+n0e;U`*VFYL2OHEvh6b|1g}fMpjr9Wc2jLMDC|&OrfjlgNBS&PXZBHI z=t61Ex~nJIrS*+O8e#bq#+V0Vd>%*CFc#R^H^N`w1$UH?#Ur})UNC^TTu)#p#^rVc zZw9ZxNOwuvtO7^H&H6-%4gLmuk-y!T?pD-XshIxl`Z7LOUaU*Q_kED zO?&l_tpjh#xlIt?9FKRxNE^xbFAEQg!cp{CZdNg@@5J`uG8hR9k;C zE$4JIxGsrG4y^$GA&?KnkTGouw=BU2iCk_aZ{?`SsIzHPfX3X*mClZ6Iug)a8n#iW ztAP9n+%{lh?gS;QB<&B-fYSBV$--K2;k}qgu%%1MFYo0Bwz)E%oNhjbt@=j*gH4vS z;pa>+8&WTdf{hfAYvqetK!icq~$G}|>MC7Ay)1!qFhOQe6U^N^ifIXLy zt{w12>>$RgL<|YOYvpILqiN4xJ;$JHX}{ADCxM6 zKUI?oA>AyVzAu0&`iysrPbKcxyYaRt%JMseiq70x?}VXeol*x|?xeG}H3V?$I5=Vy z;(lR9q7AcI%M;FqzZ1ccPYM6%t*}CUx}Ore@bxa&2Qg$C@fBJMsaG$NA9mnB$pojm zPAz^dU=Qa?@0m(5+C7^Xu{LBWiS4z*5fekUynEO40~!>iG6@Ij$V!cL+!^hKcZti< zIm+_QJ9O1^3=4Rkie3bb)X1=heS_~HQzUiy+YX1Wmw~MQ>In~{njU$l$i)&^p@zzO z$mbZ69M8n!SL(@6PGPer#zVn;l+ZL=J#!yo^%28#(IyhW7DS_C4u^<@)r$?Od}vUm z;-R(76I%wRs>@&FZE;7I)x@zn1P>*T9k(bmYV$&wE42UcWmpHek?Q=FngfVoLRDD7 zD@++EJ;lpTkyeY_Pk!?D;$f?bH(3xiDBPzOA5G_?GuIqiG&Z0 z8xS*|r<%&=QfrI5FNfS=sk`qEbBj1^nJ`qbS1)E3lNz_Tkv{PU(6N9;4+5Xa;E$2LHYF=l3jyiB~5<#FIT-zM}}&zy&HVjF}0m1uc=Qo(&(k+pp=}tfv1}_63!G=8JqQ(HNFEgu{a}C z#k#zFK|SFq&n)!3WMlXXT%Q?PcHGB<2^8dOMqR2tRwg4AbKTrFto)-lD!K*=20I?niH)cebf)bO||zUwBx*9>u*?{I*-LozeB0 zan0ny7B5tO$0G{9K*MX&0=A%~63rbvvThQso?wF0yQfP3Pk-NuE!&N%ii*DM(<}4# z&ph-y@z%2~K^}f0@w?Kjd#gM=bh2(b@J-vDOUO1je5XbHV*2P&Q2R1p9pZp|eKbW#c z+1si4V1Q)Ds`_c?d$ag4?*^U=iHc4itoLdClq>Cc3`&Y~tY%xcqV`wIWzN}C1CS5s z7IZ}cIkwt=DoPS7hE0AxAhceYIHb;x*;~eRYxg?>u$pfRj95UPFCEvwt_gq5M-r^A za62b}0eZ|?dRYoI-m$uvSLJ$)%`rLgPeM@VW3- z9LOpouYrxel+2lB$lWBoS1+Ga_*b9%L7+=+;(mUGvH(qsW(5KL3uY&9wmNoiv`x4^ ze3?a;q@8H%Ji_O&TB!#j`TN(ayUb}nH22^L8F@(r+~(mYCtkAA+@_|t`L_Y{$8bOn zghFu2*s5Ehrag;lTL0*;;8CV`5VIE;neFHhBVLFL2rp6LfnfN8lGtsn_WSkenWy&~EeLXQEY%PN3D<|VcXBQ# zdFVR%`&%fIT<~0=di+z+wX(U>le{Z5Plv`vIhPBgbiz?81{Cfb*l51=E+mEjm-?T? z!wRu@A&_jt;<{5-9Da9H3rg`i@w7UTz^nOAZ&ikJfiFHc(yU-d-87ghd)Hrl#BsO} zotwk}kx>KHl`ytrlf@E-QnU-vhk9)jhXTLsB(@CiGVlhJCp@1f z+pd)+A@V)Ih%1?&xwBy}_ql?K%wRM^Fsv3B#H=8|uUy z2z@SqZN;$rpjnN%qke#sBSBmu=KC=Vt;JxiL3MX5xsW~{i5DuZ%S(PyhG2Y1cYnJg zf>_}@@j`lHQ|eRb_R#Kg|2CFH0|LciU9{YJMX~WuU$r<71!E1S{p87$NH=DMf#p*l z@&mj0T*reYb3e0} zjtaN!O}tZq^pYOM_iVHx0xI5`uh3nPj+0Q-xvs>cTvq#0iD#^8Pj$d_EU=?x-v+Vm z5s^VV)U6xm_%>(wfY)mX0RV2e|BeqeJun1*0yGpYM}^s|AoC%x`O5lrx0x^?j6A(^ zTu=%3_#k0#|4la90}2a@9hp`|x@0WST^phXkkO&KxmSvfz!!Ng9j8%#eN5t6es=J# zjMn3>Kv?0_z5Yvd>qbWDApu^4a!LdZ4CO8G0QhTd;_ggU@W{ZwpAY^lEN$CnYI>Jz z`9?%$h0!dU2BT!}U@*s0_MZwH`-v3#l%wMN!ELbhKh@LP-Q_L^fjRDSkB#QDtaQIq z60trxGfP#ZXs|N3>QTqO7gMQy)d7?WH|C&n&N2_g?tvX%d1kw)WZ`WD-b`OL%h*ts_Ai%jYxoGS`KuPX+giTrkGvjw(^+D(jzZJfS%-RPk z&1S9g$!v~#Y;XZ}We}*4@ck7NX#gHrL0h!GvH4(602|L`vu1$tx7UBVUu*J&b6JA| zgDs%TKMeeDpnGG1iyK8{*Jv%h_3;e%Qu=lb8#TqO1lxV<##H?eZA;u-N^D#VC)|a1~gh31xe_y;?XZfqqph?b(0Ni7M zl5YJ3Y-omRyRi=_cUu_ZGAoDAAyU|&Ddo8}QYoz066}S;u&?BEZ@Fa9> zrxN9|k?<(20PUzPc0JG~pZB=x0Zl|YE|Py+ewM%R7LReTN};=gmn=6_Cxd)$vQL~- z#UNTMWFc~T)w6NO!Ly}3F&AEJjR{;cy>mse78(Iubd^Rw>wg3Y+ARMCQExMgVZaLA z67WylVFoMx58W^aNO;pP(38JlcLX?H11eGDe#@+@e(GVTe4`yO=%w5Cj%{ zq4FpmCkO)+#sc|euhYc#$CC%!;&Yp?6Q{g+D03})1*?Q#KQT(;3y0_sV{@9GKxP}i z`Luc<2+Cck(ME=g!<0hHfGnunH|I3!Ve$$JNI|4U6hzFREyCzC21XdKam%&3XGi4y`H+2`5YQcXlFg~ol`OwIA)h3 z>C|CNZ0ySVFSAy?COg|QyQWVsO9~r*m3AB{4s&v4K?zMI;xX;QCOz}~ErnZSg-4op zcEbQf8IIU0Q#yS85iBcw>aCOD)FTH30KWbB`lZi`3$ths2iyfqh4qu4OlzUm)HB8S z{Z^uqt@vXWo(`;yo)knx;-A<;<1(ejHkDSUrU41+0Zah;cgff{P`3IXA%vtH0zoA= z!82iUWctCqsV#&%OeK1pP0f{_RWT@)qh2Kv5;+iW5eQUMEo1`Fo+aj;C~A&(w&j9d zw+J`iScxocKK=?#t4I99^#L!Wn5vsChGrjjjci@PY^4%0HU%u(rUqDw^ZonOVZeZKx-|5^gJAl4o3E+8(K@D@Hsti#F_g7W^*eb z7Dd-R69q5@klo;;G@o9ZHx*_|-=JU_Igq*$X!GZO>Pp?fw#Zv^7}xpzf!U&m3!DGm zmfG5SFik*ag;7#DF?2#{%DD73y-iOj+}h$ zdpVEu1BtXBdef;SlUSNR=biMV>Y6pm2}ASjW%ot8LVdsW2z6yFszs&dH)#J zIpM(rv~Ae>V=-3HMvNO%@i=y$Dajjc2jjzL%? zKMvIdU_eK)b+sX)fySldaXqPC{nV*Wz^vp}hkd>H+frcPrwZIHp>3Tli8ZUJqR@?W zw6;Y?h^(R9oBbO6`VP`nc!$&zs2p=(Sy4mpVPKC7>WUbmjUO(Y5RQHbf0-+dI&>%< z5!pY;;w@-yRC*v^QgiDu~5vtazUg@i6L8=)>_LHWsbk<}zypfRLk z5CYVe$U_!PWiGI_0cKrT2*1(gaW0Fp-%V&Jr(c=$NETGpUj`1f9dlu)u|Q7NxQ_#m zHzM%M;yUOD@3&w6N5B?x_&q6_$cD++uf>=5W&8I!X(0l=^JqEp&B_#|1eoMJ)=V{t z-eQb6?(DFVH}_d!%78J{O{+cgmS}(06NTal>|s&=p9??eG$xv zxI@HmB?Ef)kb0BD>L*;Zm1)NYG;X~P41o$^nARQgSP zac`%V>o(SwQ+RRhdGxGw2rq!?gQ=z0+z6x0-@<_E_U9QqHH3wc6s17Fr?V<0BC5A< zLn!kx4{N|_55FuOf(dV3q1Yj?BO1rxhZJj8_@Xpu=h$bD@|Tmw9J zJvyBuG4dSpdC;3bXKelyC1Z>q$D~vpv<*GE9WjtjEguyg)&h2n0#fg2T&@lD7=j+4 zvQcnx?*6B5JgLI8MOiEun_M#%WW$4?(MBwMc)f4n7AzrKwt>>J>g?+XZ~p9&`*18Z z^&$vmhO`kL%G&_Ar7~{_jZU+IYc;qv5Nm9h#L~nI`M;3PT`jS5$`JI8B5(}wfrnj# zqyu6V2KP`3fMQTn8;ophLu|MgAIvaHI+&3c<^ldO1-|EnqTd?KD>GN3fz<7zugp@X zoatm?K0DmT9TG{A<7_}NBhv_Onb1{etWI<3w#Sd{r?muSZ{-=#^~m&3MV&r~kfRnob;+!tT3Z{4cZIg+WErHn)E(mCg=G+TOrd z;o8%gF!bI;drqJ9znihuwfV$Z-{`_W=?>ZH6f{!?v3vLIze*3J^yx5MKk?a1pU>gT zx;b2CT-*87bos%3!wu}U2xh5+ky>1?p-?Oyt#K{kj09wV zax#!F7|`Y7a$o+yRrvG=vC478^-;az>Stoykt~<;-YeK-Un*hM_`@SJv!a%hTeo5G zX$YbsO+tN2Iwj*ENu z>b)kN^1ehHe&BSvE{HwK62JrrBRcO`g*58!K@9Z3=8htx{83GP&~o~EE+^&0VJAEx zfxq{4tlY+P>R&p1EQSo$8l)$pADg^EfJgxr|8RQZ!FN69A=Y6q)|e@xEnH4mS(jrBTs%70NpWDm?M}06QhicNkgIyvs#+Jd&^xq z7)P!n{w?_eEqsd7Z%@>sNt2g4Vre>lSu?(FZ42j>dKufXJ2@eL zG?qry>UTof1~|#!R;}A462b!$Wcz-o>LEG)o%9QYf4Sr5z{b?TGx~VLyIW0zkjNfK z!;ksqoeh&8E|~}6YeS-d!O*og{xva@pQwuN0&IKhDuy7%&j}MO z+4E?=8yvD4-0~RkG4yONqfV8V@)lzrqEI2D7`F|^HQRLx7?bgJ_!$0ek%u;S*Y~+A z24A|>{qnL^N*E(4-eglDdt@bhlTBn7QOF*VtgoV+j4}%yGIPkz@9B44{n0 z#{Jy)eW17AmjAKO^0IecW(d3~!nl@zzC(fd1%s|o0f^(L5yA=a4KYo5e9&J|Q1Jud zWFxD=#jW0D(!jvri9HY&QfM(O8TQ%xM|jHrdmThta}9e&&--0hGKZ{10kAGP@#~Y2 zhj>o*aqrpPjpmJMve!svC^nQ-P*GVIjnWO&D^bo#y*KLGH-9xma(MzbaP#VuBV6B2 z30$_%)bbnc+?%%L>QnJgzEqo)$1r@Yx06emS7RSw5dJk#E||*wn=iV@re-()@ak^< zU-u0YOCcf+ZXzL0{N=iL>oySzt?z<&x_6=NdoV;7iDGGedqbwpusZG8{g087QAYi=)2JMlu)ogBd9TDtEM{~f=ue*+p_^f%E z(Kq=cG~LND&)I9)b>O+R95f#oYT?>Oa5x;%T!?l46<1Vv+o`!`7z!~5&Vqo?=uB9s z!@a>`fmEGlWo{D*^7hyw@*;<+-D4OGWa^q0r)lTO``2>Bh|Va@;!VimZ3~PucE*4n z)^!roc4cT$;OKG}tqe1+^b$O%n$e_ z2uL6+;=56i#}6MSnu{148{37F<3~Wgw7Q^oEt95?a2|tajB;%jZO#`NhD+pNNh06p zJv}g5X|&te*w}}3bR;{PIiYBX0)wE?GG$QF1DX*>0bqtg85S7WT{@m^b^RBlF|m3Y z%V{eu^T4?eB=003OkOpcm@{yqY*~7f&T`5>FJX$yN@gibz>L`Zy9Ti|6|BA%jUIEI zL}ueVgIL2RVF7~Fy+x9}fEW7TTJMfl_)IqNds|2w7>vRh9-+qUR6Xd7vcjO?)1F%M zw_kqXUJOVFYF4p=f`Tj(62`~iBFV#jI<%rlV0Nn2*R6}tMp^m>W>)k5mb8(mxOo|R z10e~COf32%cd=5D1}|lIGTHUH*6J0Q&v~<#2OjPHE-DfTA(=aN$g4BKoJB%%2N#D{ zCmV;$)3oi5x86&1>X?o!$bk42@CuyqKqQzJKt9eL5s$<|RRD z(3B`uNvY%8^z?D7QMI{$f$rVs6?aQ)T@9>jz_UgcubkMLjzyo*>bAR4^SfLzpQ*F; zAIwAA$xI}_H!^%!k`1?U`y9sdYVeWYtBpe-+#8yY*FWak4C8uEGnN`51Z!V75Zkob z(_W(7?gnQ$AD_{P_WP^gXU{y=?3h8yRc~w-5 zGIzFH?Z8Lq>cyzC3+$vh#=ZFkOXvA-<>!5ptfHE${HVBLL%W4^UU<{cpuN4blg`m6 z=s4CL!xStV2e(p){Od)aKL6k%|D~BGSgMyepC;`(+02jOtkZ_N z-Jfczsc&x&>UYlr{`!^KT?5N&@VdcQD4z&Z32n5A~H*~=~FjM zCBzB$%!nK{s|3;b7K4gy+K4m3I6Uh{23iB1>iybylU<|BTaMovLU-ohhK@KJFUko_OwIJk# zBMuwIl$)%EbmR@=-N2jxV3x*JnW40eL*M;HEDzieZvWfoQ*+(Rz9a|a8)YGNzlQgzM zlwsHQen4A#gudPgGwdxuw)qTH z6@D!nbsh2C9R0etf;Gh9)?A3}jfr&jxV$Yt>}xUZZs9x9u=cy7qvJQG@HWY&y<`p9 z$z$UWaOm`qzYlhPjgHRDSn}h97D%tpMOn*K5zZysh@@cGwN!b2adVP(Sv<{!oPK_3 zZOtOVZt_+LLHnpn($i@yYEc5UkPA_BZwGX;Al--j6}Aw9LAN{QlnKTbAs&$srn4hh zdq;Y0gsN!WCmRNJ7}|Y7pimW_>_)WL%6H+A#AKDOd5%{_C)jIsqK30~LQBK>tM_!p zN{d(7dBTSRt&fV05bH@Lo!&{(?FK1fRoZ^ZXn!TNT^g1r+yvI28@F?p)wWPXwE1RK zMMZVc!E(9p-?`IDEX2=BqMx(pd4eAnOrgaO3}fMGh{TGc`Qw69SuZxYWV%dt{DxUu z!`&Py%DLU-RaVPwq4a2W#2k4G-OIyr?WcFk(-KSa{ew^{=d%d{vB+03s0?(&qrr5p z$`CXTnYve11cmi9qVl2D?-!$@oJ%5#zq0$~LVhV6ZZYz?T`k<|$wZ%`1Blzh_*+1*M26e~qtv>UHDR%2kZYKff~egmo_5Q`BN?{U#^?s3nX1b8XP4O}87 ziP}i#*gh)mK7Re>Utys|?)>$QGftH3x|q0(%yZMTI^pOh ztBg2U@eAiLltDp31@aI7tQy1aYCfkx0j7Ix~SD3oB0daGM*%RB38N#yp3Q_b1P3VD4@S#ZGmlB6@@S%lCiQ}L7q^( zrE-L(i{!?1i^VIW*P%S~xBRzYd4#|G1%V!|MFNgUAYGha&UZC?Sqj^ZPCd0>pd`ocj1btQK0Zd zM@ESBzwfk>g$n28sZFyy!VP9o%QhK#`L^oY0$x8onhi4S>rFG#ao*FPK=okYos&f} zBAtn4I%D$mZk~;RL-}6E29#mx)lO_HOG`4oAPz1^+G6Zdzwi9a3;t`8IHr-|j+{KA z-O82oU6+R^m3XlDUwX7BCrPwBUi32ZNd|9HuF|lhiH?h34Uj_p$kustWti|^gUjst z+FE;)ZC~O%GKB1jBCc2Vmk9rPB=wV>3Jsx{TiV-eIs~1kaRjFDQs!X#)_x$oJgA?k zEXJ>>=+sUZYRRsGx`C?unwgoIUcMDK-AyemusBQ8D0R4CU&fIuMDaf8SIat-d-jtJ zeVpLvxcl(o!(A@A-?OT<5*{XXy5a2D7WokB&H?EAJr1^=l`;pt7YX~iBANFtYt=nl zX?d~I^4cU#zn}T$r}DD0e*^Gh!%8B=)YSB!?83{(N2H&ii4Fr^&Cy<;Ql!9l7Z;bF zKBd3E%Sf5Oo_8PepK8hn@$}t`KZ@aUJcmc~#`3ZJ6-oUOWuJ5qAsSft)zKI`gIv3b zTZKTd+!1_y;KbfXI>62pL0eQZdI=}QBovyZrV|cmXU*R(qEIgK2lKtuaL`D;iWtP$ zDT0fSX!|z3K0w0u24K6hQjAI3u;{4H< zvpT|gYo{GWj4Qz1HXM%xegwH1zjodPZQt+b^D?$j#mNtYAbmrkmstE%qdUz~pg7pT z^trFMD3KFWQBi%EBxs-$;6I&&_4RbX3jo4B;}IFzW%Q0F>D_zU;UW6Ba0O3Z=#^ik zj36f2bU{KwOUmtfUQa!FTKAg=dD2pSasY;4yCA;4mnm3Ehi?;^DRb_1o=?t6`1EN1 zg@gJy?jyPFU{RcLt#Z@&#w6xQWJupKE3r_E`4FAbG%qs`ms_t~TcN1pmp2k}cJ3Aa zI5aLfoh9YW4C&@%MaADEkPynjR=LV0ddBIR`dBpn^5>-P{$v{;;m$susedPbtgp(V zl_|r1+FJ=lx-$N%fPjC3b+A1?*tz_TKhpYHYwJVH0=diW$>rA#(iqCZ^EVC?S6U3l zz56)&SVz5&dt=V=|9M^!z}RW@8l%E)?9b`Xa}Jr|3cqh&=kSqpm~aZLP>2zmFT&U9 zBc6P4>B>{Z=ag9!etv8U+?N;$D&`9RKY7B`%nZLEi%z9^Y|XMW3mmfN6|rDSRM)@g zLDTt8W^)AanN`^a(5xwH|ps;a8T{~{MqxpT3pIc~#)T^Zz;Uff-@WFR_{8`}Tg z)zx(=Q`AZX?)Q+n$hdWmL#}gk ze>V;&jFHs0EUdN!o2m~ErP0d~9UFSXgtEZd0g{8)xkiNDojodFG3eW8?;tIa%u4`Az7eW?=4=Y|IVeJeg>T(|>FR&y|KkXRUTMp6 zrde5{z%B%w&0e0A%4AArFvSY*+Bg8r_OChDSPtJfd>nO_qo~KmT{QLl?~`bI8R^B~ zWQ-yQW2YM;11Gf_yhJ)&Cw*=y7KoZ;jJoEOWqr0Ob2(0^T(mQLtGtEE`lt~zFGEES zGHCct#&Pe#*dlXTfB@zzDiVpB!b{Aa%&f>7((Cp+{&Ys(Qr+2@o12@2m2(|j^mv+K z?+x542bSJ=!$FKRtvXsWCDQvou0mJ2wSD6d;Dd{4Bfq0A1n(WdTtM+r3C+SQD3(*{ z*isn;7wYQHcD_Be8IAWJTgH_GX>H8jWbEQ#Ef@qgEVa1C6q+R%p5ZF?j6rMqP$)NO zKH0t_fiy^g@4k9BQrO@U}mD3loq zEEg2Dp+H3(b>qn9W|4{Wq+Q=GI}T0F1P91e#oko(~Z&h8Gz*MLST(aSg^{qzH}&JdCZ zRRf~7>Rb^=#f8LsjL7hVAsX`*ujK@=DKQ+Z)qq6D7WuhiB|zldQ^#|KxK*ZsDV|>` zI3i74IH*dTt#}D)V`qlrpH_`WMp-XKS!07{8-r#Gw&h<GV$Ufco^ntYahdCj4a+!_Q*zOx$SZ#w@A|=U*Ckbs8aB(pGbFkD6tdZA=%vDD2zWvcExp7)>f#wv^CM#0#GjD^9 zgCl71M^BuKv)7CWePK@7qP_v6=B4#oGh}&wh9=Jwj6Y=(KTl696o(FnSFZ?U4n9jO zx-Ebe4?!I2bVg|9?c&Me#m9Gp_{qZrXLtE6#@pMW{p_M<{K#ra+Sz~pGK(^at&q9JsEV_ypA44!#9e$7%fRR`H}xV1_%#Q2rhUIcO!qvLOCJ4g9nxoRB>7N-k5n= zG)ih+R`HsV(V^4*ZZbK9s3PxeKoRJrFiB$rEtG)t0)X-GTOkrRe%M(llT zLj_79J~lQ*X_Nsv6T*?!U)GpZbaeY7u-D(7)?u)|a|eNLD8IpID;TntOvqpPv1$vm zR~{)--#LkgA{fDAnwInt)?qA+D{DI_1U7$r1NehU6%|zK^aK@j<-`JZSk|GmIw03g zCe_>H7118(s1kQ}b`(?v+mAt<{s)BoWr7VbCn{QLdG7id%-nnQRqT}WJVnS9BE-R< zj;`-FNzy*!47k1Ruui3BlbNG07niWBpf4Xo5~7QMb|z-tZ{c^}1!>5*1=nqg^GtoBVa4SnuosCo&$fh+27xvZ3O~apa64}IWuYD?vF}p!RuF4 z1pInh33e{d%~Ov&6HTikVFGS@_-F0G^ywAW&yv(YFb0|~4HzEBzPhvjj9fn9UH6;I zxN`#^xXAewhAV-+xjY8x^e+)=K^V(s-<6E%c%7##!P$5zabAmA#9T&BTwDjxaf|Vt zqUsglGUuQA22c5xsCV#}Oh1ADN3%JM5sVvMIl|_;E{(xHv$9@?O^n?ca8$R^*0ck6 zcvT%VXx8I z-8u|0*}^Umz9h8<@BK3c;p<(vyG!qN$38lMy|2l8g$dlqUONtR$|Mr5Dcw?D$j5&N zqNk+}W@htifllYVj6*j0lwqJ%-f&tWQq@s@rgSpl#C=7CekcVJjkv zd*74bMsx(pW+MpD@_?6zOG+(kFP-5q3(79dk5a9(>5WuBedaOKtmMI$3S?VD2H_ zd+OleAPf-W5Xw$7tOv%5Y;zs+mM?~3%fW-B^R0?aqaOzchwv@M{e>>msy}sL&ztb& zZvB;_7GA1uCW~=GOLcBVMGiN{h@o^wpY%&lZgg#n(4fi$1q%GAbr`PW-kjFqq4SwwL+@OWmxR9(-p83#Gz0+0R9m-g&4icxkD> z^NR4Srp3stNBak540_alf?lY`_&tp8KaGt6?{$3z4~3*mVi(I}dlMvM{4gz|oX7t1 zXK94|&@Lw;bu0|WMGn!c{GAwh4SYMJf`?tEkARUWqIc03G6alwEI4b3#$a z7sz~%A3yd3zpLN-!y%kEZrs@A?F3x08*KQJv~s2Xd0v8hFsJsU{Q380;d48xoJ0N$ zDs%vYQ+3}q7D(LegaQ#*o1ezV$I}NF6S)P;caS4QU8`woq7Dm}M&@&}u}HzGPsDeu zSRxx=nKy6EfI%RnU==OgH!lmYHBbN#2obhI$cM;tY37gUU!5cMW-@q?hHSJE&Q^?G zR0LM;7``mfIJSq|b*3!_V3zM7HG%`B*|B{)Fr)5Af?V9M2)|o|&SHVBI!-@YQoZZ6 z`jg+jo$^_q+JEhw)0#rwL^IclbkNB12YyCH1iIfy{@}XLk7!_3fA)^QvI_CFvn#oh z@JU5ivY_E8mvvA@Z~Yn~SzTaO8#ct!4Sg(>`vumJFaX!&I(6!lqS(GVdDjgZg>a41 zuuQ99R+vV09qg=RdPyp363!y;sXsTu+Q=lT$h8l$)IH{U9${@PoUYLg3;Ixhe1{q< z#Be(1^xqr(%i(cMf(x2aL5Sj+XQw-V$|O$0OYR?lv8|_bgyy}5`#MnE=`a+d#6gFA zk@P9Tl`Y_Q5@_w~q%N>DBm}9H?(# z9x@N(@tMksyL6qCNCoz2qX5Gv&a9x@pUIg-yvK`}r6hiYJ9+$X&O`Lfjzv}T8*h%0 zLH&$5h>d{`Uk$!RZQD0{G#f-XjJb=3WTQ3?{{<)!%eH9EOp)(3eVpAuzOQkgSA}t| z3f)cI`^`-;z`i4)3Wes54fH$jU`aLH$RVlUGz=zEnx-4jZ;Qh0~_f7JZO>c~6jB4$mGh{^jnK?cLpZ;9ansKaXiP zS5+(khXhbsz%^F(^_7-#`4$c((4El=gSdc(|L(s_Xmuzghs6(!dD-mdLnwmu!^1 z3Didd43thTE?`^|=So3P2$yRQ=)0<3?24N4UO^{x9P4+!a4L3;{|Xuz#jSoG;U1gc z#->F9B0>3Qu-u!M&g^;cdO}mPc!N{jW}7q>WpO@K!JYjfRC125EZfgVSx=)9?%3}P2n#4&-d`aMDIhHi=PQF!x-J=vt$B{ov%(Dw>^rgN;6D$5RY!Ew109qka z(J_T|Tv?Gb?mex`pfVw{<52wam^*Oi~vvmF>T_ zCwBH=NOfR<7LM?ySJqkRb6=I{{Y57lQR(pk!4}|nmyAWlvlrE+ZA_Jlvfaj&+*}Me_OCcGxbCim&xS{>@9E3 z+d3Rr&TsgeHjB^iz7MLCkDP5@8QQ*PcRzJo9Qd1L zyS9~=M**D3iIcoQa)+x1+l$+Er;ph<_C-`T0_aj1AH%a{NFlArYVXqnuT#%R)ZbSh zcARL#({Zx0eovf#LvB56Di)r6|7pN<7|FXJ(Q{$ zPGxj}IR^H@#dxzGiK`&{&f*r51xY0W2GdkL>CTF`kR?*Q}%qKn= zKlcQgpehm$+~DGw>u}DgUtf2%yqL~eD^!_8tE>FOZB}D8ga#L3raGOWy_B$Ip<57!^5hP&bVIaf3P87;s8q{Pkv9#V!|w0 zc~utu`Op+uA&OVi`Lc2NSD^IGRax0(ql=8w4Qs^sshd2z_g@s}8+LzjVMS-e)9wZ^ zBq_Jmy|a2%^gZv)qtgg#&Sa%H-%FX^C2nO0E7xw>s5WA{E>=iZU}(S3uXoUOf2Fp$>;e|L)S)7- zXDay^J?)g`HHw{1aeYu86{=UoSjUy@+E=CAHZW)`E`D5XS|7_0*JECITVT0m27a4K z6+OyLf^Az7L}RMB)pchu+zU6B7ZuQ++6$*|Z*{_QeUK(qKc_2Qb|z3d)vh8*d5Ic5 zFeZYqAx?P&!J+1E*>XrHFB;iPcuaVDjX$t}lnlV5i?%l%<4xjg%;C8A8f&umkqyb} z8+b#P1<0trL1|0%!<@2+mTI+}vYwXe8#u|L3b1g=$&gYui7mCeR)on(on(;9!>Hb+_f2j&6Q+w+h}D(WlIMw&4^B^j#V~J z*tRLn4E#BgsyL&nyYrok&Pw|Dd`Tv)Iw=Qg=fBH%^s=Y(vTgWnY08GFJRWCC-G1J< zboo$Xdh4NSyvk84C4EY16VKebQ0Bv+B#hJ~mI-xoq1{K%!vE!~c=#DSL|sK&xf*jP F?0=$1xW51Z diff --git a/kdepim/mobile/lib/images/clock-center.png b/kdepim/mobile/lib/images/clock-center.png deleted file mode 100644 index 965fafbacf402dab5f87ee5a81803492d8e48568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1651 zcmV-(28{WMP)JkKeKekW-Q56dYinzF@7`TKfByWpfCbpf#ez>@}czS4PC;{l| zKeUGCYyc<-=$T9=p3mpsH4I~22qEkBx~$b|kM(-JE`<=%FpTwlKL2helZh+9;FACw zQK@ZeYU<5uwfcn+;)yW3xe!8DtJN>2rl#Hm+McA|0SFP!UIfj^*X$$y6%!8{4*Dv{>6L7!0zyy84&C zzP{fAWuWebG~j~@0{Yn4*s)9|^R^HI$8q-5g%D&inYYKr#*Qh~wnC~&DbX}70JH!H z3x&c52M-=RzSnB`RVx;Yw|aYfPXk53lu|k&^;`oYJv}{%WHR}BtyXIa6oBJ6B$LV4 zdwO~j_wV2T4iEqVe;7wcN8fTBC$iTe+`%KGqoZ%(3ulP`e|Dn%{rzv4ritS?O;ZfO zG)?;Z``-XQ0=@$*FO(r58jHn}mSr^^%(5(Eu~-r}r-gvJU$NG!K5b}=$C@-gtWn!B!8@Pk>vCh*Pt{QPIRTy7?n zO3A$fOQljWm&?t}&(D7be52;Jwt=Z~)&>mRVy!SaIr-_t#Ki4%I*pX_g#k$^NvG3H zOibLKoSgg=D5yCN!1hY(t;{c_l$xdqMZN+=bGh7~ip8S1aN)wQS5{U6&zpF|;V|iR z+PQrB^53prz4~Y1-)gQ+K=_Yv+s>7~qA><^0WSluo;r2v*tKidPCAa$y1u@S|D8rm z(=-x^1c5-HcJAD{zs}6e+y*`ez62iPo-OTN!F+Hb1(yJNfuBXA(Vt(uc=1-zQU|GaeR(%-Aq>c5my1z??B4!k?Ip?q*rAP%Gz z;7eUyT`!$EbLQ0(Cr)Gr1_lzgZ3l!9cnP_srG;=fOfVR978VxPZ{EE5;Kq#`pFe!~ z@GIae1+)Tepc3j%t*Kr6WB#)Mun*`2Qp&r41G=uaA31WQv#+mj|KY=jV*vN=-K#7w zFaIZ>&zB6tcm#Zl8?II5CEW6P+hT7R%m)|1ZGPy$Pk;`kVh7NU8*;Dr1@4wNa6|M6 zH$QEt-%a&Q0M6r@cnx(Fed>j9PwP5vn4`Gma9BMDH|+?Zh8wD?f~hO$T~&H&Fdy6x xTAjXYuPNf?M4RVmbv6vP3nV^Rzdd(z_y)%67kDW#a@XoF!GN#Fo*087P3Kp*&!Qhv@1D%k-}OQq6PHk&;MXf~UV^?Lmt zcn12~WCAvj_dKud`@Re|&-2^qKgG(WnQitTFyfT^~0p#s}YXi}I~HYD|j23(|I|K^tzLvO?o zZD=4A`cE^&2e%PJ3>`xUwB^vdaLud_ErbY#7Gm~B+(w2-{;iRO-UWsjdKpFgGXBRW zy$cL6^fHPzG(_)S5<&?1%Og<&LeC(8>3BRIg^j9WQ$T3L!1w)5m_fw`fY3!u(Q36` z3x&d^Wm$*8J%=P)K~z|U?U_MK<3JS0e-m>MwsAzkd%fi1f}bINoV}JF{0O~! zPQHMCjX+OJ)|0Tb5U;x^n-(p0o`;>tAdRFh3u%%+%pvpUpPAph@E|-TB9u}}d4LD( z*{L;PM8v$UDGf>~ANT?s1A&eI0e%4s5qSZ?8hqeHYaPXLe4VE0U7DtMaU5T3ts~$B z@XMEbfYw?^S(fF?{Wm#@b+OEY1PLm|LSu7T^X(UN<1DpbW33wQW;kk&gX@p^T z4jck|KA?d8APBU3W3GZA(7-;RN`ogN${4fJAR@}1U-`}?RXe!zO*ec1y%P+^m`a1o z_Wz;1jVnIT)`kWisfVs3-+icJ_@^BjXlO&?dgwapp?4Iz4GeuTuA^>ex`%$JhC{c3 zp|4AIwDo^n0~tE`dAEU~hpwY;Lqi9P@eXIY4GcYW9d#QTcD62kDsjT!23IAqjTt~n z!&6Zdk5vX6dnyfU;9)+Wf3Gsw*aNVB>$^>-)B7ljF0|GM?&3Vp??X0zFk$z*a>6vZv@TSQ*AZr~~Ra_Y1QUjbnZ0Y1#DgslJo N002ovPDHLkV1gac?{)wH diff --git a/kdepim/mobile/lib/images/clock-seconds.png b/kdepim/mobile/lib/images/clock-seconds.png deleted file mode 100644 index ec2b2438aba2f65bba67360af873d60f9c660da0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^%s{-BgAGWQ+8tE{QY^(zo*^7SP{WbZ0pxQQctjQh z)n5l;MkkHg6+l7B64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1UjJzX3_ zJUZV7?c_b+z@aR-IPKP(5({504V}X2%Z+3=rOH)X`yF_9OLwZWDeFoTX6GuVm|WL} z`~%{-Tqfu1{xP4?|8@Q5rhn0|R8<0#)^t}M2Sc;uILpXq-h9ji|$mcBZh%9Dc z;PVCIIgIzd%?Sqz>Uz33hH%XEJ-U&XL4k*5WA%}LrEN)SeQF9^rvt?eqJHuIc)Lbx g62l(GE4v%mw=)P${rupEDo`VXr>mdKI;Vst07ft-dH?_b diff --git a/kdepim/mobile/lib/images/dividing-line.png b/kdepim/mobile/lib/images/dividing-line.png deleted file mode 100644 index 9e80239b83318c8f04857670438e8a84481fbf67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-V!3HGfJ?-}dQY^(zo*^7SP{WbZ0pxQQctjQh z)n5l;MkkHg6+l7B64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TyJY5_^ zIA(^P*vNapfQMycwYzhMWB%)zB`cYZ$R2dJy}Os2!-3Ir64SN%9cgwe?ip+8%WvSD UzpIMj08lrBr>mdKI;Vst0IOs)f&c&j diff --git a/kdepim/mobile/lib/images/inactivedate.png b/kdepim/mobile/lib/images/inactivedate.png deleted file mode 100644 index 86f04adc98426d6eed9fbf895c835d1837a5597b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^<{-?$1|(P9zT^g^Sc;uILpXq-h9ji|$mcBZh%5%G zzYfBTP8zc-fP#`Gt`Q}{`DrEPiAAXl<>lpinR(g8$%zH2dih1^v)|cB0Tso0x;Tbp zG`>C0$a}zm=fH+KjdSuZ17m`u cvcBG7zxIfsjeAnk6QE5Dp00i_>zopr022LBOaK4? diff --git a/kdepim/mobile/lib/images/list-line-top.png b/kdepim/mobile/lib/images/list-line-top.png deleted file mode 100644 index d83e032c72a6ab5df4f57be0ab3c25875a4d8971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^M}e4~gAGXTkm&RWQY^(zo*^7SP{WbZ0pxQQctjQh z)n5l;MkkHg6+l7B64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1T+dAc}; zM6|xWzLB@tfv5GMeFxW4zk>=skD6R16qOCwbh%xeLT)~g;_}|v#wE*JBxQ8i^-%ol zXQuxC`({d>i=8|3s^-$~7JcqBt$T{=7j+uyHHht;Y%zWIOi>4MryGqYryq*F71^e&1W9b*5PQ{kLF&$wpaSTrlcxFDf loPLy1!+>#bN6!Ak;vJEmtx>CXhXP&9;OXk;vd$@?2>|<}Y{38k diff --git a/kdepim/mobile/lib/images/movedown.png b/kdepim/mobile/lib/images/movedown.png deleted file mode 100644 index c9775fb3b510a8d00aa475d4dde1f67c0316fa92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3694 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 M07*qoM6N<$f}-HWl>h($ diff --git a/kdepim/mobile/lib/images/moveup.png b/kdepim/mobile/lib/images/moveup.png deleted file mode 100644 index e33d4b6879f108bf59bfab5dbda6d0d92039b0cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3389 zcmV-D4Z`w?P)_}A^UeRC|J?pVj4}8)fp6y_ z0zv>_`BQxxARVjGhu~C8<+3t^ty_z1*1`mY7&OUE0A#$SceeFAaF0pPw#W{&ekTAk z4wzGbA=o_m4GFI#3V;HjHvuXD$^ps%>H~z8L3cuEBd9pE4HyMz3FrXO`v8rWY?k7-j z2?PxfK{pWkfJ_4lfIbbF4~vSSlmN+yOrB4A~F! zUNO8IZP?5Qlff9_cj+FOwYySPl?Y z4c<~iBpwNWZ|Lddcal9~|9uhK=lv_yALjnBIODxlj5#lx0~90MyU( zr_1N`-xYYgo-a1AG?GMPJ<_WPFSprQfN{XqMI<8C2loDX`d^2JB1aSe=KKB$DdjP` zOI^`=(178bzhT?M+JBY4lYhKu$LsSniIN2T0YII8Uz=X5AEp4Tum%q`-us06 zXTw90BcW0%>HGd?wbm)186iGmkT47%R!R-qwtaTQeH5P&U)8VFeyEi#C2^tA?7~)6 zwQb>L>lOe@mf;2xJ%_4Kec~^NUIGBNw6ye$F($R!tTqEe$YL}aJp-Wer`PvatI3;F zf+Nr4sHK7M^a?At`_7ilsSR+c;JHhC2A)a%tpxzpYW2kZN)`Z&F{x^`dIEs;Cq4hn zRmtv=3ZC8cV7jsqw_Un5f}(>ZSOy|Gi1FTi-gp@Lezy$6W4q2`i_l6P3w{6U!T4{% zo{uR76P2Z4X(EB}+pU2K(6TTAArk=c0LnRpF3?00!!7{$K`>;rCPr)A=R*7-7y^KP zj61qO6P!bM0G$BH^7y}P;qhj4rlkOa7#-Uq4mZ0XDSLJ2W>iK9aZLzu8Gvpy8V^Y+ z51>O4-$>aD0Q>D@m<}$)N&$rMK=%RUOsfn9?#_BRKy3zY2#+3#{f-X+TI(JdgARys z9p`K;7CUF#_PlM|xkMsy&UKu#Fs+!fL(y9I0KkdlGYw6sXESjAK8_SZ2Nq~^KRrClaW(bPk!yx)sxTV8k3QT=iP|d_IabV*|8p_ z;s9_s{+Kepu_YCp0dy81%Tw5Plzs$2r37jS7znYKuWMs=ERO5`+Kt7olvP&zX!JZhG7H z#TMe#Xf%4cu1f3&lVAG0EkrOBJ9uplF5q!0{XohU;G@ms2+$NzB%k2n;Q0xO%22j z-{cn6-@Ea}&jko*BAL8s32|vBI@`orTzs-RAbxOYDFCzLi)gjIL8R?CZ>3VH3jpx_ zYtKFjD`bPQv73YL;e3xhSZ%86@|odks{Ho8?_YcN$-g-8vzJn-)P+K!VEK*4k!>k% z!2pD;F)!b6m0~+?B`oVoI-Pz60KR+u*(X9)aR+0gxA#YnW;51kDT)2HB=*-b)@W&e z^k{Z4HhMc`75BT>pM3%V(&_Xo!m_UH#HH86hKqPc>kVJB5|(96cK7z42VkDR{^iGO z$aU?FjZF@FpP29CBjq^F_zvO<04!>2&Z&`}A~1^FF1@|~`RiYP{2LGcT9 zoCw2k|CTDS0XDSoRw5*0Y`QO#`6U4J!sK(GD$=R`J<)@=_jpIL8TMd{Y?l=9lz^uk zbjdi)_!;(Kd5?D_yC-_^c9Bl?zcBgSrvR9~Oy-x2vFYtZ>1`9qcBj+70-#>J z{mn<`$U6`8x%+1Nqla?+_Hf0s`T_w@F$lxJS|W^qr#!1K=(mR}{n10YK6l^D9C_z~ z7jJ*_Q2?qto&FUFky{N~+a?U9HYFBg*Dc4Xy_|n>Xc8A5>UJ~p{fVJM!cNsGM5``} zFaSy^qEz!gpjrb0VG?$#-k%sMbi0}PNnCj7<@}37mgCec#;$L+9vfl9Hmo+`CarQD z0Br6k&+b}`I1yh{O{%(VLua9hgr=cS88eJI8UPd;w4xTQik`PirVy#3Y-_4X#EJNx z=~}e8qn6*j*?Me*ZS6d)1r-FDMx)_>+|`CRS2 z`0?1&bE^spv{%U*jfSU!Ak(ROZXBgI*$+#=ou8R`DxOTf7L7)yg%I-nWp35qPDh=z zPc6F+0C&QibF2P#`gja;?=Kq!0bg2L+EXqTPbj6_O;utO*qHDZUM7|5UR+psa&ci{ z)%61h4?Yh7yj0!v=0DvU9!qyKDu1)+I#PPV+-oGg$)VoE%w77hLF^SBt8q_ zQvi^}XCbM#$3vaewH|hrupyEvgp@!N08j|2A+p_5+!us92?9d^O;n38ph@%E?qOpK zZ*%gn7S@UfE3b7@*Lvt^(Ap5h5CcUt!q$emA|Q7yyc-)<8(X+T9e(p&iU!(ek~J6r z1lniXsJm^rgSys3$NJ&TK*6^HR??7-*HDKr^Lp0L`Q?t^)~+)TbMlA^_kxP7Ye* z|AIJ+X6&^IFOTgcpnU~Njjrb9Bm;nCDmA5zG3}JM`&EoF z$y90zfXSYe+cWTTyV5)$Y5&=!?lID%vkEg#j z0sx1`#$IEbFYaW|=UxiqeDToO*lPe9Kc4>TLrmxbP3w}B2&#Y{#~Mj3rvNh!Xr4ew z5G)x7GZizp^!M-m!CuCg8W|lu%Q;`{#Fl0!g>$|*GCF#eF{Zxt=E-iu0&N`35Cls+ zfpC09e#a`p%QJExkes2)Vty93zIM6xi}ZhHf9j@Esp9dIC(m@ncFSwNT?Vkq(fS+>Tt z&yJ2dpPu`x(U)!kAi24@?u9~Os9LS|`i(}9YVEw=YcR&jw&UbI&&zeE(^I{f%mM)a zTbEB{X5_>H?wHFw9!?-BXNil-01%u8)JBwxdKsQ(X zBr&9_i7r!07Kw#<>gXB7Om?&B!)s0t4U8cm8UT`jFI{Ni27w`{1`)A9%5;)b9n~71 zfpMXTAO_qtYu3?KNJ?Rd0SJKvGXVjqajL6Y(lpinR(g8$%zH2dih1^v)|cB0ToU0ba4#H zXncEqBQKL71IxkcCsSIKG8kSOe|N~uI~l8xwSa-WEc=be9MV|w{l&B0$e_C!=spHdS3j3^P6| zgW!U_%O?XxI14-?iy0WC*Ml%)oYX`apdfpRr>`sfEe=T@Ib(*|i4%avdV9J!hD2~O zI*9Cl%@}v=zX4Dg)c^|<7sFPnnFch7(Z}8SKQ#?xv9fojrg;o3Mn*=|HBdo8fw~6r z@$pgDKvq^(>Ke$z#6(pCscRb0X(P};mXQ}JER2kdBP<zopr050)Vvj6}9 diff --git a/kdepim/mobile/lib/images/scrollinput-center.png b/kdepim/mobile/lib/images/scrollinput-center.png deleted file mode 100644 index 7e236fd3f76bc5bc3446cfdea516cb86b99c9964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5323 zcmeAS@N?(olHy`uVBq!ia0vp^B0%iG!3HFyriH%&QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WC*Ml%)oYX`apdfpRr>`sfEe=T@1??cCN4tT>dV9J!hD2~O zI*9Cl4OB760i&<4?|*8#k;T%|lA7i*uoxK`QP)5P1qJFF$j8S=T?1KJS*dFv6B83v z4WzDVK&OpB16f91q_8kDGLEoxNOdo>{QpnY0-Iqp9a5eoM_{CkKrd6hk{T@>MzbCn zAuyT_$p|zwEmRLfsvAi4!hz~8q`HAr_wop=q(-2Zsh$q0ZXop|<@fL3XeAnDT$b`76#D@8rGK}>oSs4v}gQgR-M=jrO_vd$@? F2>@|~Qdj^0 diff --git a/kdepim/mobile/lib/images/scrollinput-left-active.png b/kdepim/mobile/lib/images/scrollinput-left-active.png deleted file mode 100644 index 3772a20b6e9cc00a7a0bddcc2c1767c1304c63a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7883 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 C&!@8h diff --git a/kdepim/mobile/lib/images/scrollinput-left.png b/kdepim/mobile/lib/images/scrollinput-left.png deleted file mode 100644 index 0226622ec1f95181b94476543acc5e24608c16c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7883 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 uGF4_TBqiPrdNQJO2UHxK23$ diff --git a/kdepim/mobile/lib/images/sliderbackground.png b/kdepim/mobile/lib/images/sliderbackground.png deleted file mode 100644 index e5af759c83d578a1eb3dff83caa535dde7a3017a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2627 zcmV-J3cU4+P)ZK0k!NHWq4<*n)qEG!JN}*3}3FIkBX^Okl!8BiPNugjH;yO)(*SnRyl6EES zjHJ19@9l$Tv|4)|+pExE`~G0i?r3I^;K#Y=+$+vSr4&32M8sEKdF43(_(2p!hlLQH z5W-VRnE;@YYaad}%@c`I3X?w(5hF@zgHqZsP4hnhaOJ}fKm0;Hf=KvH*Sz@Ri$RV9=bXiH%%qe-HkC-<8 z!|;c$>xRR_!_8u`*enzZ;qdTq+w;6AlgY%UX-dYJN+VnPs(Jd5QuZQS9LE?%5edVP zH5v`GR;$_7YBf`-RI;^NEgJ+uCX>nh<>JMQzqxm4-60zy;^N}sFF5DV=W@AbsZ`n= zA0OWw85s#mrBW-O&vVyxg>Bo?Fbqiu`9FVc&3BEI5;*6i-ENa02Ilu`;IfOAfQAmID=?~nKG+ZXx1A3KgCZr!>CwOZ|krKP2} z0N~f@eLdOEojdnx5Cn_GVzDtfIk_=AJG*i8=+Wlb*jPKC&&RIoNJMON@;|Mp_J0# zoSRV;nHw7$Z=OAS_M`XTe?MXX0H$fa!8v#L?b}zIoSfV`eE4uUK0eNi#iF!r8@rxq z(KPpyNQky=L$O$tN+}*iQ5XclRuBZ4)z#Hu(=^`zfZsAi#8anEo%Vgdvw#2oU~FtG z9335v^7*{5Z5#R`+I?YEqXF0{Tt1%{qobqI=H_NtsZ@eSqv6);_0x#>J9gp1h2wYc z-gSN7ua!!rcBxe2xm-?JmZc+_=8;K-vn&g9xtuDMO1xAmwb$3zJ6l^@!xt`GILHqGOLgb=hW3sbL5(^TztJIADyzGYc$+qS{7EM$xk0HA~r`CWf%&67v6szexL z#Ih_*yi!t1p8xfH8)Mh{?pQUW?M~2}&sC@sf%dtzJ@t|Px)QW(n!)MGmgZ}S zxFfRl7Y6`ZHqG8a=z7$jp6$rl(l=-~pVP8w_C^xGb_}EaIa@Dp16_@31}B~R=;do^ z&eoe}gKp^4!>DFZ(qXh$iS`PFdk!s|W>EU4K6=NF0->)+0MN2&_D=r_!ghhsZysz9 zqX=3y&E82@5a@#&COlAe*OA<5CldTh6d+c zBweAE7EbfHB<>*RoQ7d&1VLa#QN-rv=B}~1xw+5YefQm;20>spn@t{up%@w(LdKZX zL#gI*P)dPPs@LGT*=!m?5SWhR@VU9U&lsij+T!Bk7nd$wI##RItVW|DJ?V*s!*KR^G`#~*+ET(w%Y*4Ni%Hk$>*Fk(cM z0HAhjajDVtBZPoBj!yt$ld!8p8$B~RNKt$EQ_kou0*`t5o3@Ifj zr7(_TXti3T(P+>+ckZy&)m5upE}JJ$p1e6TGqVf;Ujl5)CIDc0VPRo%eSO{i`s=Sp z5s?TXBF=f7&1PjLlaYpDC`xHhGSu4$J#(b{SSh6-*$V-~FeJ@plia;~m)*X7+gw>$ zF{h@cRu>i)J_CSd==ycvc0$i9rGEa&C!frI`st_BBO@ccR4T>AVlno8UuH5H$rw|N zu^rNBo*h!j;yA`Qjxh{FQm@xZrBY$#a+$5Itr;)9^wQ0jUw-)pBK`^huBZ3jD;om9 z_W@vOWo6}i@4ffl5yqHZC=}vCp&*8ahGg1FFx}-vZz=TbAf*H;B?=)RiXsexfNX7T zk!rO{tJNxtiNd8Rs0^?KUQP8WBQ7Cr+IB>e#VkF(Kqn0B{+) z5$(YnrQO3Q02~K^<4UPl>-D<0apMNPefxGc2m+_sY-Tv;W*XVFY)>z#BT`B*3?s^B zv!Uy{t+BDO=IrdO@O_^m;w1q1XL79W_MC6r+!ngOMVbPD82~s407n2|0sw}SBlB&2 zABRs5 diff --git a/kdepim/mobile/lib/images/sliderhandle.png b/kdepim/mobile/lib/images/sliderhandle.png deleted file mode 100644 index 9f6f15d8ce1467cc0653060dba11c99fb1aea0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1163 zcmV;61a$j}P)z2{AY8&d>x~}dd^Ykz??x@M2 zb!pP<`+r;E3nAE(E*GLE$($>nmtwY9a408fBp zARpqDcy-BSvLh0SG+UNc&T&>Gkw~ODnM`(Mvsw2mT=0rlpGu`3`YoE@bW*9*!)!MD zBX9(~^omy-kH@=|>q--k$GfoCz9B$!#R~#8K&^6~FSXb@1@VX%078XAA*h^JnnIxv z#CBZ(M?7!@6p^BPU4@Oa9lhAwhdlQ*%d$|;D~+Sg#f~d<^#SF)n{!D#5mC;Xk-l=E(Z>UnoS^}IWvdfsc~+O$>9D~<281?9ZkpnBdd z@a=g@Jb%R zCQFK@X=0jYetUa6x3RIYlgs6vVms|uz`&la*VFJ&{2T`Gu2T`c{-5;xs0`_z~ z1^xp51paW!{~QLCJ^_R+nj7qM^J!2W?sEmOu$Lg`*dK&bZh8X9i#mJuFV3D_yQxk+ dN-@z~{sD}t5@+qbWP1Pr002ovPDHLkV1mUOGLHZN diff --git a/kdepim/mobile/lib/images/status/CMakeLists.txt b/kdepim/mobile/lib/images/status/CMakeLists.txt deleted file mode 100644 index ad7d0a6f..00000000 --- a/kdepim/mobile/lib/images/status/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -FILE(GLOB IMAGES *.png) -install(FILES ${IMAGES} - DESTINATION ${PLUGIN_INSTALL_DIR}/imports/org/kde/pim/mobileui/images/status) diff --git a/kdepim/mobile/lib/images/status/offline.png b/kdepim/mobile/lib/images/status/offline.png deleted file mode 100644 index 2e04cdd6d60aaaba15f20b339ee40b5a5edfafff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 955 zcmV;s14R6ZP)V5I=;qFa!#r8L@;26%d9FrvGSXA(gx`4R;o)^oVrq zIFUYZH^t@sc(2|&=L$rGA4meQ3}6XB1c2y&=K!t&TmrZNFqpK6FaZ<-u-WhTe{~$k zZ8RF(vMg?z<}Cndnl`7Zs;DT67>~#27Z(>l0(b|&n+CKp91edwIy$=A+uIw+vMl8D z`A{a45tGSe7yw$W)=j-$=hbS}>vTGFcz7rki^XU#82lT+`yYYk0BoM0pD*t2?tb8$ zQ>9XQmPjN3;EP{Zes2`O0)T~fyNyDj@Ie$s;rRIY+1lD#-{0Nsx0Q)#wA6CByv-Qf zFbpH-dEO2Yt&a74uU0wduMNYr^WByi_V}5mELYB=vf|w~R5R*=+tvMDi0L-~QRz+1X!= zF{Rh*y(J2xR_kIw_R zc*uh0pJG9t=k1JJ(EY7@S1cBzk|YWH`}>~(WB>^Nb2piTgM+>(ibAnijN&erCdS0} zlsk(M(TiHG_Ht58j0c~h>w4Bd#>bef?7Hq7UDvaWG39%~H!;cwg8@}4m0x_by^rzH zD31bIux2!}}N)jB=4Ntf05j>ZEpmQY&) z9b+k(U~w9n>%F5M22vOBa((ot7Z}LRG3eLrHXW%EC5!@yV#2y|B}nM&#a<@M8<;BI zVp?_+J~Aj%rYBxuXy6@t$cfYu6my~&H?F$YNOA)pUS-IM}K^+wc z%A54jnGyb8PBSfF9tg^m8GQ23_IbC(_l?V|cX#Py)ou#q6vg%OpRSNgmKc8G9s4aO z;>%G7FW>xx{?&4t$<;gV+H`H2F#A-47i$^yz1cnb&HGuV1cLP-0Ob@#HN*MffG$3M z-u@$2k(W13m`j;aXK^)+8rp@AR~Sm%ld(wi+P#nJw~AS=Jql!1vYnuqr7*i!|1orU zHE~bI;uVI}g?5)}fLtH_8_$_T#t@&|;~ZODWa?1?AJqMM-o5t`=a@0d-+0a(%JtC? z;PykT;|>E7$dTGc_04LWf;>iRZLk8BE0P3~flnuZA5a6T#T-?E{}fub6QnB?sv8-L z&&zK*?(n<*9Jk$Sou2Ny;h?pYihJA(l`j6Z7Lvb1yt|Wu++7B`iVVkE3B8Rjj5T{@o$*b7h~^S^!@<&!chR*?x>SX2kz(A9+O4~))EpZUK2L7{ ztNp4D)i;28q__y+wfN$OGKuVr{PN~r{Yq+%o0VP`R%5NE7AeM6jUn5l%e5Nc1dQNu zNz{9wJjCOcp{-}_FCyq`B;^P5d-a*Xr@E55SDcd2(kOXiH zo!+eM2(45W4(Kz>8E!wUotHD*UO1r7gjOovtn6@1yDN2!q?8ykA``|EYHbN3k1Hl% z1V{lWq0`pwaA>(`4fVA%>w^+7)=&>E7j4}RD`|tMlQMzb9(i2WmO$$mOA_b0HL_E= zbShAy&`~6QXl23A9lgR{&dK#K; zpEG4#j@#MjsGg5Tw8faLz8V^`>QuO^yF~tBpzacRbt>Ey8nPy`aUD(cJveD za@_56rlz5(0gAVnRtIAzEHrpKe8Fn6;eP*Wh@1@OqA|M=4fK@QqE=?(%1?Api7j>^ z8VKg1u@E^K?)R^n7CAZHe8EDX4#rLtZ!z7j`-&fB%JitS!L#Pw=oPx1?{<8y<8RSi zlnmbtP5|0{LjTD7bnKEu)B%)BB0SZ6I=X9r3|Q~8{vo&5t+syO+E2;+%=wV}HF?H= zW7Q`9%lN|A8_!dd7nQ4Ciy!oU-82xK4!$Fid|oN;pqT)`GAhDm<*JkZLI3A52O6it zuS+CfqEr3U`$GJE#`i!gw`ZIC!bvlRBJMu!jKw|^yIgs@IULQI9k$7K03GA1+v{9T zeKJ;PzSZ0j&6=YK4R6pns-KCiZ{=%#)+37yHQ%Tol9n6+N;piYxGLzhQvk4KGb{}m z#xM$Ws}6NM_H5#W>Uo6asD>b3`CQ`psmO@Y1t96?R86OCRB&MqEqU+JLpe# j4mkh&y0upSuLbho#aT4k;?ekx00000NkvXXu0mjfS;a6H diff --git a/kdepim/mobile/lib/images/status/receiving.png b/kdepim/mobile/lib/images/status/receiving.png deleted file mode 100644 index 2cac9b95e6f92ee8dc043413808ca6020c1999d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1634 zcmV-o2A%ndP)Z?TK~zYIjh0<(Tt^khe>3;)-u<-Kd+id(PSbqZi|rtjpi-bs z1&V|!#7jksc;N*JBtJkcRRT3isX&T^S|~y&Re0i|QY4UqL=jLZRnt~bwQAa?spF40 zO`H!q&aS=QUGMJQduI+0&Ze$wr#;erx<~)tng5wHGfG6bQ|y97wSg}Ua>l{)EJ=w_ zEk(o8G=Y_l3dIlap?N1AwG~KB5clt9PiCHh+zp14bvxv?)Ub{y0FH?3l({f=>10qm|f?YLu=Kl2s! zb0t{E(A6_zM>`jI9EDx(*T0zG$!nD!E((~ow!5C{m)O^L#*QUd7;7ceKNr5JejVhQ zE+r`n1pX5J0vHRTs4VCBP+h>2Q9Zk~$ot#R$$0LvJ>f0$+_eMxIegB40@P8Zd)o#3 zV0>A|Dn06#*AJ+_r8_xag!=koA}eSSzyUz^5&+lw;w)dhUp=+`U3oKoL!RoIvFEd% zE><(#ybV$i>#b2p&&d<51TQR%>QgJ7oG(MP(Q6S9`^jcs>!q&XJ?Eef`c9jX%oX`r zwvTfvLs=ly0Nqt~=if48)=Hu{>imAW#I$Sz0k9U#784<0mgbmQ9C1!qORVcX^CQ2? z9ss@LD#_$!vtQNZyR~ilnIO&NEju<1bE`*Ng$&U$Jxo@&sb^G0zUN(HsBfN>uBY(b z>oRPRmC~qwx#V+wYZuLxI$f)Y(_k=4a84AfZGny|e(s&< z`>BX@`~ml*$}pJ+A`5DrcilzyrO!m)5rx(V-9M7&DnQ(2HS%Oq*EwJeo^}**X~{s8 zQB%hG2$X0Nn3O8Hi*`KyO8A5P5}y}^7T^{}bynDycsqL3nYTxcE30Abqw~%L)WfWr zl9miOint44Kz&WxwXmRWmGZ2J0G$ z{YTqyTt~!OUvghs>DU~SteqA6H%|IRDTv70fR%h^-9w4v76S9%=&^i_y_;1E zP{~rd$;StKedL$e8=VfuEky32#PO29w(9mIhe3`BcDct))jkydyY+})V@N@KE8xaZ z5cg{gg{NDOn2PxpyWC?zjtPMfHr%j1RR-!WG{>c6f2h;?AKnA*Z(F_Y+0A;kp(l66 z=c6wKuSJj9Rr`?g^&e8-PCR=v%k=F+HeTi3RrWOB2)+?cn_vAB!+Ogv*$$AQ36gg|~oH#K6(<0OkffCB8 gI;AW9H14GHe<1}ONil3S*8l(j07*qoM6N<$f*^1bc>n+a diff --git a/kdepim/mobile/lib/images/status/sending-receiving.png b/kdepim/mobile/lib/images/status/sending-receiving.png deleted file mode 100644 index c928eaef484db401851313378ff48ab19a524928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1825 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 D)T|nj diff --git a/kdepim/mobile/lib/importhandlerbase.cpp b/kdepim/mobile/lib/importhandlerbase.cpp deleted file mode 100644 index 7d311524..00000000 --- a/kdepim/mobile/lib/importhandlerbase.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "importhandlerbase.h" - -#include -#include -#include -#include -#include - -#include - -ImportHandlerBase::ImportHandlerBase( QObject *parent ) - : QObject( parent ), - mImportProgressDialog( 0 ), - mSelectionModel( 0 ) -{ -} - -ImportHandlerBase::~ImportHandlerBase() -{ -} - -void ImportHandlerBase::setSelectionModel( QItemSelectionModel *model ) -{ - mSelectionModel = model; -} - -void ImportHandlerBase::exec() -{ - const QStringList fileNames = KFileDialog::getOpenFileNames( KUrl(), fileDialogNameFilter(), - 0, fileDialogTitle() ); - - if ( fileNames.count() == 0 ) { - deleteLater(); - return; - } - - bool ok = false; - const Akonadi::Item::List items = createItems( fileNames, &ok ); - if ( !ok || items.isEmpty() ) { - deleteLater(); - return; - } - - QPointer dlg = new Akonadi::CollectionDialog(); - dlg->setMimeTypeFilter( mimeTypes() ); - dlg->setAccessRightsFilter( Akonadi::Collection::CanCreateItem ); - dlg->setCaption( collectionDialogTitle() ); - dlg->setDescription( collectionDialogText() ); - - // preselect the currently selected folder - if ( mSelectionModel ) { - const QModelIndexList indexes = mSelectionModel->selectedRows(); - if ( !indexes.isEmpty() ) { - const QModelIndex collectionIndex = indexes.first(); - const Akonadi::Collection collection = collectionIndex.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - dlg->setDefaultCollection( collection ); - } - } - - if ( !dlg->exec() || !dlg ) { - delete dlg; - deleteLater(); - return; - } - - const Akonadi::Collection collection = dlg->selectedCollection(); - delete dlg; - - if ( !mImportProgressDialog ) { - mImportProgressDialog = new KProgressDialog( 0, importDialogTitle() ); - mImportProgressDialog->setLabelText( importDialogText( items.count(), collection.name() ) ); - mImportProgressDialog->setAllowCancel( false ); - mImportProgressDialog->setAutoClose( true ); - mImportProgressDialog->progressBar()->setRange( 1, items.count() ); - } - - mImportProgressDialog->show(); - - foreach ( const Akonadi::Item &item, items ) { - Akonadi::ItemCreateJob *job = new Akonadi::ItemCreateJob( item, collection ); - connect( job, SIGNAL(result(KJob*)), SLOT(slotImportJobDone(KJob*)) ); - } -} - -void ImportHandlerBase::slotImportJobDone( KJob* ) -{ - if ( !mImportProgressDialog ) - return; - - QProgressBar *progressBar = mImportProgressDialog->progressBar(); - - progressBar->setValue( progressBar->value() + 1 ); - - // cleanup on last step - if ( progressBar->value() == progressBar->maximum() ) { - mImportProgressDialog->deleteLater(); - mImportProgressDialog = 0; - deleteLater(); - } -} - diff --git a/kdepim/mobile/lib/importhandlerbase.h b/kdepim/mobile/lib/importhandlerbase.h deleted file mode 100644 index 6d9569f9..00000000 --- a/kdepim/mobile/lib/importhandlerbase.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef IMPORTHANDLERBASE_H -#define IMPORTHANDLERBASE_H - -#include "mobileui_export.h" - -#include - -#include - -class KJob; -class KProgressDialog; -class QItemSelectionModel; - -class MOBILEUI_EXPORT ImportHandlerBase : public QObject -{ - Q_OBJECT - - public: - explicit ImportHandlerBase( QObject *parent = 0 ); - ~ImportHandlerBase(); - - void setSelectionModel( QItemSelectionModel *model ); - - public Q_SLOTS: - void exec(); - - protected: - virtual QString fileDialogNameFilter() const = 0; - virtual QString fileDialogTitle() const = 0; - virtual QString collectionDialogText() const = 0; - virtual QString collectionDialogTitle() const = 0; - virtual QString importDialogText( int count, const QString &collectionName ) const = 0; - virtual QString importDialogTitle() const = 0; - - virtual QStringList mimeTypes() const = 0; - virtual Akonadi::Item::List createItems( const QStringList &fileNames, bool *ok ) = 0; - - private Q_SLOTS: - void slotImportJobDone( KJob* ); - - private: - KProgressDialog *mImportProgressDialog; - QItemSelectionModel *mSelectionModel; -}; - -#endif diff --git a/kdepim/mobile/lib/kcolorcombo.cpp b/kdepim/mobile/lib/kcolorcombo.cpp deleted file mode 100644 index 26a21bf6..00000000 --- a/kdepim/mobile/lib/kcolorcombo.cpp +++ /dev/null @@ -1,373 +0,0 @@ -/* This file is part of the KDE libraries - Copyright (C) 1997 Martin Jones (mjones@kde.org) - Copyright (C) 2007 Pino Toscano (pino@kde.org) - Copyright (c) 2007 David Jarvie (software@astrojar.org.uk) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "kcolorcombo.h" - -#include -#include -#include - -#include - -using namespace KPIM; - -namespace KPIM { - -class KColorComboDelegate : public QAbstractItemDelegate -{ - public: - enum ItemRoles { - ColorRole = Qt::UserRole + 1 - }; - - enum LayoutMetrics { - FrameMargin = 3 - }; - - KColorComboDelegate(QObject *parent = 0); - virtual ~KColorComboDelegate(); - - virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; - virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; -}; - -} - -static QBrush k_colorcombodelegate_brush(const QModelIndex &index, int role) -{ - QBrush brush; - QVariant v = index.data(role); - if (v.type() == QVariant::Brush) { - brush = v.value(); - } else if (v.type() == QVariant::Color) { - brush = QBrush(v.value()); - } - return brush; -} - -KColorComboDelegate::KColorComboDelegate(QObject *parent) - : QAbstractItemDelegate(parent) -{ -} - -KColorComboDelegate::~KColorComboDelegate() -{ -} - -void KColorComboDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const -{ - // background - QColor innercolor(Qt::white); - bool isSelected = (option.state & QStyle::State_Selected); - bool paletteBrush = (k_colorcombodelegate_brush(index, Qt::BackgroundRole).style() == Qt::NoBrush); - if (isSelected) { - innercolor = option.palette.color(QPalette::Highlight); - } else { - innercolor = option.palette.color(QPalette::Base); - } - // highlight selected item - QStyleOptionViewItemV4 opt(option); - opt.showDecorationSelected = true; - QStyle *style = opt.widget ? opt.widget->style() : QApplication::style(); - style->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter, opt.widget); - QRect innerrect = option.rect.adjusted(FrameMargin, FrameMargin, -FrameMargin, -FrameMargin); - // inner color - QVariant cv = index.data(ColorRole); - if (cv.type() == QVariant::Color) { - QColor tmpcolor = cv.value(); - if (tmpcolor.isValid()) { - innercolor = tmpcolor; - paletteBrush = false; - painter->setPen(Qt::transparent); - painter->setBrush(innercolor); - QPainter::RenderHints tmpHint = painter->renderHints(); - painter->setRenderHint(QPainter::Antialiasing); - painter->drawRoundedRect(innerrect, 2, 2); - painter->setRenderHints(tmpHint); - painter->setBrush(Qt::NoBrush); - } - } - // text - QVariant tv = index.data(Qt::DisplayRole); - if (tv.type() == QVariant::String) { - QString text = tv.toString(); - QColor textColor; - if (paletteBrush) { - if (isSelected) { - textColor = option.palette.color(QPalette::HighlightedText); - } else { - textColor = option.palette.color(QPalette::Text); - } - } else { - int unused, v; - innercolor.getHsv(&unused, &unused, &v); - if (v > 128) { - textColor = Qt::black; - } else { - textColor = Qt::white; - } - } - painter->setPen(textColor); - painter->drawText(innerrect.adjusted(1, 1, -1, -1), text); - } -} - -QSize KColorComboDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const -{ - Q_UNUSED(index) - - // the width does not matter, as the view will always use the maximum width available - return QSize(100, option.fontMetrics.height() + 2 * FrameMargin); -} - - -static const uchar standardPalette[][4] = { - { 255, 255, 255 }, // white - { 192, 192, 192 }, // light gray - { 160, 160, 160 }, // gray - { 128, 128, 128 }, // dark gray - { 0, 0, 0 }, // black - - { 255, 128, 128 }, //light red - { 255, 192, 128 }, //light orange - { 255, 255, 128 }, //light yellow - { 128, 255, 128 }, //light green - { 128, 255, 255 }, //cyan blue - { 128, 128, 255 }, //light blue - { 255, 128, 255 }, //light violet - { 255, 0, 0 }, //red - { 255, 128, 0 }, //orange - { 255, 255, 0 }, //yellow - { 0, 255, 0 }, //green - { 0, 255, 255 }, //light blue - { 0, 0, 255 }, //blue - { 255, 0, 255 }, //violet - { 128, 0, 0 }, //dark red - { 128, 64, 0 }, //dark orange - { 128, 128, 0 }, //dark yellow - { 0, 128, 0 }, //dark green - { 0, 128, 128 }, //dark light blue - { 0, 0, 128 }, //dark blue - { 128, 0, 128 } //dark violet -}; - -#define STANDARD_PALETTE_SIZE (int(sizeof(standardPalette) / sizeof(*standardPalette))) - -static inline QColor standardColor(int i) -{ - const uchar *entry = standardPalette[i]; - return QColor(entry[0], entry[1], entry[2]); -} - -namespace KPIM { - -class KColorComboPrivate -{ - public: - KColorComboPrivate(KColorCombo *qq); - - void addColors(); - void setCustomColor(const QColor &color, bool lookupInPresets = true); - - // slots - void _k_slotActivated(int index); - void _k_slotHighlighted(int index); - - KColorCombo *q; - QList colorList; - QColor customColor; - QColor internalcolor; -}; - -} - -KColorComboPrivate::KColorComboPrivate(KColorCombo *qq) - : q(qq), customColor(Qt::white) -{ -} - -void KColorComboPrivate::setCustomColor(const QColor &color, bool lookupInPresets) -{ - if (lookupInPresets) { - if (colorList.isEmpty()) { - for (int i = 0; i < STANDARD_PALETTE_SIZE; ++i) { - if (standardColor(i) == color) { - q->setCurrentIndex(i + 1); - internalcolor = color; - return; - } - } - } else { - int i = colorList.indexOf(color); - if (i >= 0) { - q->setCurrentIndex(i + 1); - internalcolor = color; - return; - } - } - } - - internalcolor = color; - customColor = color; - q->setItemData(0, customColor, KColorComboDelegate::ColorRole); -} - - -KColorCombo::KColorCombo( QWidget *parent ) - : QComboBox(parent), d(new KColorComboPrivate(this)) -{ - setItemDelegate(new KColorComboDelegate(this)); - d->addColors(); - - connect(this, SIGNAL(activated(int)), SLOT(_k_slotActivated(int))); - connect(this, SIGNAL(highlighted(int)), SLOT(_k_slotHighlighted(int))); - - // select the white color - setCurrentIndex(1); - d->_k_slotActivated(1); - - setMaxVisibleItems(13); -} - - -KColorCombo::~KColorCombo() -{ - delete d; -} - -void KColorCombo::setColors( const QList &colors ) -{ - clear(); - d->colorList = colors; - d->addColors(); -} - -QList KColorCombo::colors() const -{ - if (d->colorList.isEmpty()) { - QList list; - for (int i = 0; i < STANDARD_PALETTE_SIZE; ++i) { - list += standardColor(i); - } - return list; - } else { - return d->colorList; - } -} - -/** - Sets the current color - */ -void KColorCombo::setColor( const QColor &col ) -{ - if (!col.isValid()) { - return; - } - - if (count() == 0) { - d->addColors(); - } - - d->setCustomColor(col, true); -} - - -/** - Returns the currently selected color - */ -QColor KColorCombo::color() const { - return d->internalcolor; -} - -bool KColorCombo::isCustomColor() const -{ - return d->internalcolor == d->customColor; -} - -void KColorCombo::paintEvent(QPaintEvent *event) -{ - Q_UNUSED(event) - QStylePainter painter(this); - painter.setPen(palette().color(QPalette::Text)); - - QStyleOptionComboBox opt; - initStyleOption(&opt); - painter.drawComplexControl(QStyle::CC_ComboBox, opt); - - QRect frame = style()->subControlRect(QStyle::CC_ComboBox, &opt, QStyle::SC_ComboBoxEditField, this); - painter.setRenderHint(QPainter::Antialiasing); - painter.setPen(Qt::transparent); - painter.setBrush(QBrush(d->internalcolor)); - painter.drawRoundedRect(frame.adjusted(1, 1, -1, -1), 2, 2); -} - -/** - Show an empty list, till the next color is set with setColor - */ -void KColorCombo::showEmptyList() -{ - clear(); -} - -void KColorComboPrivate::_k_slotActivated(int index) -{ - if (index == 0) { - internalcolor = customColor; - } else if (colorList.isEmpty()) { - internalcolor = standardColor(index - 1); - } else { - internalcolor = colorList[index - 1]; - } - - emit q->activated(internalcolor); -} - -void KColorComboPrivate::_k_slotHighlighted(int index) -{ - if (index == 0) { - internalcolor = customColor; - } else if (colorList.isEmpty()) { - internalcolor = standardColor(index - 1); - } else { - internalcolor = colorList[index - 1]; - } - - emit q->highlighted(internalcolor); -} - -void KColorComboPrivate::addColors() -{ - q->addItem(QString()); - - if (colorList.isEmpty()) { - for (int i = 0; i < STANDARD_PALETTE_SIZE; ++i) { - q->addItem(QString()); - q->setItemData(i + 1, standardColor(i), KColorComboDelegate::ColorRole); - } - } else { - for (int i = 0, count = colorList.count(); i < count; ++i) { - q->addItem(QString()); - q->setItemData(i + 1, colorList[i], KColorComboDelegate::ColorRole); - } - } -} - -#include "moc_kcolorcombo.cpp" diff --git a/kdepim/mobile/lib/kcolorcombo.h b/kdepim/mobile/lib/kcolorcombo.h deleted file mode 100644 index fbb5b039..00000000 --- a/kdepim/mobile/lib/kcolorcombo.h +++ /dev/null @@ -1,119 +0,0 @@ -/* This file is part of the KDE libraries - Copyright (C) 1997 Martin Jones (mjones@kde.org) - Copyright (c) 2007 David Jarvie (software@astrojar.org.uk) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -//----------------------------------------------------------------------------- -// KDE color selection combo box - -// layout management added Oct 1997 by Mario Weilguni -// - - -#ifndef KPIM_KCOLORCOMBO_H -#define KPIM_KCOLORCOMBO_H - -#include "mobileui_export.h" - -#include -#include - -namespace KPIM { - -class KColorComboPrivate; - -/** - * Combobox for colors. - * - * The combobox provides some preset colors to be selected, and an entry to - * select a custom color using a color dialog. - * - * \image html kcolorcombo.png "KDE Color Combo Box" - */ -class MOBILEUI_EXPORT KColorCombo : public QComboBox -{ - Q_OBJECT - Q_PROPERTY( QColor color READ color WRITE setColor NOTIFY activated USER true ) - Q_PROPERTY( QList colors READ colors WRITE setColors ) - -public: - /** - * Constructs a color combo box. - */ - explicit KColorCombo(QWidget *parent = 0); - ~KColorCombo(); - - /** - * Selects the color @p col. - */ - void setColor( const QColor &col ); - /** - * Returns the currently selected color. - **/ - QColor color() const; - - /** - * Find whether the currently selected color is a custom color selected - * using a color dialog. - **/ - bool isCustomColor() const; - - /** - * Set a custom list of colors to choose from, in place of the standard - * list. - * @param cols list of colors. If empty, the selection list reverts to - * the standard list. - **/ - void setColors(const QList &colors ); - - /** - * Return the list of colors available for selection. - * @return list of colors - **/ - QList colors() const; - - /** - * Clear the color list and don't show it, till the next setColor() call - **/ - void showEmptyList(); - -Q_SIGNALS: - /** - * Emitted when a new color box has been selected. - */ - void activated( const QColor &col ); - /** - * Emitted when a new item has been highlighted. - */ - void highlighted( const QColor &col ); - -protected: - virtual void paintEvent(QPaintEvent *event); - -private: - friend class KColorComboPrivate; - KColorComboPrivate *const d; - - Q_DISABLE_COPY(KColorCombo) - - Q_PRIVATE_SLOT(d, void _k_slotActivated(int)) - Q_PRIVATE_SLOT(d, void _k_slotHighlighted(int)) -}; - -} - -#endif // KCOLORCOMBO_H diff --git a/kdepim/mobile/lib/kdeclarativeapplication.cpp b/kdepim/mobile/lib/kdeclarativeapplication.cpp deleted file mode 100644 index cf335724..00000000 --- a/kdepim/mobile/lib/kdeclarativeapplication.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "kdeclarativeapplication.h" -#include "stylesheetloader.h" - -#include -#include -#include -#include -#include -#include - -#ifdef KDELIBS_STATIC_LIBS -int staticInitKConfigGroupGui(); -#endif - -static inline bool runPreApplicationSetup( const KCmdLineOptions & opts ) { - -#ifdef KDELIBS_STATIC_LIBS - //This is needed to get KConfig working with QColor - staticInitKConfigGroupGui(); -#endif - KDeclarativeApplicationBase::preApplicationSetup(opts); - return true; // <-- default value of KApplication(bool) ctor -} - -KDeclarativeApplicationBase::KDeclarativeApplicationBase() - : KUniqueApplication( runPreApplicationSetup( KCmdLineOptions() ) ) // inject some code before KApplication ctor runs -{ - postApplicationSetup(); -} - -KDeclarativeApplicationBase::KDeclarativeApplicationBase( const KCmdLineOptions & opts ) - : KUniqueApplication( runPreApplicationSetup( opts ) ) // inject some code before KApplication ctor runs -{ - postApplicationSetup(); -} - -// static -void KDeclarativeApplicationBase::postApplicationSetup() -{ - static bool run = false; - - if ( run ) { - kDebug() << "called twice"; - return; - } - - run = true; - - setFont(KGlobalSettings::generalFont()); - - KGlobal::locale()->insertCatalog( QLatin1String("libakonadi") ); - KGlobal::locale()->insertCatalog( QLatin1String("accountwizard") ); - KGlobal::locale()->insertCatalog( QLatin1String("libkdepimmobileui") ); - KGlobal::locale()->insertCatalog( QLatin1String("akonadi_serializer_plugins") ); // for conflict handling -} - -// static -void KDeclarativeApplicationBase::preApplicationSetup() -{ - preApplicationSetup( KCmdLineOptions() ); -} - - -// static -void KDeclarativeApplicationBase::preApplicationSetup( const KCmdLineOptions & appOptions ) -{ - static bool run = false; - - if ( run ) { - kDebug() << "called twice"; - return; - } - - run = true; - - // doesn't really belong here, but needs to be called before the ctor - QApplication::setGraphicsSystem( QLatin1String("raster") ); - - KCmdLineOptions options(appOptions); - options.add("timeit", ki18n("start timers for various parts of the application startup")); - options.add("enable-opengl", ki18n("use OpenGL ES acceleration for rendering (for testing only)")); - options.add("disable-opengl", ki18n("do not use OpenGL ES acceleration for rendering (for testing only)")); - KCmdLineArgs::addCmdLineOptions(options); -} - diff --git a/kdepim/mobile/lib/kdeclarativeapplication.h b/kdepim/mobile/lib/kdeclarativeapplication.h deleted file mode 100644 index 8e48579d..00000000 --- a/kdepim/mobile/lib/kdeclarativeapplication.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef KDECLARATIVEAPPLICATION_H -#define KDECLARATIVEAPPLICATION_H - -#include "mobileui_export.h" -#include -#include - -class KCmdLineOptions; - -class MOBILEUI_EXPORT KDeclarativeApplicationBase : public KUniqueApplication -{ - Q_OBJECT - public: - KDeclarativeApplicationBase(); - explicit KDeclarativeApplicationBase( const KCmdLineOptions & applicationOptions ); - - /** Sets up some stuff. Only needs to be called (before the - KApplication constructor) if you don't use - KDeclarativeApplication as your KApplication. - You can pass your own options as \a applicationOptions. - */ - static void preApplicationSetup( const KCmdLineOptions & applicationOptions ); - /** - \overload - */ - static void preApplicationSetup(); - - KDE_DEPRECATED static void initCmdLine() { preApplicationSetup(); } - - /** Sets up some other stuff. Only needs to be called (after the - KApplication constructor) if you don't use - KDeclarativeApplication as your KApplication */ - static void postApplicationSetup(); - - private: - static void emulateMaemo5(); - static void emulateMaemo6(); -}; - -template -class KDeclarativeApplication : public KDeclarativeApplicationBase -{ - public: - KDeclarativeApplication() : KDeclarativeApplicationBase(), m_mainView( 0 ) {} - explicit KDeclarativeApplication( const KCmdLineOptions &applicationOptions ) : KDeclarativeApplicationBase( applicationOptions ), m_mainView( 0 ) {} - virtual ~KDeclarativeApplication() - { - delete m_mainView; - } - - int newInstance() - { - kDebug(); - if ( !m_mainView ) { - m_mainView = new T; - m_mainView->show(); - } else { - m_mainView->raise(); - } - - return 0; - } - - protected: - T* m_mainView; -}; - -#endif diff --git a/kdepim/mobile/lib/kdeclarativefullscreenview.cpp b/kdepim/mobile/lib/kdeclarativefullscreenview.cpp deleted file mode 100644 index b412026b..00000000 --- a/kdepim/mobile/lib/kdeclarativefullscreenview.cpp +++ /dev/null @@ -1,262 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "kdeclarativefullscreenview.h" -#include "stylesheetloader.h" - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#ifdef KDEQMLPLUGIN_STATIC -#include "runtime/qml/kde/kdeintegration.h" -#include -#endif - -KDeclarativeFullScreenView::KDeclarativeFullScreenView(const QString& qmlFileName, QWidget* parent) : - QDeclarativeView( parent ), -#ifndef Q_OS_WIN - m_glWidget( 0 ), -#endif - m_qmlFileName( qmlFileName ), - m_splashScreen( 0 ) -{ - bool openGlEnabled = false; // off by default, seems to have random bad side-effects on the N900 - if ( KCmdLineArgs::parsedArgs()->isSet( "enable-opengl" ) ) - openGlEnabled = true; - if ( KCmdLineArgs::parsedArgs()->isSet( "disable-opengl" ) ) - openGlEnabled = false; - - if ( openGlEnabled ) { - // make MainView use OpenGL ES2 backend for better performance - // right now, the best performance can be achieved with a GLWidget - // and the use of the raster graphicssystem. - QGLFormat format = QGLFormat::defaultFormat(); - format.setSampleBuffers(false); - m_glWidget = new QGLWidget(format, this); // use OpenGL ES2 backend. - m_glWidget->setAutoFillBackground(false); - setViewport(m_glWidget); - Akonadi::Control::widgetNeedsAkonadi( m_glWidget ); - } else { - Akonadi::Control::widgetNeedsAkonadi( this ); - } - -#ifdef KDEQMLPLUGIN_STATIC - rootContext()->setContextProperty( QLatin1String("KDE"), new KDEIntegration( this ) ); -#endif - - setResizeMode( QDeclarativeView::SizeRootObjectToView ); - - resize(800, 480); - - qApp->setStartDragDistance(40); - - m_splashScreen = new QLabel( this ); - QPixmap splashBackground; - splashBackground.load( KStandardDirs::locate( "data", QLatin1String( "mobileui" ) + QDir::separator() + QLatin1String( "splashscreenstatic.png" ) ) ); - m_splashScreen->setPixmap( splashBackground ); - - QMetaObject::invokeMethod( this, "delayedInit", Qt::QueuedConnection ); -} - -void KDeclarativeFullScreenView::delayedInit() -{ - kDebug(); - static const bool debugTiming = KCmdLineArgs::parsedArgs()->isSet("timeit"); - QTime t; - - connect( this, SIGNAL(statusChanged(QDeclarativeView::Status)), SLOT(slotStatusChanged(QDeclarativeView::Status)) ); - - engine()->rootContext()->setContextProperty( QLatin1String("window"), QVariant::fromValue( static_cast( this ) ) ); - - if ( debugTiming ) { - kWarning() << "Adding QML import paths" << t.elapsed() << &t; - } - foreach ( const QString &importPath, KGlobal::dirs()->findDirs( "module", QLatin1String("imports") ) ) - engine()->addImportPath( importPath ); - QString qmlPath = KStandardDirs::locate( "appdata", m_qmlFileName + QLatin1String(".qml") ); - - if ( debugTiming ) { - kWarning() << "Adding QML import paths done" << t.elapsed() << &t; - } - - if ( qmlPath.isEmpty() ) // Try harder - qmlPath = KStandardDirs::locate( "data", QLatin1String( "mobileui" ) + QDir::separator() + m_qmlFileName + QLatin1String(".qml") ); - - // TODO: Get this from a KXMLGUIClient? - mActionCollection = new KActionCollection( this ); - - KAction *action = KStandardAction::close( this, SLOT(close()), this ); - mActionCollection->addAction( QLatin1String( "close" ), action ); - - action = new KAction( i18n( "Full Shutdown" ), this ); - connect( action, SIGNAL(triggered()), SLOT(closeAkonadi()) ); - mActionCollection->addAction( QLatin1String( "quit_akonadi" ), action ); - - if ( debugTiming ) { - kWarning() << "KDeclarativeFullScreenView ctor done" << t.elapsed() << &t << QDateTime::currentDateTime(); - } - - doDelayedInitInternal(); - doDelayedInit(); // let sub-classes do their init work - - // call setSource() only once our derived classes have set up everything - QMetaObject::invokeMethod( this, "setQmlFile", Qt::QueuedConnection, Q_ARG( QString, qmlPath ) ); -} - -KDeclarativeFullScreenView::~KDeclarativeFullScreenView() -{ -#ifndef Q_OS_WIN - delete m_glWidget; -#endif -} - -void KDeclarativeFullScreenView::setQmlFile(const QString& source) -{ - static const bool debugTiming = KCmdLineArgs::parsedArgs()->isSet("timeit"); - QTime t; - if ( debugTiming ) { - t.start(); - kWarning() << "start setSource" << &t << " - " << QDateTime::currentDateTime(); - } - qDebug() << QLatin1String("trying to load \"") + source << QLatin1String("\""); - setSource( QUrl::fromLocalFile(source) ); - if ( debugTiming ) { - kWarning() << "setSourceDone" << t.elapsed() << &t; - } -} - -void KDeclarativeFullScreenView::closeAkonadi() -{ - const QString message = i18n( "A full shutdown will disable notifications\nabout new emails and upcoming events." ); - const int result = KMessageBox::warningContinueCancel( 0, message ); - - if ( result == KMessageBox::Cancel ) - return; - - Akonadi::ServerManager::self()->stop(); - close(); -} - -void KDeclarativeFullScreenView::closeAllFrontends(const QString &qmlFileName) -{ - QStringList applications; - applications << QLatin1String( "notes-mobile" ) - << QLatin1String( "tasks-mobile" ) - << QLatin1String( "kmail-mobile" ) - << QLatin1String( "kaddressbook-mobile" ) - << QLatin1String( "korganizer-mobile" ); - if ( !applications.contains( qmlFileName + QLatin1String( "-mobile" ) ) && - !applications.contains( qmlFileName ) ){ - return; - } - foreach( const QString &app, applications ) { - if ( app.startsWith( qmlFileName ) ) - continue; - QDBusConnection::sessionBus().call( QDBusMessage::createMethodCall( - QLatin1String( "org.kde." ) + app, QLatin1String( "/MainApplication" ), - QLatin1String( "org.kde.KApplication" ), QLatin1String( "quit" ) ), QDBus::NoBlock ); - } -} - -void KDeclarativeFullScreenView::slotStatusChanged ( QDeclarativeView::Status status ) -{ - if ( status == QDeclarativeView::Error ) { - QStringList errorMessages; - std::transform( errors().constBegin(), errors().constEnd(), std::back_inserter( errorMessages ), boost::bind( &QDeclarativeError::toString, _1 ) ); - KMessageBox::error( this, i18n( "Application loading failed: %1", errorMessages.join( QLatin1String( "\n" ) ) ) ); - QCoreApplication::instance()->exit( 1 ); - } - - if ( status == QDeclarativeView::Ready ) { - if ( m_splashScreen ) { - m_splashScreen->deleteLater(); - m_splashScreen = 0; - } - } -} - -KActionCollection* KDeclarativeFullScreenView::actionCollection() const -{ - return mActionCollection; -} - -QObject* KDeclarativeFullScreenView::getAction( const QString& name, const QString& argument ) const -{ - QAction * action = mActionCollection->action( name ); - if ( !argument.isEmpty() && action ) - action->setData( argument ); - return action; -} - -QString KDeclarativeFullScreenView::getActionIconName( const QString& name ) const -{ - QAction * action = mActionCollection->action( name ); - if ( action ) - return action->icon().name(); - - return QString(); -} - -void KDeclarativeFullScreenView::setActionTitle(const QString& name, const QString& title) -{ - QAction * action = mActionCollection->action( name ); - if ( !title.isEmpty() && action ) - action->setText( title ); -} - -void KDeclarativeFullScreenView::bringToFront() -{ - activateWindow(); - raise(); -} - -void KDeclarativeFullScreenView::resizeEvent(QResizeEvent* event) -{ - QDeclarativeView::resizeEvent(event); - if ( m_splashScreen ) { - m_splashScreen->move( (event->size().width() - m_splashScreen->sizeHint().width())/2, - (event->size().height() - m_splashScreen->sizeHint().height())/2 ); - } -} - diff --git a/kdepim/mobile/lib/kdeclarativefullscreenview.h b/kdepim/mobile/lib/kdeclarativefullscreenview.h deleted file mode 100644 index 2e4e7a58..00000000 --- a/kdepim/mobile/lib/kdeclarativefullscreenview.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef KDECLARATIVEFULLSCREENVIEW_H -#define KDECLARATIVEFULLSCREENVIEW_H - -#include - -#include - -#ifndef Q_OS_WIN -#include -#endif - - -#include "mobileui_export.h" - -class KActionCollection; -class QLabel; - -/** - * Full screen view for mobile applications. This class is just to share code and therefore - * should not be instantiated by itself. - */ -class MOBILEUI_EXPORT KDeclarativeFullScreenView : public QDeclarativeView -{ - Q_OBJECT - protected: - /** - * Creates a new full screen view for a mobile application. - * - * @param qmlFileName is used to find the QML file in ${APP_DATA_DIR}/qmlFileName.qml - */ - KDeclarativeFullScreenView( const QString &qmlFileName, QWidget *parent = 0 ); - virtual ~KDeclarativeFullScreenView(); - - public Q_SLOTS: - - /** Get an action based on name. If the @param argument is not empty, it sets that - * as the data member of the action, see QAction::setData(). - */ - QObject* getAction( const QString &name, const QString& argument ) const; - - /** - * Returns the icon name for the action with the given @p name. - */ - QString getActionIconName( const QString &name ) const; - - - /** - * Brings the View to the foreground - */ - void bringToFront(); - - void setActionTitle( const QString& name, const QString& title); - - KActionCollection* actionCollection() const; - - protected: - /** Most initialization work should be done here instead of the ctor. - */ - virtual void doDelayedInit() = 0; - /** This is for KDeclarativeFullScreenView, don't touch! */ - virtual void doDelayedInitInternal() {} - - virtual void resizeEvent( QResizeEvent* event ); - - private Q_SLOTS: - void delayedInit(); - void setQmlFile( const QString &source ); - void slotStatusChanged ( QDeclarativeView::Status ); - void closeAkonadi(); - void closeAllFrontends( const QString &qmlFileName ); - - private: - - KActionCollection *mActionCollection; - - QGLWidget *m_glWidget; - - QString m_qmlFileName; - QLabel *m_splashScreen; -}; - -#endif diff --git a/kdepim/mobile/lib/kdeclarativemainview.cpp b/kdepim/mobile/lib/kdeclarativemainview.cpp deleted file mode 100644 index 45f3e21a..00000000 --- a/kdepim/mobile/lib/kdeclarativemainview.cpp +++ /dev/null @@ -1,1008 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#include "kdeclarativemainview.h" -#include "kdeclarativemainview_p.h" - -#include "agentstatusmonitor.h" -#include "akonadibreadcrumbnavigationfactory.h" -#include "declarativewidgetbase.h" -#include "exporthandlerbase.h" -#include "guistatemanager.h" -#include "importhandlerbase.h" -#include "kdepim-version.h" -#include "kresettingproxymodel.h" -#include "listproxy.h" -#include "qmlcheckableproxymodel.h" -#include "qmllistselectionmodel.h" -#include "statemachinebuilder.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "kdeversion.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#define VIEW(model) { \ - QTreeView *view = new QTreeView( this ); \ - view->setWindowFlags( Qt::Window ); \ - view->setAttribute(Qt::WA_DeleteOnClose); \ - view->setModel(model); \ - view->setWindowTitle(#model); \ - view->show(); \ -} \ - -class ActionImageProvider : public QDeclarativeImageProvider -{ - public: - ActionImageProvider() - : QDeclarativeImageProvider( QDeclarativeImageProvider::Pixmap ) - { - } - - QPixmap requestPixmap( const QString &id, QSize *size, const QSize &requestedSize ) - { - int width = 32; - int height = 32; - if ( requestedSize.isValid() ) { - width = requestedSize.width(); - height = requestedSize.height(); - } - - if ( size ) - *size = QSize( width, height ); - - const QIcon icon = KIconLoader::global()->loadIcon( id, KIconLoader::Dialog, KIconLoader::SizeHuge ); - return icon.pixmap( width, height ); - } -}; - -using namespace Akonadi; - -typedef DeclarativeWidgetBase DeclarativeFilterLineEdit; -QML_DECLARE_TYPE( DeclarativeFilterLineEdit ) -QML_DECLARE_TYPE( DeclarativeBulkActionFilterLineEdit ) -QML_DECLARE_TYPE( AgentStatusMonitor ) -QML_DECLARE_TYPE( GuiStateManager ) - -KDeclarativeMainView::KDeclarativeMainView( const QString &appName, ListProxy *listProxy, QWidget *parent ) - : KDeclarativeFullScreenView( appName, parent ) - , d( new KDeclarativeMainViewPrivate( this ) ) -{ - d->mListProxy = listProxy; - - ActionImageProvider *provider = new ActionImageProvider; - engine()->addImageProvider( QLatin1String( "action_images" ), provider ); - - d->mSearchManager = new SearchManager( this ); - connect( d->mSearchManager, SIGNAL(searchStarted(Akonadi::Collection)), - d, SLOT(searchStarted(Akonadi::Collection)) ); - connect( d->mSearchManager, SIGNAL(searchStopped()), - d, SLOT(searchStopped()) ); -} - -void KDeclarativeMainView::doDelayedInitInternal() -{ - qmlRegisterType( "org.kde.akonadi", 4, 5, "FilterLineEdit" ); - qmlRegisterType( "org.kde.akonadi", 4, 5, "BulkActionFilterLineEdit" ); - qmlRegisterUncreatableType( "org.kde.pim.mobileui", 4, 5, "GuiStateManager", QLatin1String( "This type is only exported for its enums" ) ); - - static const bool debugTiming = KCmdLineArgs::parsedArgs()->isSet( "timeit" ); - - QTime time; - if ( debugTiming ) { - time.start(); - kWarning() << "Start KDeclarativeMainView ctor" << &time << " - " << QDateTime::currentDateTime(); - } - - KGlobal::locale()->insertCatalog( QLatin1String( "libkdepimmobileui" ) ); - KGlobal::locale()->insertCatalog( QLatin1String( "libincidenceeditors" ) ); // for category dialog - - if ( debugTiming ) { - kWarning() << "Catalog inserted" << time.elapsed() << &time; - } - - d->mChangeRecorder = new Akonadi::ChangeRecorder( this ); - d->mChangeRecorder->fetchCollection( true ); - d->mChangeRecorder->setCollectionMonitored( Akonadi::Collection::root() ); - d->mChangeRecorder->itemFetchScope().setFetchModificationTime( false ); - - d->mEtm = new Akonadi::EntityTreeModel( d->mChangeRecorder, this ); - d->mEtm->setItemPopulationStrategy( Akonadi::EntityTreeModel::LazyPopulation ); - d->mEtm->setIncludeUnsubscribed( false ); - - if ( debugTiming ) { - kWarning() << "ETM created" << time.elapsed() << &time; - } - - QAbstractItemModel *mainModel = d->mEtm; - - QAbstractProxyModel *mainProxyModel = createMainProxyModel(); - if ( mainProxyModel ) { - mainProxyModel->setSourceModel( mainModel ); - mainModel = mainProxyModel; - } - - d->mBnf = new Akonadi::BreadcrumbNavigationFactory( this ); - d->mBnf->createBreadcrumbContext( mainModel, this ); - - connect( d->mBnf, SIGNAL(collectionSelectionChanged()), SIGNAL(collectionSelectionChanged()) ); - - if ( debugTiming ) { - kWarning() << "BreadcrumbNavigation factory created" << time.elapsed() << &time; - } - - QDeclarativeContext *context = engine()->rootContext(); - context->setContextProperty( QLatin1String("searchManager"), d->mSearchManager ); - - context->setContextProperty( QLatin1String("_breadcrumbNavigationFactory"), d->mBnf ); - - d->mMultiBnf = new Akonadi::BreadcrumbNavigationFactory( this ); - d->mMultiBnf->createCheckableBreadcrumbContext( mainModel, this ); - - context->setContextProperty( QLatin1String("_multiSelectionComponentFactory"), d->mMultiBnf ); - - context->setContextProperty( QLatin1String("accountsModel"), QVariant::fromValue( static_cast( mainModel ) ) ); - - Akonadi::EntityMimeTypeFilterModel *filterModel = new Akonadi::EntityMimeTypeFilterModel( this ); - filterModel->setSourceModel( d->mBnf->unfilteredChildItemModel() ); - filterModel->addMimeTypeExclusionFilter( Akonadi::Collection::mimeType() ); - - d->mItemModel = createItemModelContext( context, filterModel ); - - context->setContextProperty( QLatin1String("application"), QVariant::fromValue( static_cast( this ) ) ); - - // The global screen manager - d->mGuiStateManager = createGuiStateManager(); - context->setContextProperty( QLatin1String("guiStateManager"), QVariant::fromValue( static_cast( d->mGuiStateManager ) ) ); - connect( d->mGuiStateManager, SIGNAL(guiStateChanged(int,int)), d, SLOT(guiStateChanged(int,int)) ); - - // A list of available favorites - d->mFavoritesEditor = new FavoritesEditor( actionCollection(), KGlobal::config(), this ); - d->mFavoritesEditor->setCollectionSelectionModel( d->mBnf->selectionModel() ); - - context->setContextProperty( QLatin1String("favoritesEditor"), d->mFavoritesEditor ); - context->setContextProperty( QLatin1String("favoritesList"), d->mFavoritesEditor->model() ); - - // A list of agent instances - Akonadi::AgentInstanceModel *agentInstanceModel = new Akonadi::AgentInstanceModel( this ); - d->mAgentInstanceFilterModel = new Akonadi::AgentFilterProxyModel( this ); - d->mAgentInstanceFilterModel->addCapabilityFilter( QLatin1String( "Resource" ) ); - d->mAgentInstanceFilterModel->setSourceModel( agentInstanceModel ); - - context->setContextProperty( QLatin1String("agentInstanceList"), QVariant::fromValue( static_cast( d->mAgentInstanceFilterModel ) ) ); - d->mAgentInstanceSelectionModel = new QItemSelectionModel( d->mAgentInstanceFilterModel, this ); - - setupAgentActionManager( d->mAgentInstanceSelectionModel ); - - KAction *action = KStandardAction::quit( qApp, SLOT(quit()), this ); - actionCollection()->addAction( QLatin1String( "quit" ), action ); - - action = new KAction( i18n( "Synchronize all" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(synchronizeAllItems()) ); - actionCollection()->addAction( QLatin1String( "synchronize_all_items" ), action ); - - action = new KAction( i18n( "Report Bug Or Request Feature" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(reportBug()) ); - actionCollection()->addAction( QLatin1String( "report_bug" ), action ); - - setupStandardActionManager( regularSelectionModel(), d->mItemActionSelectionModel ); - - connect( qApp, SIGNAL(aboutToQuit()), d, SLOT(saveState()) ); - - connect( d->mBnf->selectedItemModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), SIGNAL(isLoadingSelectedChanged()) ); - connect( d->mBnf->selectedItemModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), SIGNAL(isLoadingSelectedChanged()) ); - connect( d->mBnf->selectedItemModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), SIGNAL(isLoadingSelectedChanged()) ); - - connect( d->mBnf->qmlBreadcrumbsModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), SLOT(breadcrumbsSelectionChanged()) ); - connect( d->mBnf->qmlBreadcrumbsModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(breadcrumbsSelectionChanged()) ); - connect( d->mBnf->qmlSelectedItemModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), SLOT(breadcrumbsSelectionChanged()) ); - connect( d->mBnf->qmlSelectedItemModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(breadcrumbsSelectionChanged()) ); - - if ( debugTiming ) { - kWarning() << "Restoring state" << time.elapsed() << &time; - } - - QTimer::singleShot(1000, d, SLOT(initializeStateSaver())); - - if ( debugTiming ) { - kWarning() << "restore state done" << time.elapsed() << &time; - } - - connect( d->mBnf->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SIGNAL(numSelectedAccountsChanged()) ); - - if ( debugTiming ) { - time.start(); - kWarning() << "Finished KDeclarativeMainView ctor: " << time.elapsed() << " - " << &time; - } - - qmlRegisterUncreatableType( "org.kde.pim.mobileui", 4, 5, "AgentStatusMonitor", QLatin1String( "This type is only exported for its enums" ) ); - d->mAgentStatusMonitor = new AgentStatusMonitor( this ); - d->mAgentStatusMonitor->setMimeTypeFilter( d->mChangeRecorder->mimeTypesMonitored() ); - context->setContextProperty( QLatin1String("agentStatusMonitor"), QVariant::fromValue( d->mAgentStatusMonitor ) ); - - connect( itemSelectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(itemSelectionChanged()) ); -} - -void KDeclarativeMainView::itemSelectionChanged() -{ - const QModelIndexList list = itemSelectionModel()->selectedRows(); - if ( list.size() != 1 ) { - // TODO Clear messageViewerItem - return; - } - - const QModelIndex itemIndex = list.first(); - const Akonadi::Collection parentCollection = itemIndex.data( Akonadi::EntityTreeModel::ParentCollectionRole ).value(); - Q_ASSERT( parentCollection.isValid() ); - const QModelIndex index = EntityTreeModel::modelIndexForCollection( entityTreeModel(), parentCollection ); - Q_ASSERT( index.isValid() ); - - const Akonadi::Item item = itemIndex.data( EntityTreeModel::ItemRole ).value(); - viewSingleItem( item ); -} - -void KDeclarativeMainView::viewSingleItem( const Akonadi::Item& ) -{ -} - -bool KDeclarativeMainView::useFilterLineEditInCurrentState() const -{ - return false; -} - -bool KDeclarativeMainView::doNotUseFilterLineEditInCurrentState() const -{ - return false; -} - -KDeclarativeMainView::~KDeclarativeMainView() -{ - delete d; -} - -void KDeclarativeMainView::setItemNaigationAndActionSelectionModels( QItemSelectionModel *itemNavigationSelectionModel, QItemSelectionModel *itemActionSelectionModel ) -{ - d->mItemNavigationSelectionModel = itemNavigationSelectionModel; - - d->mItemViewStateMaintainer = new KViewStateMaintainer( KGlobal::config()->group( QLatin1String( "ItemSelectionState" ) ), this ); - d->mItemViewStateMaintainer->setSelectionModel( d->mItemNavigationSelectionModel ); - - d->mItemActionSelectionModel = itemActionSelectionModel; -} - -QAbstractItemModel* KDeclarativeMainView::createItemModelContext( QDeclarativeContext *context, QAbstractItemModel *model ) -{ - d->mItemFilterModel = createItemFilterModel(); - if ( d->mItemFilterModel ) { - d->mItemFilterModel->setSourceModel( model ); - model = d->mItemFilterModel; - } - - QMLCheckableItemProxyModel *qmlCheckable = new QMLCheckableItemProxyModel( this ); - qmlCheckable->setSourceModel( model ); - - QItemSelectionModel *itemActionCheckModel = new QItemSelectionModel( model, this ); - qmlCheckable->setSelectionModel( itemActionCheckModel ); - - KSelectionProxyModel *checkedItems = new KSelectionProxyModel( itemActionCheckModel, this ); - checkedItems->setFilterBehavior( KSelectionProxyModel::ExactSelection ); - checkedItems->setSourceModel( model ); - - QItemSelectionModel *itemSelectionModel = new QItemSelectionModel( model, this ); - - if ( d->mListProxy ) { - d->mListProxy->setParent( this ); // Make sure the proxy gets deleted when this gets deleted. - - d->mListProxy->setSourceModel( qmlCheckable ); - } - - KLinkItemSelectionModel *itemNavigationSelectionModel = new KLinkItemSelectionModel( d->mListProxy, itemSelectionModel, this ); - KLinkItemSelectionModel *itemActionSelectionModel = new KLinkItemSelectionModel( d->mListProxy, itemActionCheckModel, this ); - - setItemNaigationAndActionSelectionModels( itemNavigationSelectionModel, itemActionSelectionModel ); - - if ( d->mListProxy ) { - context->setContextProperty( QLatin1String("itemModel"), d->mListProxy ); - - QMLListSelectionModel *qmlItemNavigationSelectionModel = new QMLListSelectionModel( d->mItemNavigationSelectionModel, this ); - QMLListSelectionModel *qmlItemActionSelectionModel = new QMLListSelectionModel( d->mItemActionSelectionModel, this ); - - context->setContextProperty( QLatin1String("_itemNavigationModel"), QVariant::fromValue( static_cast( qmlItemNavigationSelectionModel ) ) ); - context->setContextProperty( QLatin1String("_itemActionModel"), QVariant::fromValue( static_cast( qmlItemActionSelectionModel ) ) ); - - Akonadi::BreadcrumbNavigationFactory *bulkActionBnf = new Akonadi::BreadcrumbNavigationFactory( this ); - bulkActionBnf->createCheckableBreadcrumbContext( d->mEtm, this ); - context->setContextProperty( QLatin1String("_bulkActionBnf"), QVariant::fromValue( static_cast( bulkActionBnf ) ) ); - } - - StateMachineBuilder *builder = new StateMachineBuilder; - builder->setItemSelectionModel( itemNavigationSelectionModel ); - builder->setNavigationModel( d->mBnf->selectionModel() ); - d->mStateMachine = builder->getMachine( this ); - Q_ASSERT( d->mStateMachine ); - connect( d->mStateMachine, SIGNAL(stateChanged()), SIGNAL(stateChanged()) ); - d->mStateMachine->start(); - delete builder; - - return model; -} - -void KDeclarativeMainView::setApplicationState( const QString &state ) -{ - d->mStateMachine->requestState( state ); -} - -QString KDeclarativeMainView::applicationState() const -{ - if ( !d->mStateMachine ) - return QString(); - - const QSet set = d->mStateMachine->configuration(); - if ( set.isEmpty() ) - return QString(); - Q_ASSERT( !set.isEmpty() ); - - QSet::const_iterator it = set.begin(); - const QSet::const_iterator end = set.end(); - QObject *top = *it; - ++it; - for ( ; it != end; ++it ) { - QObject *state = *it; - QObject *parent = state->parent(); - while ( parent ) { - if ( parent == top ) - top = state; - parent = parent->parent(); - } - } - - return top->objectName(); -} - -void KDeclarativeMainView::breadcrumbsSelectionChanged() -{ - const int numBreadcrumbs = qobject_cast( d->mBnf->qmlBreadcrumbsModel() )->rowCount(); - const int numSelectedItems = qobject_cast( d->mBnf->qmlSelectedItemModel() )->rowCount(); - - if ( d->mGuiStateManager->inSearchScreenState() || - d->mGuiStateManager->inSearchResultScreenState() || - d->mGuiStateManager->inViewSingleItemState() ) - return; - - if ( numBreadcrumbs == 0 && numSelectedItems == 0) { - d->mGuiStateManager->switchState( GuiStateManager::HomeScreenState ); - } else if ( numBreadcrumbs == 0 && numSelectedItems == 1 ) { - d->mGuiStateManager->switchState( GuiStateManager::AccountScreenState ); - } else if ( numSelectedItems > 1 ) { - d->mGuiStateManager->switchState( GuiStateManager::MultipleFolderScreenState ); - } else { - d->mGuiStateManager->switchState( GuiStateManager::SingleFolderScreenState ); - } -} - -ItemFetchScope& KDeclarativeMainView::itemFetchScope() -{ - return d->mChangeRecorder->itemFetchScope(); -} - -void KDeclarativeMainView::addMimeType( const QString &mimeType ) -{ - d->mChangeRecorder->setMimeTypeMonitored( mimeType ); - d->mAgentInstanceFilterModel->addMimeTypeFilter( mimeType ); - d->mAgentStatusMonitor->setMimeTypeFilter( d->mChangeRecorder->mimeTypesMonitored() ); -} - -QStringList KDeclarativeMainView::mimeTypes() const -{ - return d->mChangeRecorder->mimeTypesMonitored(); -} - -void KDeclarativeMainView::setAgentInstanceListSelectedRow( int row ) -{ - static const int column = 0; - const QModelIndex idx = d->mAgentInstanceSelectionModel->model()->index( row, column ); - d->mAgentInstanceSelectionModel->select( QItemSelection( idx, idx ), QItemSelectionModel::ClearAndSelect ); -} - -void KDeclarativeMainView::setSelectedAccount( int row ) -{ - d->mBnf->selectionModel()->clearSelection(); - if ( row < 0 ) - return; - - d->mBnf->selectChild( row ); -} - -Akonadi::EntityTreeModel* KDeclarativeMainView::entityTreeModel() const -{ - return d->mEtm; -} - -QAbstractItemModel* KDeclarativeMainView::itemModel() const -{ - return d->mListProxy ? static_cast( d->mListProxy ) : static_cast( d->mItemModel ); -} - -void KDeclarativeMainView::launchAccountWizard() -{ -#ifdef Q_OS_UNIX - const QString inProcessAccountWizard = KStandardDirs::locate( "module", QLatin1String("accountwizard_plugin.so") ); - kDebug() << inProcessAccountWizard; - if ( !inProcessAccountWizard.isEmpty() ) { - QPluginLoader loader( inProcessAccountWizard ); - if ( loader.load() ) { - QObject *instance = loader.instance(); - // TODO error handling - QMetaObject::invokeMethod( instance, "run", Qt::DirectConnection, Q_ARG( QStringList, d->mChangeRecorder->mimeTypesMonitored() ), Q_ARG( QWidget*, this ) ); - loader.unload(); - return; - } else { - kDebug() << loader.fileName() << loader.errorString(); - } - } -#endif - - QStringList args; - args << QLatin1String( "--type" ) << d->mChangeRecorder->mimeTypesMonitored().join( QLatin1String(",") ); - - int pid = KProcess::startDetached( QLatin1String( "accountwizard" ), args ); - if ( !pid ) { - // Handle error - kDebug() << "error creating accountwizard"; - } -} - -void KDeclarativeMainView::synchronizeAllItems() -{ - if ( !d->mAgentInstanceFilterModel ) - return; - - for ( int row = 0; row < d->mAgentInstanceFilterModel->rowCount(); ++row ) { - const QModelIndex index = d->mAgentInstanceFilterModel->index( row, 0 ); - if ( !index.isValid() ) - continue; - - Akonadi::AgentInstance instance = index.data( Akonadi::AgentInstanceModel::InstanceRole ).value(); - if ( !instance.isValid() ) - continue; - - instance.synchronize(); - } -} - -void KDeclarativeMainView::saveFavorite() -{ - QString collectionName; - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndexList indexes = regularSelectionModel()->selectedRows(); - if ( indexes.count() == 1 ) { - const Akonadi::Collection collection = indexes.first().data( Akonadi::EntityTreeModel::CollectionRole ).value(); - collectionName = collection.displayName(); - } - } - - bool ok; - const QString name = KInputDialog::getText( i18n( "Select name for favorite" ), - i18n( "Favorite name" ), - collectionName, &ok, this ); - - if ( !ok || name.isEmpty() ) - return; - - d->mFavoritesEditor->saveFavorite( name ); -} - -void KDeclarativeMainView::loadFavorite( const QString &name ) -{ - d->mFavoritesEditor->loadFavorite( name ); -} - -void KDeclarativeMainView::multipleSelectionFinished() -{ - const QModelIndexList list = d->mMultiBnf->checkModel()->selectedRows(); - - QItemSelection selection; - foreach ( const QModelIndex &index, list ) - selection.select( index, index ); - - d->mBnf->selectionModel()->select( selection, QItemSelectionModel::ClearAndSelect ); -} - -QItemSelectionModel* KDeclarativeMainView::regularSelectionModel() const -{ - if ( !d->mBnf ) - return 0; - - return d->mBnf->selectionModel(); -} - -Akonadi::Item KDeclarativeMainView::itemFromId( quint64 id ) const -{ - const QModelIndexList list = EntityTreeModel::modelIndexesForItem( d->mEtm, Item( id ) ); - if ( list.isEmpty() ) - return Akonadi::Item(); - - return list.first().data( EntityTreeModel::ItemRole ).value(); -} - -QItemSelectionModel* KDeclarativeMainView::itemSelectionModel() const -{ - return d->mItemNavigationSelectionModel; -} - -QItemSelectionModel* KDeclarativeMainView::itemActionModel() const -{ - return d->mItemActionSelectionModel; -} - -void KDeclarativeMainView::persistCurrentSelection( const QString &key ) -{ - ETMViewStateSaver saver; - saver.setSelectionModel( d->mBnf->selectionModel() ); - - const QStringList selection = saver.selectionKeys(); - d->mPersistedSelections.insert( key, selection ); -} - -void KDeclarativeMainView::clearPersistedSelection( const QString &key ) -{ - d->mPersistedSelections.remove( key ); -} - -void KDeclarativeMainView::restorePersistedSelection( const QString &key ) -{ - if ( !d->mPersistedSelections.contains( key ) ) - return; - - const QStringList selection = d->mPersistedSelections.take( key ); - ETMViewStateSaver *restorer = new ETMViewStateSaver; - - QItemSelectionModel *selectionModel = d->mBnf->selectionModel(); - selectionModel->clearSelection(); - - restorer->setSelectionModel( selectionModel ); - restorer->restoreSelection( selection ); -} - -void KDeclarativeMainView::importItems() -{ - ImportHandlerBase *handler = importHandler(); - if ( !handler ) - return; - - handler->setSelectionModel( regularSelectionModel() ); - handler->exec(); -} - -void KDeclarativeMainView::exportItems() -{ - ExportHandlerBase *handler = exportHandler(); - if ( !handler ) - return; - - handler->setSelectionModel( regularSelectionModel() ); - handler->exec(); -} - -void KDeclarativeMainView::exportSingleItem() -{ - ExportHandlerBase *handler = exportHandler(); - if ( !handler ) - return; - - handler->setItemSelectionModel( itemSelectionModel() ); - handler->exec(); -} - -/* - * Copied from kdelibs/kdoctools/kio_help.cpp - */ -static QString lookupDocumentation( const QString &fileName ) -{ - QStringList searches; - - // assemble the local search paths - // all files on /usr/share/doc are deleted instantly on maemo5 by docpurge - // therefore manual must be installed in data dir - const QStringList localDirectories = KGlobal::dirs()->resourceDirs( "data" ); - - QStringList languages = KGlobal::locale()->languageList(); - languages.append( QLatin1String("en") ); - languages.removeAll( QLatin1String("C") ); - - // this is kind of compat hack as we install our docs in en/ but the - // default language is en_US - for ( QStringList::Iterator it = languages.begin(); it != languages.end(); ++it ) { - if ( *it == QLatin1String("en_US") ) - *it = QLatin1String("en"); - } - - // look up the different languages - foreach ( const QString &directory, localDirectories ) { - foreach ( const QString &language, languages ) { - searches.append( QString::fromLatin1( "%1%2/%3/%4" ).arg( directory, QLatin1String("kontact-touch"), language, fileName ) ); - } - } - - foreach ( const QString &search, searches ) { - const QFileInfo info( search ); - if ( info.exists() && info.isFile() && info.isReadable() ) - return search; - } - - return QString(); -} - -void KDeclarativeMainView::openManual() -{ - const QString path = lookupDocumentation( QLatin1String("manual/index.html") ); - const KUrl url = path; - const bool isValid = url.isValid(); - - if ( !isValid ) { - KMessageBox::error( this, - i18n( "The manual could not be found on your system." ), - i18n( "Manual not found" ) ); - return; - } - - d->openHtml( path ); -} - -void KDeclarativeMainView::openDocumentation( const QString &relativePath ) -{ - const QString path = lookupDocumentation( relativePath ); - const KUrl url = path; - const bool isValid = url.isValid(); - - if ( !isValid ) { - KMessageBox::error( this, - i18n( "The documentation could not be found on your system." ), - i18n( "Documentation not found" ) ); - return; - } - - d->openHtml( path ); -} - -void KDeclarativeMainView::openLicenses() -{ - KDeclarativeMainView::openAttachment( KGlobal::dirs()->findResource( "data", QLatin1String("kontact-touch/licenses.pdf") ), - QLatin1String( "application/pdf" ) ); -} - -void KDeclarativeMainView::openAttachment( const QString &url, const QString &mimeType ) -{ - qDebug() << "opening attachment: " << url; - - KRun::runUrl( KUrl( url ), mimeType, this ); -} - -void KDeclarativeMainView::saveAttachment( const QString &url, const QString &defaultFileName ) -{ - QString fileName = defaultFileName; - if ( defaultFileName.isEmpty() ) { - fileName = KUrl( url ).fileName(); - if ( fileName.isEmpty() ) { - fileName = i18nc( "filename for an unnamed attachment", "attachment.1" ); - } - } - QStringList patterns = KMimeType::findByUrl( url, 0, true, true, 0 )->patterns(); - QString filter; - if ( !patterns.isEmpty() ) { - filter += patterns.join( QLatin1String( "\n" ) ); - filter += i18n( "\n*|all files" ); - } - const QString targetFile = KFileDialog::getSaveFileName( KUrl( QLatin1String("kfiledialog:///saveAttachment/") + fileName ), - filter, - this, - i18n( "Save Attachment" ) ); - if ( targetFile.isEmpty() ) { - return; - } - - if ( QFile::exists( targetFile ) ) { - if ( KMessageBox::warningContinueCancel( this, - i18n( "A file named
%1
already exists.

Do you want to overwrite it?", - targetFile ), - i18n( "File Already Exists" ), KGuiItem(i18n("&Overwrite")) ) == KMessageBox::Cancel) { - return; - } - - QFile::remove( targetFile ); - } - - QFile file( url ); - bool success = file.open( QFile::ReadOnly ); - if ( success ) - success = file.copy( targetFile ); - - if ( !success ) { - KMessageBox::error( this, - i18nc( "1 = file name, 2 = error string", - "Could not write to the file
%1

%2", - targetFile, - file.errorString() ), - i18n( "Error saving attachment" ) ); - } - - file.close(); -} - - -int KDeclarativeMainView::numSelectedAccounts() -{ - const QModelIndexList list = d->mBnf->selectionModel()->selectedRows(); - if ( list.isEmpty() ) - return 0; - - QSet resources; - - foreach ( const QModelIndex &index, list ) { - const Collection collection = index.data( EntityTreeModel::CollectionRole ).value(); - if ( !collection.isValid() ) - continue; - - resources.insert( collection.resource() ); - } - - return resources.size(); -} - -QAbstractItemModel* KDeclarativeMainView::selectedItemsModel() const -{ - return d->mBnf->selectedItemModel(); -} - -bool KDeclarativeMainView::isLoadingSelected() -{ - const QModelIndex index = d->mBnf->selectedItemModel()->index( 0, 0 ); - if ( !index.isValid() ) - return false; - - const QVariant fetchStateData = index.data( EntityTreeModel::FetchStateRole ); - Q_ASSERT( fetchStateData.isValid() ); - - const EntityTreeModel::FetchState fetchState = static_cast( fetchStateData.toInt() ); - return (fetchState == EntityTreeModel::FetchingState); -} - -void KDeclarativeMainView::setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ) -{ - Akonadi::StandardActionManager *standardActionManager = new Akonadi::StandardActionManager( actionCollection(), this ); - standardActionManager->setItemSelectionModel( itemSelectionModel ); - standardActionManager->setCollectionSelectionModel( collectionSelectionModel ); - standardActionManager->createAllActions(); -} - -QAbstractProxyModel* KDeclarativeMainView::itemFilterModel() const -{ - return d->mItemFilterModel; -} - -QAbstractProxyModel* KDeclarativeMainView::listProxy() const -{ - return d->mListProxy; -} - -QAbstractProxyModel* KDeclarativeMainView::createMainProxyModel() const -{ - return 0; -} - -QAbstractProxyModel* KDeclarativeMainView::createItemFilterModel() const -{ - return 0; -} - -void KDeclarativeMainView::setItemFilterModel(QAbstractProxyModel* model) -{ - d->mItemFilterModel = model; -} - -ImportHandlerBase* KDeclarativeMainView::importHandler() const -{ - return 0; -} - -ExportHandlerBase* KDeclarativeMainView::exportHandler() const -{ - return 0; -} - -GuiStateManager* KDeclarativeMainView::createGuiStateManager() const -{ - return new GuiStateManager(); -} - -QString KDeclarativeMainView::version() const -{ - const static QString svn_rev = QLatin1String( KDEPIM_GIT_REVISION_STRING ); - if ( svn_rev.isEmpty() ) { - return i18n( "Version: %1", QLatin1String( KDEPIM_VERSION ) ); - } else { - return i18n( "Version: %1 (%2)\nLast change: %3", QLatin1String( KDEPIM_VERSION ), QLatin1String(KDEPIM_GIT_REVISION_STRING), QLatin1String(KDEPIM_GIT_LAST_CHANGE) ); - } -} - -QString KDeclarativeMainView::name() const -{ - const static QString app_name = QString( KGlobal::mainComponent().aboutData()->programName() ); - return app_name; -} - -Akonadi::ChangeRecorder* KDeclarativeMainView::monitor() const -{ - return d->mChangeRecorder; -} - -GuiStateManager* KDeclarativeMainView::guiStateManager() const -{ - return d->mGuiStateManager; -} - -void KDeclarativeMainView::setFilterLineEdit( KLineEdit *lineEdit ) -{ - Q_ASSERT( !d->mFilterLineEdit ); - - d->mFilterLineEdit = lineEdit; - d->mFilterLineEdit->setFixedHeight( 0 ); - d->mFilterLineEdit->setClearButtonShown( true ); - connect( d->mFilterLineEdit, SIGNAL(textChanged(QString)), - this, SLOT(filterLineEditChanged(QString)) ); - connect( d->mFilterLineEdit, SIGNAL(textChanged(QString)), - d->mItemFilterModel, SLOT(setFilterString(QString)) ); -} - -void KDeclarativeMainView::setBulkActionFilterLineEdit( KLineEdit *lineEdit ) -{ - Q_ASSERT( !d->mBulkActionFilterLineEdit ); - - d->mBulkActionFilterLineEdit = lineEdit; - d->mBulkActionFilterLineEdit->setFixedHeight( 0 ); - d->mBulkActionFilterLineEdit->setClearButtonShown( true ); - connect( d->mBulkActionFilterLineEdit, SIGNAL(textChanged(QString)), - this, SLOT(bulkActionFilterLineEditChanged(QString)) ); - connect( d->mBulkActionFilterLineEdit, SIGNAL(textChanged(QString)), - d->mItemFilterModel, SLOT(setFilterString(QString)) ); -} - -void KDeclarativeMainView::keyPressEvent( QKeyEvent *event ) -{ - static bool isSendingEvent = false; - - KLineEdit *lineEdit = (d->mGuiStateManager->inBulkActionScreenState() ? d->mBulkActionFilterLineEdit.data() : d->mFilterLineEdit.data()); - - if ( !isSendingEvent && // do not end up in a recursion - (d->mGuiStateManager->inAccountScreenState() || - d->mGuiStateManager->inSingleFolderScreenState() || - d->mGuiStateManager->inMultipleFolderScreenState() || - d->mGuiStateManager->inBulkActionScreenState() || - useFilterLineEditInCurrentState()) && // only in the right state - !event->text().isEmpty() && // only react on character input - lineEdit && // only if a filter line edit has been set - !doNotUseFilterLineEditInCurrentState() && - d->mItemFilterModel ) { // and a filter model is used - isSendingEvent = true; - QCoreApplication::sendEvent( lineEdit, event ); - isSendingEvent = false; - } else { - KDeclarativeFullScreenView::keyPressEvent( event ); - } -} - -void KDeclarativeMainView::reportBug() -{ - QString kde_version = QString::fromLatin1( KDE_VERSION_STRING ); - - struct utsname unameBuf; - uname( &unameBuf ); - QString os = QString::fromLatin1( unameBuf.sysname ) + - QLatin1String(" (") + QString::fromLatin1( unameBuf.machine ) + QLatin1String(") ") + - QLatin1String("release ") + QString::fromLatin1( unameBuf.release ); - KUrl url = KUrl( QLatin1String("https://bugs.kde.org/wizard.cgi") ); - url.addQueryItem( QLatin1String("os"), os ); - url.addQueryItem( QLatin1String("kdeVersion"), kde_version ); - url.addQueryItem( QLatin1String("appVersion"), KGlobal::mainComponent().aboutData()->version() ); - url.addQueryItem( QLatin1String("package"), KGlobal::mainComponent().aboutData()->productName() ); - url.addQueryItem( QLatin1String("kbugreport"), QLatin1String("1") ); - - KToolInvocation::invokeBrowser( url.url() ); -} - -void KDeclarativeMainView::checkAllBulkActionItems( bool check ) -{ - if ( check ) { - d->mItemActionSelectionModel->select( QItemSelection( d->mListProxy->index( 0, 0 ), - d->mListProxy->index( d->mListProxy->rowCount() - 1, 0 ) ), - QItemSelectionModel::Select ); - } else { - d->mItemActionSelectionModel->select( QItemSelection( d->mListProxy->index( 0, 0 ), - d->mListProxy->index( d->mListProxy->rowCount() - 1, 0 ) ), - QItemSelectionModel::Deselect ); - } -} - -AgentActionManager* KDeclarativeMainView::createAgentActionManager(QItemSelectionModel* agentSelectionModel) -{ - Akonadi::AgentActionManager *manager = new Akonadi::AgentActionManager( actionCollection(), this ); - manager->setSelectionModel( agentSelectionModel ); - manager->createAllActions(); - - manager->action( Akonadi::AgentActionManager::CreateAgentInstance )->setText( i18n( "Add" ) ); - manager->action( Akonadi::AgentActionManager::DeleteAgentInstance )->setText( i18n( "Delete" ) ); - manager->action( Akonadi::AgentActionManager::ConfigureAgentInstance )->setText( i18n( "Edit" ) ); - - manager->interceptAction( AgentActionManager::CreateAgentInstance ); - connect( manager->action( AgentActionManager::CreateAgentInstance ), SIGNAL(triggered(bool)), - this, SLOT(launchAccountWizard()) ); - - manager->interceptAction( Akonadi::AgentActionManager::ConfigureAgentInstance ); - connect( manager->action( Akonadi::AgentActionManager::ConfigureAgentInstance ), SIGNAL(triggered()), - d, SLOT(configureAgentInstance()) ); - - return manager; -} - -#include "moc_kdeclarativemainview.cpp" diff --git a/kdepim/mobile/lib/kdeclarativemainview.h b/kdepim/mobile/lib/kdeclarativemainview.h deleted file mode 100644 index 695eed2c..00000000 --- a/kdepim/mobile/lib/kdeclarativemainview.h +++ /dev/null @@ -1,344 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#ifndef KDECLARATIVEMAINVIEW_H -#define KDECLARATIVEMAINVIEW_H - -#include "kdeclarativefullscreenview.h" - -#include - -class ExportHandlerBase; -class GuiStateManager; -class ImportHandlerBase; -class KLineEdit; -class ListProxy; -class QAbstractItemModel; -class QAbstractProxyModel; - -namespace Akonadi { -class AgentActionManager; -class ChangeRecorder; -class EntityTreeModel; -class Item; -class ItemFetchScope; -} - -class KDeclarativeMainViewPrivate; - -/** - * Main view for mobile applications. This class is just to share code and therefore - * should not be instantiated by itself. - */ -class MOBILEUI_EXPORT KDeclarativeMainView : public KDeclarativeFullScreenView -{ - Q_OBJECT - Q_PROPERTY( int numSelectedAccounts READ numSelectedAccounts NOTIFY numSelectedAccountsChanged ) - Q_PROPERTY( bool isLoadingSelected READ isLoadingSelected NOTIFY isLoadingSelectedChanged ) - Q_PROPERTY( QString version READ version CONSTANT ) - Q_PROPERTY( QString name READ name CONSTANT ) - Q_PROPERTY( QString state READ applicationState WRITE setApplicationState NOTIFY stateChanged ) - - public: - /** - * Destroys the declarative main view. - */ - virtual ~KDeclarativeMainView(); - - /** - * Item fetch scope to specify how much data should be loaded for the list view. - * By default nothing is loaded. - */ - Akonadi::ItemFetchScope& itemFetchScope(); - - /** - * Adds a mime type of the items handled by this application. - */ - void addMimeType( const QString &mimeType ); - - /** - * Returns the mime types of the items handled by this application. - */ - QStringList mimeTypes() const; - - /** - * Returns the number of selected accounts. - */ - int numSelectedAccounts(); - - /** - * Returns the version of the application. - */ - QString version() const; - - /** - * Returns the localized name of the application. - */ - QString name() const; - - /** - * Returns the monitor that is used by the application. - */ - Akonadi::ChangeRecorder* monitor() const; - - /** - * Returns the gui state manager that will be used to manage the visibility - * of the various gui elements of the application. - */ - GuiStateManager* guiStateManager() const; - - /** - * Sets the @p lineEdit that is used to filter the items in the listview. - */ - void setFilterLineEdit( KLineEdit *lineEdit ); - - /** - * Sets the @p lineEdit that is used to filter the items in the listview in bulk action mode. - */ - void setBulkActionFilterLineEdit( KLineEdit *lineEdit ); - - QString applicationState() const; - void setApplicationState( const QString &state ); - - public slots: - void setSelectedAccount( int row ); - - void setAgentInstanceListSelectedRow( int row ); - - /** - * Starts the account wizard to add and configure new resources. - */ - void launchAccountWizard(); - - /** - * Starts the synchronization of all collections. - */ - void synchronizeAllItems(); - - /** - * Opens the licenses.pdf in an external viewer - */ - void openLicenses(); - - void saveFavorite(); - void loadFavorite( const QString &name ); - void multipleSelectionFinished(); - - void persistCurrentSelection( const QString &key ); - void clearPersistedSelection( const QString &key ); - void restorePersistedSelection( const QString &key ); - - /** - * Starts the import of items to the application. - * - * The actual work is done by the ImportHandlerBase objects returned - * by the importHandler() method. - */ - void importItems(); - - /** - * Starts the export of items from the application. - * - * The actual work is done by the ExportHandlerBase objects returned - * by the exportHandler() method. - */ - void exportItems(); - - /** - * Starts the export of a single item from the application. - * - * The actual work is done by the ExportHandlerBase objects returned - * by the exportHandler() method. - */ - void exportSingleItem(); - - /** - * Opens the user manual of this application in an external web browser. - */ - void openManual(); - - /** - * Opens the HTML based documentation located at the given relative @p path. - */ - void openDocumentation( const QString &path ); - - void openAttachment( const QString &url, const QString &mimeType ); - void saveAttachment( const QString &url, const QString &defaultFileName = QString() ); - - void reportBug(); - - void checkAllBulkActionItems( bool select ); - - Q_SIGNALS: - void numSelectedAccountsChanged(); - void isLoadingSelectedChanged(); - void stateChanged(); - - /** - * This signal is emitted whenever the collection has been changed but - * before the item list is updated. - */ - void collectionSelectionChanged(); - - protected: - /** - * Creates a new main view for a mobile application. - * - * @param appName is used to find the QML file in ${DATA_DIR}/mobile/appname.qml - * @param listProxy proxy for the list view of the application. KDeclarativeMainView - * takes ownwership over the pointer. - * @param parent The parent widget. - */ - KDeclarativeMainView( const QString &appName, ListProxy *listProxy, QWidget *parent = 0 ); - - /** - * Returns the global entity tree model. - */ - Akonadi::EntityTreeModel* entityTreeModel() const; - - /** - * Returns the filtered and QML-adapted item model. - */ - QAbstractItemModel* itemModel() const; - - /** - * Returns whether the currently selected item is being loaded. - * Note that results appear asynchronously in chunks while loading the contents - * of a collection. That means that the number of items can be greater then zero - * while isLoadingSelected returns true. - */ - bool isLoadingSelected(); - - /** - * Initializes the standard action manager that will be used by the application. - * This is a point of extension to use a custom action manager. - * - * @param collectionSelectionModel The selection model for the collections. - * @param itemSelectionModel The selection model for the items. - */ - virtual void setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ); - - /** - * Initializes the agent action manager that will be used by the application. - * This is a point of extension to use a custom action manager. - * - * @param selectionModel The selection model for the agent instances. - */ - virtual void setupAgentActionManager( QItemSelectionModel *selectionModel ) = 0; - - /** - * Returns the a proxy model that will be used on top of the entity tree model. - */ - virtual QAbstractProxyModel* createMainProxyModel() const; - - /** - * Returns the filter proxy model that will be used to filter the item list. - * If @c 0 is returned, no filtering is done. - * - * @note The model has to provide a public slot with the following signature: - * void setFilterString( const QString& ) - */ - virtual QAbstractProxyModel* createItemFilterModel() const; - - /** - * Set the filter proxy model that will be used to filter the item list. - * Call this when calling createItemFilterModel() manually in your code. - */ - void setItemFilterModel( QAbstractProxyModel* model ); - - /** - * Returns the object that will be used for importing data. - * If @c 0 is returned, no import functionality is offered. - */ - virtual ImportHandlerBase* importHandler() const; - - /** - * Returns the object that will be used for exporting data. - * If @c 0 is returned, no export functionality is offered. - */ - virtual ExportHandlerBase* exportHandler() const; - - /** - * Returns the gui state manager that will be used by the application. - * - * Subclasses should returns its custom gui state managers here. - */ - virtual GuiStateManager* createGuiStateManager() const; - - /** - * This method is called when a single @p item has been selected to view. - */ - virtual void viewSingleItem( const Akonadi::Item &item ); - - /** - * Returns whether the application is in a state where the filter line edit - * can be used. - */ - virtual bool useFilterLineEditInCurrentState() const; - - /** - * Returns whether the application is in a state where the filter line edit - * must not be used. - */ - virtual bool doNotUseFilterLineEditInCurrentState() const; - - protected Q_SLOTS: - void breadcrumbsSelectionChanged(); - void itemSelectionChanged(); - - protected: - /** - * The selection model that belongs to the item model returned by entityTreeModel() - * or to the one returned by createMainProxyModel(). - */ - QItemSelectionModel* regularSelectionModel() const; - - /** - * The selection model which provides the information about checked - * items in the bulk action screen. - */ - QItemSelectionModel* itemActionModel() const; - - QAbstractProxyModel* itemFilterModel() const; - QAbstractProxyModel* listProxy() const; - QItemSelectionModel* itemSelectionModel() const; - QAbstractItemModel* selectedItemsModel() const; - - Akonadi::Item itemFromId( quint64 id ) const; - - virtual void keyPressEvent( QKeyEvent *event ); - - virtual QAbstractItemModel* createItemModelContext( QDeclarativeContext *context, QAbstractItemModel *model ); - void setItemNaigationAndActionSelectionModels( QItemSelectionModel *itemNavigationSelectionModel, QItemSelectionModel *itemActionSelectionModel ); - - /** - * Returns a newly created AgentActionMananger with standard setup. - * Use inside setupAgentActionManager(); - */ - Akonadi::AgentActionManager *createAgentActionManager( QItemSelectionModel* agentSelectionModel ); - - private: - void doDelayedInitInternal(); - KDeclarativeMainViewPrivate * const d; - - Q_PRIVATE_SLOT( d, void filterLineEditChanged( const QString& ) ) - Q_PRIVATE_SLOT( d, void bulkActionFilterLineEditChanged( const QString& ) ) -}; - -#endif // KDECLARATIVEMAINVIEW_H diff --git a/kdepim/mobile/lib/kdeclarativemainview_p.cpp b/kdepim/mobile/lib/kdeclarativemainview_p.cpp deleted file mode 100644 index 8391e8ab..00000000 --- a/kdepim/mobile/lib/kdeclarativemainview_p.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#include "kdeclarativemainview_p.h" -#include "guistatemanager.h" -#include "stylesheetloader.h" - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include - -KDeclarativeMainViewPrivate::KDeclarativeMainViewPrivate( KDeclarativeMainView *qq ) - : q( qq ) - , mChangeRecorder( 0 ) - , mCollectionFilter( 0 ) - , mItemFilterModel( 0 ) - , mBnf( 0 ) - , mAgentStatusMonitor( 0 ) - , mGuiStateManager( 0 ) - , mStateMachine( 0 ) - , mFavoritesEditor( 0 ) -{ } - -void KDeclarativeMainViewPrivate::initializeStateSaver() -{ - restoreState(); - connect( mEtm, SIGNAL(modelAboutToBeReset()), this, SLOT(saveState()) ); - connect( mEtm, SIGNAL(modelReset()), this, SLOT(restoreState()) ); -} - -void KDeclarativeMainViewPrivate::restoreState() -{ - Akonadi::ETMViewStateSaver *saver = new Akonadi::ETMViewStateSaver; - saver->setSelectionModel( mBnf->selectionModel() ); - KConfigGroup cfg( KGlobal::config(), "SelectionState" ); - saver->restoreState( cfg ); -} - -void KDeclarativeMainViewPrivate::saveState() -{ - Akonadi::ETMViewStateSaver saver; - saver.setSelectionModel( mBnf->selectionModel() ); - - KConfigGroup cfg( KGlobal::config(), "SelectionState" ); - saver.saveState( cfg ); - cfg.sync(); -} - -void KDeclarativeMainViewPrivate::filterLineEditChanged( const QString &text ) -{ - if ( !text.isEmpty() ) { - mFilterLineEdit->setFixedHeight( 40 ); - mFilterLineEdit->show(); - mFilterLineEdit->setFocus(); - } else if ( text.isEmpty() ) { - mFilterLineEdit->setFixedHeight( 0 ); - mFilterLineEdit->hide(); - } -} - -void KDeclarativeMainViewPrivate::bulkActionFilterLineEditChanged( const QString &text ) -{ - if ( !text.isEmpty() ) { - mBulkActionFilterLineEdit->setFixedHeight( 40 ); - mBulkActionFilterLineEdit->show(); - mBulkActionFilterLineEdit->setFocus(); - } else if ( text.isEmpty() ) { - mBulkActionFilterLineEdit->setFixedHeight( 0 ); - mBulkActionFilterLineEdit->hide(); - } -} - -void KDeclarativeMainViewPrivate::searchStarted( const Akonadi::Collection &searchCollection ) -{ - q->persistCurrentSelection( QLatin1String("SelectionBeforeSearchStarted") ); - - const QStringList selection = QStringList() << QLatin1String( "c1" ) // the 'Search' collection - << QString::fromLatin1( "c%1" ).arg( searchCollection.id() ); - Akonadi::ETMViewStateSaver *restorer = new Akonadi::ETMViewStateSaver; - - mGuiStateManager->pushState( GuiStateManager::SearchResultScreenState ); - - QItemSelectionModel *selectionModel = mBnf->selectionModel(); - selectionModel->clearSelection(); - - restorer->setSelectionModel( selectionModel ); - restorer->restoreSelection( selection ); -} - -void KDeclarativeMainViewPrivate::searchStopped() -{ - mGuiStateManager->popState(); - - q->restorePersistedSelection( QLatin1String("SelectionBeforeSearchStarted") ); - q->clearPersistedSelection( QLatin1String("SelectionBeforeSearchStarted") ); -} - -void KDeclarativeMainViewPrivate::guiStateChanged( int oldState, int newState ) -{ - /** - * If we come back from the BulkActionScreen and we had a filter string - * entered before we entered the BulkActionScreen, we'll refresh this - * filter string now. - */ - if ( oldState == GuiStateManager::BulkActionScreenState ) { - if ( newState == GuiStateManager::AccountScreenState || - newState == GuiStateManager::SingleFolderScreenState || - newState == GuiStateManager::MultipleFolderScreenState ) { - - KLineEdit *lineEdit = mFilterLineEdit.data(); - if ( lineEdit && mItemFilterModel ) { - const QString text = lineEdit->text(); - if ( text.isEmpty() ) { - // just trigger a refresh of the item view - QMetaObject::invokeMethod( mItemFilterModel, "setFilterString", Qt::DirectConnection, Q_ARG( QString, text ) ); - } else { - // trigger a refresh of the line edit and item view - lineEdit->clear(); - lineEdit->setText( text ); - } - } - } - } -} - -void KDeclarativeMainViewPrivate::openHtml( const QString &path ) -{ - q->openAttachment( path, QLatin1String( "text/html" ) ); -} - -DeclarativeBulkActionFilterLineEdit::DeclarativeBulkActionFilterLineEdit( QGraphicsItem *parent ) - : DeclarativeWidgetBase( parent ) -{ -} - -DeclarativeBulkActionFilterLineEdit::~DeclarativeBulkActionFilterLineEdit() -{ -} - -void DeclarativeBulkActionFilterLineEdit::clear() -{ - widget()->clear(); -} - -void KDeclarativeMainViewPrivate::configureAgentInstance() -{ - if (mAgentInstanceSelectionModel->selectedRows().isEmpty()) - return; - Akonadi::AgentInstance instance = mAgentInstanceSelectionModel->selectedRows().first().data( Akonadi::AgentInstanceModel::InstanceRole ).value(); - - instance.configure( q ); -} diff --git a/kdepim/mobile/lib/kdeclarativemainview_p.h b/kdepim/mobile/lib/kdeclarativemainview_p.h deleted file mode 100644 index 2b0884d6..00000000 --- a/kdepim/mobile/lib/kdeclarativemainview_p.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#ifndef KDECLARATIVEMAINVIEW_P_H -#define KDECLARATIVEMAINVIEW_P_H - -#include "kdeclarativemainview.h" - -#include "akonadibreadcrumbnavigationfactory.h" -#include "declarativewidgetbase.h" -#include "favoriteseditor.h" -#include "searchmanager.h" -#include "statemachinebuilder.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -class AgentStatusMonitor; -class KActionCollection; - -class ListProxy; -class KDeclarativeMainViewPrivate : public QObject -{ - Q_OBJECT - -public: /// members - KDeclarativeMainView *q; - Akonadi::ChangeRecorder *mChangeRecorder; // Deleted by ~QObject - QAbstractItemModel *mCollectionFilter; // Deleted by ~QObject - Akonadi::EntityTreeModel *mEtm; - ListProxy *mListProxy; - QAbstractItemModel *mItemModel; - QAbstractProxyModel *mItemFilterModel; - Akonadi::AgentFilterProxyModel *mAgentInstanceFilterModel; - QItemSelectionModel *mAgentInstanceSelectionModel; - Akonadi::BreadcrumbNavigationFactory *mBnf; - Akonadi::BreadcrumbNavigationFactory *mMultiBnf; - QItemSelectionModel *mItemNavigationSelectionModel; - QItemSelectionModel *mItemActionSelectionModel; - QHash mPersistedSelections; - KViewStateMaintainer *mItemViewStateMaintainer; - QPointer mFilterLineEdit; - QPointer mBulkActionFilterLineEdit; - AgentStatusMonitor *mAgentStatusMonitor; - GuiStateManager *mGuiStateManager; - NotifyingStateMachine *mStateMachine; - SearchManager *mSearchManager; - FavoritesEditor *mFavoritesEditor; - -public: /// Methods - explicit KDeclarativeMainViewPrivate( KDeclarativeMainView* ); - - void openHtml( const QString &path ); - -public slots: - void initializeStateSaver(); - void saveState(); - void restoreState(); - void filterLineEditChanged( const QString &text ); - void bulkActionFilterLineEditChanged( const QString &text ); - void searchStarted( const Akonadi::Collection& ); - void searchStopped(); - void guiStateChanged( int oldState, int newState ); - void configureAgentInstance(); -}; - -class DeclarativeBulkActionFilterLineEdit : -#ifndef Q_MOC_RUN -public DeclarativeWidgetBase -#else -public QGraphicsProxyWidget -#endif -{ - Q_OBJECT - - public: - explicit DeclarativeBulkActionFilterLineEdit( QGraphicsItem *parent = 0 ); - ~DeclarativeBulkActionFilterLineEdit(); - - public Q_SLOTS: - void clear(); -}; - -#endif // KDECLARATIVEMAINVIEW_P_H diff --git a/kdepim/mobile/lib/kresettingproxymodel.cpp b/kdepim/mobile/lib/kresettingproxymodel.cpp deleted file mode 100644 index 02a4999f..00000000 --- a/kdepim/mobile/lib/kresettingproxymodel.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "kresettingproxymodel.h" - -KResettingProxyModel::KResettingProxyModel(QObject* parent) - : QSortFilterProxyModel(parent) -{ - -} - -void KResettingProxyModel::setSourceModel(QAbstractItemModel* sourceModel) -{ - connect(sourceModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(slotBeginReset())); - connect(sourceModel, SIGNAL(layoutChanged()), this, SLOT(slotEndReset())); - - QSortFilterProxyModel::setSourceModel(sourceModel); - - disconnect(sourceModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(_q_sourceLayoutAboutToBeChanged())); - disconnect(sourceModel, SIGNAL(layoutChanged()), this, SLOT(_q_sourceLayoutChanged())); -} - -void KResettingProxyModel::slotBeginReset() -{ - QMetaObject::invokeMethod(this, "_q_sourceAboutToBeReset", Qt::DirectConnection); -} - -void KResettingProxyModel::slotEndReset() -{ - QMetaObject::invokeMethod(this, "_q_sourceReset", Qt::DirectConnection); -} - diff --git a/kdepim/mobile/lib/kresettingproxymodel.h b/kdepim/mobile/lib/kresettingproxymodel.h deleted file mode 100644 index b2050cb5..00000000 --- a/kdepim/mobile/lib/kresettingproxymodel.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef KRESETTINGPROXYMODEL -#define KRESETTINGPROXYMODEL - -#include - -/** - * This class is a workaround for buggy handling of layout change signals in QML: - * http://bugreports.qt.nokia.com/browse/QTBUG-13146 - */ -class KResettingProxyModel : public QSortFilterProxyModel -{ - Q_OBJECT -public: - explicit KResettingProxyModel(QObject* parent = 0); - - virtual void setSourceModel(QAbstractItemModel* sourceModel); - -public slots: - -private slots: - void slotBeginReset(); - void slotEndReset(); - -}; - -#endif diff --git a/kdepim/mobile/lib/listproxy.cpp b/kdepim/mobile/lib/listproxy.cpp deleted file mode 100644 index 6bfc2f28..00000000 --- a/kdepim/mobile/lib/listproxy.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "listproxy.h" - -#include -#include - -ListProxy::ListProxy( QObject* parent ) : QSortFilterProxyModel( parent ) -{ -} - -qint64 ListProxy::itemId( int row ) const -{ - if ( row < 0 || row >= rowCount() ) - return -1; - - QModelIndex idx = index( row, 0 ); - if ( !idx.isValid() ) - return -1; - - const Akonadi::Item item = QSortFilterProxyModel::data( idx, Akonadi::EntityTreeModel::ItemRole ).value(); - return item.id(); -} - -void ListProxy::setSourceModel(QAbstractItemModel* sourceModel) -{ - QSortFilterProxyModel::setSourceModel(sourceModel); -} - - diff --git a/kdepim/mobile/lib/listproxy.h b/kdepim/mobile/lib/listproxy.h deleted file mode 100644 index 7b9444ff..00000000 --- a/kdepim/mobile/lib/listproxy.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef LISTPROXY_H -#define LISTPROXY_H - -#include - -#include "mobileui_export.h" - -/** Proxy model to provide roles for accessing Akonadi::Items properties from QML. */ -class MOBILEUI_EXPORT ListProxy : public QSortFilterProxyModel -{ - Q_OBJECT - Q_PROPERTY( int itemCount READ rowCount ) - - public: - explicit ListProxy( QObject* parent = 0 ); - - /** Make sure that reimplementing classes implement data for their own needs */ - virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const = 0; - - virtual void setSourceModel(QAbstractItemModel* sourceModel); - - Q_INVOKABLE qint64 itemId( int row ) const; -}; - -#endif diff --git a/kdepim/mobile/lib/mobileui_export.h b/kdepim/mobile/lib/mobileui_export.h deleted file mode 100644 index 18dc9a8f..00000000 --- a/kdepim/mobile/lib/mobileui_export.h +++ /dev/null @@ -1,38 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2007 David Faure - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -#ifndef MOBILEUI_EXPORT_H -#define MOBILEUI_EXPORT_H - -/* needed for KDE_EXPORT and KDE_IMPORT macros */ -#include - -#ifndef MOBILEUI_EXPORT -# if defined(KDEPIM_STATIC_LIBS) - /* No export/import for static libraries */ -# define MOBILEUI_EXPORT -# elif defined(MAKE_KDEPIMMOBILEUI_LIB) - /* We are building this library */ -# define MOBILEUI_EXPORT KDE_EXPORT -# else - /* We are using this library */ -# define MOBILEUI_EXPORT KDE_IMPORT -# endif -#endif - -#endif // MOBILEUI_EXPORT_H diff --git a/kdepim/mobile/lib/modelselectiontransition.cpp b/kdepim/mobile/lib/modelselectiontransition.cpp deleted file mode 100644 index bc20fc57..00000000 --- a/kdepim/mobile/lib/modelselectiontransition.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "modelselectiontransition.h" - -class ModelSelectionTransitionPrivate -{ - ModelSelectionTransitionPrivate(ModelSelectionTransition *qq, QItemSelectionModel *selectionModel, ModelSelectionTransition::Type type) - : q_ptr(qq), m_selectionModel(selectionModel), m_type(type) - { - - } - Q_DECLARE_PUBLIC(ModelSelectionTransition) - ModelSelectionTransition * const q_ptr; - - QItemSelectionModel * const m_selectionModel; - ModelSelectionTransition::Type m_type; -}; - -ModelSelectionTransition::ModelSelectionTransition(QItemSelectionModel* selectionModel, ModelSelectionTransition::Type type, QState* sourceState) - : QSignalTransition(selectionModel, - SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - sourceState), - d_ptr(new ModelSelectionTransitionPrivate(this, selectionModel, type)) -{ - -} - -ModelSelectionTransition::~ModelSelectionTransition() -{ - delete d_ptr; -} - -bool ModelSelectionTransition::eventTest(QEvent* event) -{ - Q_D(ModelSelectionTransition); - if (!QSignalTransition::eventTest(event)) - return false; - - // Yes, it does feel wrong to use a switch statement in a state machine. - // Oh well. - switch (d->m_type) { - case AcceptNoSelection: - return !d->m_selectionModel->hasSelection(); - case AcceptMultiSelection: - return d->m_selectionModel->selectedRows().size() > 1; - case AcceptSingleSelection: - return d->m_selectionModel->selectedRows().size() == 1; - case AcceptSingleTopLevelSelection: { - const QModelIndexList list = d->m_selectionModel->selectedRows(); - return list.size() == 1 && !list.first().parent().isValid(); - } - } - Q_ASSERT(!"Unknown type"); - return false; -} - diff --git a/kdepim/mobile/lib/modelselectiontransition.h b/kdepim/mobile/lib/modelselectiontransition.h deleted file mode 100644 index 05723d46..00000000 --- a/kdepim/mobile/lib/modelselectiontransition.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MODELSELECTIONTRANSITION_H -#define MODELSELECTIONTRANSITION_H - -#include "mobileui_export.h" - -#include -#include - -class ModelSelectionTransitionPrivate; - -class MOBILEUI_EXPORT ModelSelectionTransition : public QSignalTransition -{ - Q_OBJECT -public: - enum Type { - AcceptNoSelection, - AcceptSingleSelection, - AcceptMultiSelection, - AcceptSingleTopLevelSelection - }; - ModelSelectionTransition(QItemSelectionModel *folderModel, Type type, QState* sourceState = 0); - virtual ~ModelSelectionTransition(); -protected: - virtual bool eventTest(QEvent* event); - -private: - Q_DECLARE_PRIVATE(ModelSelectionTransition) - ModelSelectionTransitionPrivate * const d_ptr; -}; - -#endif diff --git a/kdepim/mobile/lib/orderedchildcollectionsmodel.cpp b/kdepim/mobile/lib/orderedchildcollectionsmodel.cpp deleted file mode 100644 index 99182f33..00000000 --- a/kdepim/mobile/lib/orderedchildcollectionsmodel.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "orderedchildcollectionsmodel.h" -#include -#include -#include - -OrderedChildCollectionsModel::OrderedChildCollectionsModel( QObject* parent ) - : QSortFilterProxyModel( parent ) -{ - setDynamicSortFilter( true ); - setSortCaseSensitivity( Qt::CaseInsensitive ); - setSortLocaleAware( true ); - // TODO: This does not actually work. The id() of each special collection is -1. - specialCollectionOrder << - Akonadi::SpecialMailCollections::self()->defaultCollection( Akonadi::SpecialMailCollections::Inbox ).id() - << Akonadi::SpecialMailCollections::self()->defaultCollection( Akonadi::SpecialMailCollections::Outbox ).id() - << Akonadi::SpecialMailCollections::self()->defaultCollection( Akonadi::SpecialMailCollections::Trash ).id() - << Akonadi::SpecialMailCollections::self()->defaultCollection( Akonadi::SpecialMailCollections::Drafts ).id() - << Akonadi::SpecialMailCollections::self()->defaultCollection( Akonadi::SpecialMailCollections::Templates ).id() - << Akonadi::SpecialMailCollections::self()->defaultCollection( Akonadi::SpecialMailCollections::SentMail ).id(); -} - -bool OrderedChildCollectionsModel::lessThan( const QModelIndex &left, const QModelIndex &right ) const -{ - const Akonadi::Entity::Id leftId = left.data( Akonadi::EntityTreeModel::CollectionIdRole ).toLongLong(); - const Akonadi::Entity::Id rightId = right.data( Akonadi::EntityTreeModel::CollectionIdRole ).toLongLong(); - if ( const int leftIndex = specialCollectionOrder.indexOf( leftId ) >= 0 ) { - if ( const int rightIndex = specialCollectionOrder.indexOf( rightId ) >= 0 ) { - return leftIndex < rightIndex; - } - // Left is a special collection, right is not. - return true; - } else { - if ( const int rightIndex = specialCollectionOrder.indexOf( rightId ) >= 0 ) { - // Right is a special collection, left is not. - return false; - } - } - // Neither is special. - - // First put inbox on top, - - const Akonadi::Collection leftCol = left.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( leftCol.name().compare( QLatin1String( "inbox" ), Qt::CaseInsensitive ) == 0 ) { - // If we have two collections called inbox make sure they have total order. - const Akonadi::Collection rightCol = right.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( rightCol.name().compare( QLatin1String( "inbox" ), Qt::CaseInsensitive ) == 0 ) - return leftId < rightId; - return true; - } else { - const Akonadi::Collection rightCol = right.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( rightCol.name().compare( QLatin1String( "inbox" ), Qt::CaseInsensitive ) == 0 ) - return false; - } - // ... then let QSFPM sort by display data - return QSortFilterProxyModel::lessThan( left, right ); -} diff --git a/kdepim/mobile/lib/orderedchildcollectionsmodel.h b/kdepim/mobile/lib/orderedchildcollectionsmodel.h deleted file mode 100644 index b297a1c4..00000000 --- a/kdepim/mobile/lib/orderedchildcollectionsmodel.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef ORDEREDCHILDCOLLECTIONSMODEL_H -#define ORDEREDCHILDCOLLECTIONSMODEL_H - -#include -#include - -class OrderedChildCollectionsModel : public QSortFilterProxyModel -{ - Q_OBJECT -public: - explicit OrderedChildCollectionsModel(QObject* parent = 0); - - virtual bool lessThan(const QModelIndex& left, const QModelIndex& right) const; - -private: - QVector specialCollectionOrder; - -}; - -#endif diff --git a/kdepim/mobile/lib/qmlcheckableproxymodel.h b/kdepim/mobile/lib/qmlcheckableproxymodel.h deleted file mode 100644 index 7c341eab..00000000 --- a/kdepim/mobile/lib/qmlcheckableproxymodel.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef QMLCHECKABLEPROXYMODEL_H -#define QMLCHECKABLEPROXYMODEL_H - -#include - -class QMLCheckableItemProxyModel : public KCheckableProxyModel -{ -public: - enum MoreRoles { - CheckOn = Qt::UserRole + 3000 - }; - explicit QMLCheckableItemProxyModel (QObject* parent = 0) - : KCheckableProxyModel(parent) - { - } - - virtual void setSourceModel(QAbstractItemModel* sourceModel) - { - KCheckableProxyModel::setSourceModel(sourceModel); - - QHash roles = roleNames(); - roles.insert( CheckOn, "checkOn" ); - setRoleNames(roles); - } - - virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const - { - if ( role == CheckOn ) - return (index.data(Qt::CheckStateRole) == Qt::Checked); - return KCheckableProxyModel::data(index, role); - } - -}; - -#endif diff --git a/kdepim/mobile/lib/qmldir b/kdepim/mobile/lib/qmldir deleted file mode 100644 index e50c5eb4..00000000 --- a/kdepim/mobile/lib/qmldir +++ /dev/null @@ -1,44 +0,0 @@ -Button 4.5 Button.qml -Button2 4.5 Button2.qml -BulkActionScreen 4.5 BulkActionScreen.qml -BulkActionList 4.5 BulkActionList.qml -Action 4.5 Action.qml -ActionList 4.5 ActionList.qml -ActiveActionMenuItemDelegate 4.5 ActiveActionMenuItemDelegate.qml -ReorderList 4.5 ReorderList.qml -ReorderListContainer 4.5 ReorderListContainer.qml -ActionListItem 4.5 ActionListItem.qml -AttachmentList 4.5 AttachmentList.qml -CompletionSlider 4.5 CompletionSlider.qml -VerticalSelector 4.5 VerticalSelector.qml -Clock 4.5 Clock.qml -TimeSelector 4.5 TimeSelector.qml -Calendar 4.5 Calendar.qml -CalendarDaay 4.5 CalendarDay.qml -ItemListView 4.5 ItemListView.qml -ItemListViewDelegate 4.5 ItemListViewDelegate.qml -MainView 4.5 MainView.qml -StartCanvas 4.5 StartCanvas.qml -ActionMenuContainer 4.5 ActionMenuContainer.qml -FakeAction 4.5 FakeAction.qml -AboutDialog 4.5 AboutDialog.qml -ApplicationGeneralActions 4.5 ApplicationGeneralActions.qml -MultipleSelectionComponent 4.5 MultipleSelectionComponent.qml -MultipleSelectionScreen 4.5 MultipleSelectionScreen.qml -ScriptAction 4.5 ScriptAction.qml -ScriptActionItem 4.5 ScriptActionItem.qml -AgentInstanceList 4.5 AgentInstanceList.qml -AgentInstanceListContainer 4.5 AgentInstanceListContainer.qml -AgentInstanceStatusIndicator 4.5 AgentInstanceStatusIndicator.qml -FavoriteManager 4.5 FavoriteManager.qml -ReorderListDelegate 4.5 ReorderListDelegate.qml -AgentStatusIndicator 4.5 AgentStatusIndicator.qml -MorePanel 4.5 MorePanel.qml -CalendarDialog 4.5 CalendarDialog.qml -ClockDialog 4.5 ClockDialog.qml -SearchDialog 4.5 SearchDialog.qml -SearchResultScreen 4.5 SearchResultScreen.qml -ActionButton 4.5 ActionButton.qml -ItemEditButton 4.5 ItemEditButton.qml -DecoratedListView 4.5 DecoratedListView.qml -Switch 4.5 Switch.qml diff --git a/kdepim/mobile/lib/qmllistselectionmodel.cpp b/kdepim/mobile/lib/qmllistselectionmodel.cpp deleted file mode 100644 index b1a5588a..00000000 --- a/kdepim/mobile/lib/qmllistselectionmodel.cpp +++ /dev/null @@ -1,142 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "qmllistselectionmodel.h" - -#include -#include - -QMLListSelectionModel::QMLListSelectionModel(QItemSelectionModel *selectionModel, QObject* parent) - : QObject(parent), m_selectionModel(selectionModel) -{ - connect(m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SIGNAL(selectionChanged())); -} - -QMLListSelectionModel::QMLListSelectionModel(QAbstractItemModel* model, QObject* parent) - : QObject(parent), m_selectionModel(new QItemSelectionModel(model, this)) -{ - connect(m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SIGNAL(selectionChanged())); -} - -QItemSelectionModel* QMLListSelectionModel::selectionModel() const -{ - return m_selectionModel; -} - -QList< int > QMLListSelectionModel::selection() const -{ - QList< int > list; - const QModelIndexList indexes = m_selectionModel->selectedRows(); - foreach (const QModelIndex &index, indexes) - list << index.row(); - return list; -} - -bool QMLListSelectionModel::hasSelection() const -{ - return m_selectionModel->hasSelection(); -} - -int QMLListSelectionModel::currentRow() const -{ - const QModelIndexList indexes = m_selectionModel->selectedRows(); - if (indexes.size() != 1) - return -1; - Q_ASSERT(indexes.first().isValid()); - return indexes.first().row(); -} - -void QMLListSelectionModel::setCurrentRow(int row) -{ - select(row, QItemSelectionModel::ClearAndSelect); -} - -qint64 QMLListSelectionModel::currentItemId() const -{ - const QModelIndexList indexes = m_selectionModel->selectedRows(); - if (indexes.size() != 1) - return -1; - Q_ASSERT(indexes.first().isValid()); - return indexes.first().data(Akonadi::EntityTreeModel::ItemIdRole).toLongLong(); -} - -void QMLListSelectionModel::setCurrentItemId(qint64 itemId) -{ - const QModelIndexList list = Akonadi::EntityTreeModel::modelIndexesForItem(m_selectionModel->model(), Akonadi::Item(itemId)); - if (list.size() == 1) { - const QModelIndex idx = list.first(); - m_selectionModel->select(QItemSelection(idx, idx), QItemSelectionModel::ClearAndSelect); - } -} - -void QMLListSelectionModel::select(int row, int command) -{ - if (row < 0) { - clearSelection(); - return; - } - static const int column = 0; - const QModelIndex idx = m_selectionModel->model()->index(row, column); - Q_ASSERT(idx.isValid()); - QItemSelection sel(idx, idx); - QItemSelectionModel::SelectionFlags flags = static_cast(command); - m_selectionModel->select(sel, flags); -} - -bool QMLListSelectionModel::requestNext() -{ - const QModelIndexList list = m_selectionModel->selectedRows(); - if (list.isEmpty() || list.size() != 1) - return false; - - const QModelIndex idx = list.first(); - Q_ASSERT(idx.isValid()); - const QModelIndex next = idx.sibling(idx.row() + 1, idx.column()); - if (!next.isValid()) - return false; - - m_selectionModel->select(QItemSelection(next, next), QItemSelectionModel::ClearAndSelect); - return true; -} - -bool QMLListSelectionModel::requestPrevious() -{ - const QModelIndexList list = m_selectionModel->selectedRows(); - if (list.isEmpty() || list.size() != 1) - return false; - - const QModelIndex idx = list.first(); - Q_ASSERT(idx.isValid()); - if (idx.row() == 0) - return false; - - const QModelIndex previous = idx.sibling(idx.row() - 1, idx.column()); - m_selectionModel->select(QItemSelection(previous, previous), QItemSelectionModel::ClearAndSelect); - return true; -} - -void QMLListSelectionModel::clearSelection() -{ - // Don't call QItemSelectionModel::clearSelection. It is non-virtual so - // item selection models in chains can't react to it properly. - m_selectionModel->select(QItemSelection(), QItemSelectionModel::Clear); -} - diff --git a/kdepim/mobile/lib/qmllistselectionmodel.h b/kdepim/mobile/lib/qmllistselectionmodel.h deleted file mode 100644 index f5a8db9a..00000000 --- a/kdepim/mobile/lib/qmllistselectionmodel.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef QMLLISTSELECTIONMODEL_H -#define QMLLISTSELECTIONMODEL_H - -#include - -#include "mobileui_export.h" - -class MOBILEUI_EXPORT QMLListSelectionModel : public QObject -{ - Q_OBJECT - Q_PROPERTY(QList selection READ selection NOTIFY selectionChanged) - Q_PROPERTY(int currentRow READ currentRow WRITE setCurrentRow NOTIFY selectionChanged) - Q_PROPERTY(bool hasSelection READ hasSelection NOTIFY selectionChanged) - Q_PROPERTY(qint64 currentItemIdHack READ currentItemId WRITE setCurrentItemId NOTIFY selectionChanged) -public: - enum SelectionFlag { - NoUpdate = 0x0000, - Clear = 0x0001, - Select = 0x0002, - Deselect = 0x0004, - Toggle = 0x0008, - Current = 0x0010, - Rows = 0x0020, - Columns = 0x0040, - SelectCurrent = Select | Current, - ToggleCurrent = Toggle | Current, - ClearAndSelect = Clear | Select - }; - //Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag) - - explicit QMLListSelectionModel(QItemSelectionModel *selectionModel, QObject* parent = 0); - explicit QMLListSelectionModel(QAbstractItemModel *model, QObject* parent = 0); - - QItemSelectionModel* selectionModel() const; - - QList selection() const; - - int currentRow() const; - void setCurrentRow(int row); - - qint64 currentItemId() const; - void setCurrentItemId(qint64 itemId); - -public slots: - void clearSelection(); - void select(int row, int command); - bool hasSelection() const; - - bool requestNext(); - bool requestPrevious(); - -signals: - void selectionChanged(); - -private: - QItemSelectionModel * const m_selectionModel; -}; - -#endif - diff --git a/kdepim/mobile/lib/rangemanager.cpp b/kdepim/mobile/lib/rangemanager.cpp deleted file mode 100644 index 16e3bc43..00000000 --- a/kdepim/mobile/lib/rangemanager.cpp +++ /dev/null @@ -1,85 +0,0 @@ - -#include "rangemanager_p.h" - -#include - -RangeManager::RangeManager() -{ -} - -RangeManager::~RangeManager() -{ -} - -int RangeManager::count() const -{ - return mRangeSizes.count(); -} - -void RangeManager::clear() -{ - mRangeSizes.clear(); -} - -void RangeManager::insertRange( int range, int size ) -{ - mRangeSizes.insert( range, size ); -} - -void RangeManager::removeRange( int range ) -{ - mRangeSizes.remove( range ); -} - -void RangeManager::increaseRange( int range, int elements ) -{ - mRangeSizes[ range ] += elements; -} - -void RangeManager::decreaseRange( int range, int elements ) -{ - mRangeSizes[ range ] -= elements; -} - -int RangeManager::rangeStart( int range ) const -{ - int start = 0; - - for ( int i = 0; i < range; ++i ) - start += mRangeSizes.at( i ); - - return start; -} - -int RangeManager::rangeSize( int range ) const -{ - return mRangeSizes.at( range ); -} - -int RangeManager::rangeForPosition( int position ) const -{ - int start = 0; - for ( int range = 0; range < mRangeSizes.size(); ++range ) { - start += mRangeSizes.at( range ); - if ( start > position ) - return range; - } - - return -1; -} - -void RangeManager::dump() const -{ - QStringList output; - int counter = 0; - for ( int range = 0; range < mRangeSizes.size(); ++range ) { - QStringList foo; - for ( int i = 0; i < mRangeSizes.at( range ); ++i ) { - foo += QString::number( counter ); - counter++; - } - output += foo.join(QLatin1String(" ")); - } - - qDebug("[%s]", qPrintable( output.join(QLatin1String(" | ")) ) ); -} diff --git a/kdepim/mobile/lib/rangemanager_p.h b/kdepim/mobile/lib/rangemanager_p.h deleted file mode 100644 index 3e207c0a..00000000 --- a/kdepim/mobile/lib/rangemanager_p.h +++ /dev/null @@ -1,78 +0,0 @@ - -#ifndef RANGEMANAGER_P_H -#define RANGEMANAGER_P_H - -#include - -/** - * @short A class that manages a list of ranges. - * - */ -class RangeManager -{ - public: - /** - * Creates a new range manager. - */ - RangeManager(); - - /** - * Destroys the range manager. - */ - ~RangeManager(); - - /** - * Returns the number of ranges. - */ - int count() const; - - /** - * Removes all ranges from the range manager. - */ - void clear(); - - /** - * Inserts a new range of the given @p size before @p range. - */ - void insertRange( int range, int size ); - - /** - * Removes the given @p range. - */ - void removeRange( int range ); - - /** - * Increases the given range by @p elements. - */ - void increaseRange( int range, int elements ); - - /** - * Decreases the given range by @p elements. - */ - void decreaseRange( int range, int elements ); - - /** - * Returns the absolute start position of the given @p range. - */ - int rangeStart( int range ) const; - - /** - * Returns the number of elements of the given @p range. - */ - int rangeSize( int range ) const; - - /** - * Returns the range that contains the given absolute @p position. - */ - int rangeForPosition( int position ) const; - - /** - * Dumps the current range layout to console. Useful for debugging. - */ - void dump() const; - - private: - QVector mRangeSizes; -}; - -#endif diff --git a/kdepim/mobile/lib/searchmanager.cpp b/kdepim/mobile/lib/searchmanager.cpp deleted file mode 100644 index 8ccc52c8..00000000 --- a/kdepim/mobile/lib/searchmanager.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "searchmanager.h" - -#include -#include -#include - -#include - -SearchManager::SearchManager( QObject *parent ) - : QObject( parent ), - mCurrentSearchCollection( -1 ) -{ -} - -SearchManager::~SearchManager() -{ - cleanUpSearch(); -} - -void SearchManager::startSearch( const QString &query ) -{ - cleanUpSearch(); - - const QString searchName = i18n( "Search Results" ) + QLatin1String( " " ) + QUuid::createUuid().toString(); - Akonadi::SearchCreateJob *job = new Akonadi::SearchCreateJob( searchName, query ); - connect( job, SIGNAL(result(KJob*)), this, SLOT(result(KJob*)) ); -} - -void SearchManager::stopSearch() -{ - cleanUpSearch(); - - emit searchStopped(); -} - -void SearchManager::result( KJob *job ) -{ - if ( job->error() ) { - kWarning() << "Unable to create search collection:" << job->errorText(); - return; - } - - const Akonadi::SearchCreateJob *searchJob = qobject_cast( job ); - - const Akonadi::Collection collection = searchJob->createdCollection(); - mCurrentSearchCollection = collection.id(); - - emit searchStarted( collection ); -} - -void SearchManager::cleanUpSearch() -{ - // cleanup search collection - if ( mCurrentSearchCollection != -1 ) - new Akonadi::CollectionDeleteJob( Akonadi::Collection( mCurrentSearchCollection ) ); - - mCurrentSearchCollection = -1; -} - diff --git a/kdepim/mobile/lib/searchmanager.h b/kdepim/mobile/lib/searchmanager.h deleted file mode 100644 index 9195f400..00000000 --- a/kdepim/mobile/lib/searchmanager.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef SEARCHMANAGER_H -#define SEARCHMANAGER_H - -#include - -#include - -class KJob; - -/** - * @short A class that manages the searches in mobile apps. - * - * A mobile app can have exactly one persistent search running - * at a time. This class will create this search and remove it - * on destruction or when a new search is started. - * - * @author Tobias Koenig - */ -class SearchManager : public QObject -{ - Q_OBJECT - - public: - /** - * Creates a new search manager. - * - * @param parent The parent object. - */ - explicit SearchManager( QObject *parent = 0 ); - - /** - * Destroys the search manager. - * - * The running search will be stopped and its search collection removed. - */ - ~SearchManager(); - - public Q_SLOTS: - /** - * Starts a new search. - * A previous search will be stopped and its search collection will be removed. - * - * @param query The Sparql or XESAM query of the search. - */ - void startSearch( const QString &query ); - - /** - * Stops the currently running search and removes its search collection. - */ - void stopSearch(); - - Q_SIGNALS: - /** - * This signal is emitted whenever a new search has successfully been started. - * - * @param collection The search collection of this search. - */ - void searchStarted( const Akonadi::Collection &collection ); - - /** - * This signal is emitted whenever a search has explicitly been stopped by - * calling stopSearch(). - */ - void searchStopped(); - - private Q_SLOTS: - void result( KJob* ); - - private: - void cleanUpSearch(); - - Akonadi::Collection::Id mCurrentSearchCollection; -}; - -#endif diff --git a/kdepim/mobile/lib/statemachinebuilder.cpp b/kdepim/mobile/lib/statemachinebuilder.cpp deleted file mode 100644 index 6801906f..00000000 --- a/kdepim/mobile/lib/statemachinebuilder.cpp +++ /dev/null @@ -1,238 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "statemachinebuilder.h" - -#include "modelselectiontransition.h" - -const char stateIdentifier[] = "state"; - -NotifyingStateMachine::NotifyingStateMachine(QObject* parent) - : QStateMachine(parent) -{ - -} - -void NotifyingStateMachine::requestState(const QString& state) -{ - emit stateRequested(state); -} - -RequestNamedTransition::RequestNamedTransition(QStateMachine *stateMachine, QState* sourceState) - : QSignalTransition(stateMachine, SIGNAL(stateRequested(QString)), sourceState) -{ - -} - - -bool RequestNamedTransition::eventTest(QEvent* event) -{ - if (!QSignalTransition::eventTest(event)) - return false; - - QStateMachine::SignalEvent *se = static_cast(event); - const QString name = se->arguments().first().toString(); - return !name.isEmpty() && name == targetState()->objectName(); -} - - -class StateMachineBuilderPrivate -{ - StateMachineBuilderPrivate(StateMachineBuilder *qq) - : q_ptr(qq), - m_navigationModel(0), - m_itemSelectionModel(0) - { - - } - Q_DECLARE_PUBLIC(StateMachineBuilder) - StateMachineBuilder * const q_ptr; - - QItemSelectionModel *m_navigationModel; - QItemSelectionModel *m_itemSelectionModel; -}; - -StateMachineBuilder::StateMachineBuilder() - : d_ptr(new StateMachineBuilderPrivate(this)) -{ - -} - -StateMachineBuilder::~StateMachineBuilder() -{ - delete d_ptr; -} - - -void StateMachineBuilder::setItemSelectionModel(QItemSelectionModel* model) -{ - Q_D(StateMachineBuilder); - d->m_itemSelectionModel = model; -} - -void StateMachineBuilder::setNavigationModel(QItemSelectionModel* model) -{ - Q_D(StateMachineBuilder); - d->m_navigationModel = model; -} - -NotifyingStateMachine* StateMachineBuilder::getMachine(QObject *parent) const -{ - Q_D(const StateMachineBuilder); - NotifyingStateMachine *machine = new NotifyingStateMachine(parent); - QState *mainWorkState = new QState(machine); - machine->setInitialState(mainWorkState); - mainWorkState->setObjectName(QLatin1String("MainWork")); - QObject::connect(mainWorkState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - QState *homeState = new QState(mainWorkState); - mainWorkState->setInitialState(homeState); - homeState->setObjectName(QLatin1String("Home")); - homeState->assignProperty(parent, stateIdentifier, QLatin1String("Home")); - QObject::connect(homeState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - QState *accountState = new QState(mainWorkState); - accountState->assignProperty(parent, stateIdentifier, QLatin1String("Account")); - QObject::connect(accountState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - accountState->setObjectName(QLatin1String("Account")); - QState *folderState = new QState(mainWorkState); - folderState->assignProperty(parent, stateIdentifier, QLatin1String("Folder")); - QObject::connect(folderState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - folderState->setObjectName(QLatin1String("Folder")); - QState *multiFolderState = new QState(mainWorkState); - multiFolderState->assignProperty(parent, stateIdentifier, QLatin1String("MultiFolder")); - QObject::connect(multiFolderState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - multiFolderState->setObjectName(QLatin1String("MultiFolder")); - QState *singleItemState = new QState(mainWorkState); - singleItemState->assignProperty(parent, stateIdentifier, QLatin1String("SingleItem")); - QObject::connect(singleItemState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - singleItemState->setObjectName(QLatin1String("SingleItem")); - - QState *selectState = new QState(machine); - selectState->assignProperty(parent, stateIdentifier, QLatin1String("Select")); - QObject::connect(selectState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - selectState->setObjectName(QLatin1String("Select")); - QState *bulkActionState = new QState(machine); - bulkActionState->assignProperty(parent, stateIdentifier, QLatin1String("BulkAction")); - QObject::connect(bulkActionState, SIGNAL(entered()), machine, SIGNAL(stateChanged())); - bulkActionState->setObjectName(QLatin1String("BulkAction")); - - { - ModelSelectionTransition *homeToAccount = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptSingleTopLevelSelection, - homeState); - homeToAccount->setTargetState(accountState); - } - { - ModelSelectionTransition *accountToFolder = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptSingleSelection, - accountState); - accountToFolder->setTargetState(folderState); - } - { - ModelSelectionTransition *accountToHome = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptNoSelection, - accountState); - accountToHome->setTargetState(homeState); - } - { - ModelSelectionTransition *accountToSingleItem = new ModelSelectionTransition(d->m_itemSelectionModel, - ModelSelectionTransition::AcceptSingleSelection, - accountState); - accountToSingleItem->setTargetState(singleItemState); - } - { - ModelSelectionTransition *singleItemToAccount = new ModelSelectionTransition(d->m_itemSelectionModel, - ModelSelectionTransition::AcceptNoSelection, - singleItemState); - singleItemToAccount->setTargetState(accountState); - } - { - ModelSelectionTransition *folderToSingleItem = new ModelSelectionTransition(d->m_itemSelectionModel, - ModelSelectionTransition::AcceptSingleSelection, - folderState); - folderToSingleItem->setTargetState(singleItemState); - } - { - ModelSelectionTransition *singleItemToFolder = new ModelSelectionTransition(d->m_itemSelectionModel, - ModelSelectionTransition::AcceptNoSelection, - singleItemState); - singleItemToFolder->setTargetState(folderState); - } - { - ModelSelectionTransition *folderToHome = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptNoSelection, - folderState); - folderToHome->setTargetState(homeState); - } - { - ModelSelectionTransition *homeToMulti = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptMultiSelection, - homeState); - homeToMulti->setTargetState(accountState); - } - { - ModelSelectionTransition *multiToHome = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptNoSelection, - multiFolderState); - multiToHome->setTargetState(homeState); - } - { - ModelSelectionTransition *multiToSingleItem = new ModelSelectionTransition(d->m_itemSelectionModel, - ModelSelectionTransition::AcceptSingleSelection, - multiFolderState); - multiToSingleItem->setTargetState(singleItemState); - } - { - ModelSelectionTransition *singleItemToMulti = new ModelSelectionTransition(d->m_itemSelectionModel, - ModelSelectionTransition::AcceptNoSelection, - singleItemState); - singleItemToMulti->setTargetState(multiFolderState); - } - { - ModelSelectionTransition *multiToFolder = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptSingleSelection, - multiFolderState); - multiToFolder->setTargetState(folderState); - } - { - ModelSelectionTransition *multiToAccount = new ModelSelectionTransition(d->m_navigationModel, - ModelSelectionTransition::AcceptSingleTopLevelSelection, - multiFolderState); - multiToAccount->setTargetState(folderState); - } - { - RequestNamedTransition *transition = new RequestNamedTransition(machine, mainWorkState); - transition->setTargetState(selectState); - } - { - RequestNamedTransition *transition = new RequestNamedTransition(machine, selectState); - transition->setTargetState(mainWorkState); - } - { - RequestNamedTransition *transition = new RequestNamedTransition(machine, mainWorkState); - transition->setTargetState(bulkActionState); - } - { - RequestNamedTransition *transition = new RequestNamedTransition(machine, bulkActionState); - transition->setTargetState(mainWorkState); - } - return machine; -} - diff --git a/kdepim/mobile/lib/statemachinebuilder.h b/kdepim/mobile/lib/statemachinebuilder.h deleted file mode 100644 index 305b1080..00000000 --- a/kdepim/mobile/lib/statemachinebuilder.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef STATEMACHINEBUILDER_H -#define STATEMACHINEBUILDER_H - -#include "mobileui_export.h" - -#include -#include - -class QObject; -class QItemSelectionModel; - -class StateMachineBuilderPrivate; - - -class MOBILEUI_EXPORT NotifyingStateMachine : public QStateMachine -{ - Q_OBJECT -public: - explicit NotifyingStateMachine(QObject *parent = 0); - - void requestState(const QString &state); - -signals: - void stateRequested(const QString &state); - void stateChanged(); -}; - -class RequestNamedTransition : public QSignalTransition -{ - Q_OBJECT -public: - explicit RequestNamedTransition(QStateMachine *stateMachine, QState* sourceState = 0); - - virtual bool eventTest(QEvent* event); - -}; - -/** - Machines must be built by builders. -*/ -class MOBILEUI_EXPORT StateMachineBuilder -{ -public: - StateMachineBuilder(); - virtual ~StateMachineBuilder(); - - void setNavigationModel(QItemSelectionModel *model); - void setItemSelectionModel(QItemSelectionModel *model); - // TODO: Decide on granularity of the interface. - virtual NotifyingStateMachine* getMachine(QObject *parent) const; - -private: - Q_DECLARE_PRIVATE(StateMachineBuilder) - StateMachineBuilderPrivate * const d_ptr; -}; - -#endif diff --git a/kdepim/mobile/lib/stylesheet.css.cmake b/kdepim/mobile/lib/stylesheet.css.cmake deleted file mode 100644 index 5c4b7ee6..00000000 --- a/kdepim/mobile/lib/stylesheet.css.cmake +++ /dev/null @@ -1,296 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - - -/* - * Generic settings - */ - -/* font colors */ -QCheckBox, -QComboBox:editable, -QLabel, -QPushButton, -QRadioButton:off, -KPIM--KDateEdit, -KPIM--KTimeEdit -{ - color: black -} - - -/* idle button background */ -QCheckBox, -QComboBox, -QDateTimeEdit::down-button, -QDateTimeEdit::up-button, -QRadioButton, -QPushButton, -QSpinBox::down-button, -QSpinBox::up-button, -QToolButton -{ - border-image: url(@STYLE_IMAGE_PATH@/button-border.png) 14 14 14 14 repeat stretch; - border-top: 10px; - border-bottom: 10px; - border-left: 10px; - border-right: 10px; - min-height: 32px; -} - -/* active button background */ -QCheckBox:pressed, -QComboBox:!editable:pressed, -QDateTimeEdit::down-button:pressed, -QDateTimeEdit::up-button:pressed, -QPushButton:pressed, -QRadioButton:on, -QSpinBox::down-button:pressed, -QSpinBox::up-button:pressed, -QToolButton:pressed -{ - border-image: url(@STYLE_IMAGE_PATH@/button-border-active.png) 14 14 14 14 repeat stretch; - color: white; -} - -/* text input frames */ -QDateTimeEdit, -QLineEdit, -QTextEdit, -QSpinBox -{ - background-color: white; - border: 2px; - border-color: grey; - border-radius: 8px; - border-style: inset; - padding: 4px; -} - -KLineEdit -{ - background-color: white; - border: 2px; - border-color: grey; - border-radius: 8px; - border-style: inset; - padding: 4px; - padding-right: 48px -} - - -/* - * Widget specific settings - */ - -/* QCheckBox */ -QCheckBox:disabled { - color: grey; -} - -QCheckBox::indicator:disabled { - background-color: rgba(0,0,0,0); -} - - -/* QColumnView, QListView and hacks for column view internals - TODO: find a way to style stand-alone QListView's but not those of a combo box -*/ -QColumnView, -QColumnView .QWidget, -QColumnView .QAbstractItemView, -QColumnView QListView, -.QListWidget, -.QListWidget::item:!selected -{ - background-color: rgba(0,0,0,0); - color: black; -} - -KCompletionBox, -KCompletionBox::item:!selected -{ - background-color: white; -} - -/* QComboBox */ -QComboBox::drop-down, QComboBox::down-arrow { - background-color: rgba(0,0,0,0); -} - - -/* QRadioButton */ -QRadioButton::indicator { - background-color: rgba(0,0,0,0); - width: 0; -} - - -/* QScrollArea */ -QScrollArea { - background-color: rgba(0,0,0,0); -} - - -/* QSpinBox and QDateTimeEdit */ -QDateTimeEdit, QSpinBox { - margin-left: 52px; - margin-right: 52px; - margin-top: 16px; - margin-bottom: 16px; - text-align: center; - /* for some reason padding is increased by margin here... */ - padding-left: -52px; - padding-right: -52px; -} - -QDateTimeEdit::down-button, -QDateTimeEdit::up-button, -QSpinBox::down-button, -QSpinBox::up-button -{ - subcontrol-origin: margin; - height: 32px; - width: 32px; -} - -QDateTimeEdit::down-button, -QSpinBox::down-button -{ - subcontrol-position: left; -} - -QDateTimeEdit::up-button, -QSpinBox::up-button -{ - subcontrol-position: right; -} - -QDateTimeEdit::down-arrow, -QSpinBox::down-arrow -{ - image: url(@STYLE_IMAGE_PATH@/button-minus.png); -} - -QDateTimeEdit::down-arrow:pressed, -QSpinBox::down-arrow:pressed -{ - image: url(@STYLE_IMAGE_PATH@/button-minus-active.png); -} - -QDateTimeEdit::down-arrow:disabled, -QDateTimeEdit::down-arrow:off, -QSpinBox::down-arrow:disabled, -QSpinBox::down-arrow:off -{ - image: url(@STYLE_IMAGE_PATH@/button-minus-disabled.png); -} - -QDateTimeEdit::up-arrow, -QSpinBox::up-arrow -{ - image: url(@STYLE_IMAGE_PATH@/button-plus.png); -} - -QDateTimeEdit::up-arrow:pressed, -QSpinBox::up-arrow:pressed -{ - image: url(@STYLE_IMAGE_PATH@/button-plus-active.png); -} - -QDateTimeEdit::up-arrow:disabled, -QDateTimeEdit::up-arrow:off, -QSpinBox::up-arrow:disabled, -QSpinBox::up-arrow:off -{ - image: url(@STYLE_IMAGE_PATH@/button-plus-disabled.png); -} - - -/** Buttons */ -QPushButton, QToolButton: -{ - qproperty-iconSize: 32px 32px; -} - -QToolButton -{ - min-width: 32px; - padding: 1px; -} - -/** Menus */ -QMenu -{ - background-color: white; - margin: 2px; /* some spacing around the menu */ -} - -QMenu::item -{ - padding: 2px 25px 2px 20px; - border: 1px solid transparent; /* reserve space for selection border */ - color: #000001; -} - -QMenu::item:selected { /* when user selects item using mouse or keyboard */ - background-color: #654321; - color: white; -} - - -/* - * KDGantt - */ -KDGantt--HeaderWidget, -EventViews--TimelineView QHeaderView -{ - background-color: lightgray; - color: black; -} - -EventViews--TimelineView QTreeWidget:item -{ - background-color: white; - color: black; -} - - -/* - * Hacks that should not be necessary at all - */ - -/* Recipients editor does not have a transparent background by default on Maemo and tries very hard to avoid getting one :-/ */ -MessageComposer--RecipientLine, -MessageComposer--RecipientsView > * > QWidget, -KPIM--MultiplyingLineView > * > QWidget -{ - background-color: rgba(0,0,0,0); -} - -/* category label in incidence editor has an ugly frame by default */ -KSqueezedTextLabel#mCategoriesLabel -{ - background-color: white; - border: 2px; - border-color: grey; - border-radius: 8px; - border-style: inset; - padding: 4px; -} diff --git a/kdepim/mobile/lib/stylesheetloader.cpp b/kdepim/mobile/lib/stylesheetloader.cpp deleted file mode 100644 index a6fb571d..00000000 --- a/kdepim/mobile/lib/stylesheetloader.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "stylesheetloader.h" - -#include -#include -#include -#include -#include -#include - -class StyleSheetLoaderPrivate -{ - public: - StyleSheetLoaderPrivate() : appliedGlobally(false) - { - QFile f( KStandardDirs::locate( "data", QLatin1String("mobileui/stylesheet.css") ) ); - if ( f.open( QFile::ReadOnly ) ) { - styleSheet = QString::fromUtf8( f.readAll() ); - kDebug() << "loaded stylesheet" << f.fileName(); - } else { - kError() << "failed to read stylesheet: " << f.fileName(); - } - } - - QString styleSheet; - bool appliedGlobally; -}; - -K_GLOBAL_STATIC( StyleSheetLoaderPrivate, s_styleSheetLoader ) - -void StyleSheetLoader::applyStyle(QWidget* widget) -{ -#ifndef QT_NO_STYLE_STYLESHEET - if ( widget && !s_styleSheetLoader->appliedGlobally && !s_styleSheetLoader->styleSheet.isEmpty() ) - widget->setStyleSheet( s_styleSheetLoader->styleSheet ); -#endif -} - -void StyleSheetLoader::applyStyle(QApplication* app) -{ -#ifndef QT_NO_STYLE_STYLESHEET - if ( app && !s_styleSheetLoader->styleSheet.isEmpty() ) - app->setStyleSheet( s_styleSheetLoader->styleSheet ); -#endif -} - -QString StyleSheetLoader::styleSheet() -{ - return s_styleSheetLoader->styleSheet; -} - diff --git a/kdepim/mobile/lib/stylesheetloader.h b/kdepim/mobile/lib/stylesheetloader.h deleted file mode 100644 index 08ebc1a5..00000000 --- a/kdepim/mobile/lib/stylesheetloader.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef STYLESHEETLOADER_H -#define STYLESHEETLOADER_H - -#include "mobileui_export.h" - -class QApplication; -class QWidget; - -/** Applies style sheets to widgets embedded in QML */ -namespace StyleSheetLoader -{ - /** - * Applies the style sheet to @p widget, if it hasn't been set globally anyway. - */ - MOBILEUI_EXPORT void applyStyle( QWidget *widget ); - - /** - * Globally apply the style sheet. - * Only use on platforms that don't have a sensible native widget style, such as Maemo >= 6. - */ - MOBILEUI_EXPORT void applyStyle( QApplication *app ); - - /** - * Returns the style sheet. - * @internal - */ - QString styleSheet(); -} - -#endif diff --git a/kdepim/mobile/lib/tests/CMakeLists.txt b/kdepim/mobile/lib/tests/CMakeLists.txt deleted file mode 100644 index 7cd3c019..00000000 --- a/kdepim/mobile/lib/tests/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -add_subdirectory(bnf_selection) - -set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) - -# Convenience macro to add unit tests. -macro( add_mobileui_test _source ) - set( _test ${_source} ) - get_filename_component( _name ${_source} NAME_WE ) - kde4_add_unit_test( ${_name} TESTNAME mobileui-${_name} ${_test} ) - target_link_libraries( ${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ) -endmacro() - -add_mobileui_test( rangemanagertest.cpp ) diff --git a/kdepim/mobile/lib/tests/bnf_selection/CMakeLists.txt b/kdepim/mobile/lib/tests/bnf_selection/CMakeLists.txt deleted file mode 100644 index d0595160..00000000 --- a/kdepim/mobile/lib/tests/bnf_selection/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ - -project(bnf_selection) - -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/../../ -) - -set( bnf_selection_srcs - main.cpp - mainwindow.cpp -) - -kde4_add_executable(bnf_selection - ${bnf_selection_srcs} -) - -target_link_libraries(bnf_selection - kdepimmobileui - ${QT_QTGUI_LIBRARIES} - ${QT_QTCORE_LIBRARIES} -) - diff --git a/kdepim/mobile/lib/tests/bnf_selection/main.cpp b/kdepim/mobile/lib/tests/bnf_selection/main.cpp deleted file mode 100644 index ca08ec89..00000000 --- a/kdepim/mobile/lib/tests/bnf_selection/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ - -#include - -#include "mainwindow.h" - -int main(int argc, char **argv) -{ - QApplication app(argc, argv); - - MainWindow mw; - mw.show(); - - return app.exec(); -} - diff --git a/kdepim/mobile/lib/tests/bnf_selection/mainwindow.cpp b/kdepim/mobile/lib/tests/bnf_selection/mainwindow.cpp deleted file mode 100644 index 21ad5223..00000000 --- a/kdepim/mobile/lib/tests/bnf_selection/mainwindow.cpp +++ /dev/null @@ -1,66 +0,0 @@ - -#include "mainwindow.h" - -#include "breadcrumbnavigationcontext.h" - -MainWindow::MainWindow(QWidget *parent) - : QWidget(parent) -{ - m_model = new QStandardItemModel(this); - - int counter = 0; - QStandardItem *parentItem = m_model->invisibleRootItem(); - for (int i = 0; i < 4; ++i) { - QStandardItem *topItem = new QStandardItem(QString::fromLatin1("item %1").arg(++counter)); - - parentItem->appendRow(topItem); - for (int i = 0; i < 4; ++i) { - QStandardItem *childItem = new QStandardItem(QString::fromLatin1("item %1").arg(++counter)); - topItem->appendRow(childItem); - for (int i = 0; i < 4; ++i) { - QStandardItem *grandChildItem = new QStandardItem(QString::fromLatin1("item %1").arg(++counter)); - childItem->appendRow(grandChildItem); - } - } - } - - QHBoxLayout *layout = new QHBoxLayout(this); - - QTreeView *tree = new QTreeView; - layout->addWidget(tree); - - tree->setModel(m_model); - - m_bnf = new KBreadcrumbNavigationFactory(this); - - m_bnf->createBreadcrumbContext(m_model); - - tree->setSelectionModel(m_bnf->selectionModel()); - - tree->expandAll(); - tree->setSelectionMode(QTreeView::ExtendedSelection); - - QVBoxLayout *vLayout = new QVBoxLayout; - - QListView *breadcrumbList = new QListView; - vLayout->addWidget(breadcrumbList); - breadcrumbList->setModel(m_bnf->breadcrumbItemModel()); - QListView *selectedList = new QListView; - vLayout->addWidget(selectedList); - selectedList->setModel(m_bnf->selectedItemModel()); - QListView *childList = new QListView; - vLayout->addWidget(childList); - childList->setModel(m_bnf->childItemModel()); - - layout->addLayout(vLayout); - - QTimer::singleShot(2000, this, SLOT(doSelects())); -} - -void MainWindow::doSelects() -{ - QModelIndex first = m_model->index(0, 0, m_model->index(0, 0)); - QModelIndex second = m_model->index(0, 0, m_model->index(1, 0)); - m_bnf->selectionModel()->select( first, QItemSelectionModel::Select ); - m_bnf->selectionModel()->select(second, QItemSelectionModel::Select ); -} diff --git a/kdepim/mobile/lib/tests/bnf_selection/mainwindow.h b/kdepim/mobile/lib/tests/bnf_selection/mainwindow.h deleted file mode 100644 index abff8724..00000000 --- a/kdepim/mobile/lib/tests/bnf_selection/mainwindow.h +++ /dev/null @@ -1,25 +0,0 @@ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include - -class KBreadcrumbNavigationFactory; - -class MainWindow : public QWidget -{ - Q_OBJECT -public: - MainWindow(QWidget *parent = 0); - -private slots: - void doSelects(); - -private: - KBreadcrumbNavigationFactory *m_bnf; - QStandardItemModel *m_model; - -}; - -#endif - diff --git a/kdepim/mobile/lib/tests/rangemanagertest.cpp b/kdepim/mobile/lib/tests/rangemanagertest.cpp deleted file mode 100644 index 0119318c..00000000 --- a/kdepim/mobile/lib/tests/rangemanagertest.cpp +++ /dev/null @@ -1,161 +0,0 @@ -#include - -#include "../rangemanager_p.h" -#include "../rangemanager.cpp" - -class RangeManagerTest : public QObject -{ - Q_OBJECT - - private Q_SLOTS: - void basicTest() - { - RangeManager manager; - QCOMPARE( manager.count(), 0 ); - - manager.insertRange( 0, 5 ); - QCOMPARE( manager.count(), 1 ); - - manager.clear(); - QCOMPARE( manager.count(), 0 ); - } - - void countTest() - { - RangeManager manager; - manager.insertRange( 0, 5 ); - manager.insertRange( manager.count(), 5 ); - manager.insertRange( manager.count(), 5 ); - manager.insertRange( manager.count(), 5 ); - manager.insertRange( manager.count(), 5 ); - - QCOMPARE( manager.count(), 5 ); - } - - void clearTest() - { - RangeManager manager; - - manager.clear(); - QCOMPARE( manager.count(), 0 ); - - manager.insertRange( 0, 5 ); - manager.insertRange( manager.count(), 5 ); - manager.insertRange( manager.count(), 5 ); - manager.insertRange( manager.count(), 5 ); - manager.insertRange( manager.count(), 5 ); - - manager.clear(); - QCOMPARE( manager.count(), 0 ); - } - - void insertRangeTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 3 ); - manager.insertRange( 2, 7 ); - - QCOMPARE( manager.rangeStart( 2 ), 8 ); - - manager.insertRange( 1, 5 ); - - QCOMPARE( manager.rangeStart( 3 ), 13 ); - } - - void removeRangeTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 5 ); - manager.insertRange( 2, 3 ); - manager.insertRange( 3, 7 ); - - QCOMPARE( manager.rangeStart( 3 ), 13 ); - - manager.removeRange( 1 ); - QCOMPARE( manager.rangeStart( 2 ), 8 ); - } - - void increaseRangeTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 4 ); - manager.insertRange( 2, 3 ); - - QCOMPARE( manager.rangeStart( 2 ), 9 ); - - manager.increaseRange( 1, 2 ); - QCOMPARE( manager.rangeStart( 2 ), 11 ); - } - - void decreaseRangeTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 4 ); - manager.insertRange( 2, 3 ); - - QCOMPARE( manager.rangeStart( 2 ), 9 ); - - manager.decreaseRange( 1, 2 ); - QCOMPARE( manager.rangeStart( 2 ), 7 ); - } - - void rangeStartTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 4 ); - manager.insertRange( 2, 3 ); - manager.insertRange( 3, 8 ); - - QCOMPARE( manager.rangeStart( 0 ), 0 ); - QCOMPARE( manager.rangeStart( 1 ), 5 ); - QCOMPARE( manager.rangeStart( 2 ), 9 ); - QCOMPARE( manager.rangeStart( 3 ), 12 ); - } - - void rangeSizeTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 4 ); - manager.insertRange( 2, 3 ); - manager.insertRange( 3, 8 ); - - QCOMPARE( manager.rangeSize( 0 ), 5 ); - QCOMPARE( manager.rangeSize( 1 ), 4 ); - QCOMPARE( manager.rangeSize( 2 ), 3 ); - QCOMPARE( manager.rangeSize( 3 ), 8 ); - } - - void rangeForPositionTest() - { - RangeManager manager; - - manager.insertRange( 0, 5 ); - manager.insertRange( 1, 4 ); - manager.insertRange( 2, 3 ); - manager.insertRange( 3, 8 ); - - QCOMPARE( manager.rangeForPosition( 0 ), 0 ); - QCOMPARE( manager.rangeForPosition( 2 ), 0 ); - QCOMPARE( manager.rangeForPosition( 4 ), 0 ); - QCOMPARE( manager.rangeForPosition( 5 ), 1 ); - QCOMPARE( manager.rangeForPosition( 10 ), 2 ); - QCOMPARE( manager.rangeForPosition( 19 ), 3 ); - QCOMPARE( manager.rangeForPosition( 20 ), -1 ); - } -}; - -QTEST_MAIN( RangeManagerTest ) - -#include "rangemanagertest.moc" diff --git a/kdepim/mobile/lib/threadgroupermodel.cpp b/kdepim/mobile/lib/threadgroupermodel.cpp deleted file mode 100644 index d05d147b..00000000 --- a/kdepim/mobile/lib/threadgroupermodel.cpp +++ /dev/null @@ -1,269 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "threadgroupermodel.h" - -#include "hierarchyresolver.h" - -class ThreadGrouperModelPrivate -{ - public: - ThreadGrouperModelPrivate( ThreadGrouperComparator *comparator, ThreadGrouperModel *qq ) - : q_ptr( qq ), m_comparator( comparator ), m_threadingEnabled( true ), m_dynamicModelRepopulation( false ) - { - Q_ASSERT( m_comparator ); - - m_comparator->m_grouper = this; - } - - Q_DECLARE_PUBLIC( ThreadGrouperModel ) - ThreadGrouperModel* const q_ptr; - - Akonadi::Item getThreadItem( const Akonadi::Item &item ) const; - - Akonadi::Item threadRoot( const QModelIndex &index ) const; - - void populateThreadGrouperModel() const; - void resort(); - - mutable QHash m_childParentMap; // maps an item to its thread leader item - mutable QHash > m_parentChildrenMap; // maps a thread leader item to all its descendant items - mutable QHash m_items; - - ThreadGrouperComparator *m_comparator; - bool m_threadingEnabled; - bool m_dynamicModelRepopulation; -}; - -ThreadGrouperComparator::ThreadGrouperComparator() -{ -} - -ThreadGrouperComparator::~ThreadGrouperComparator() -{ -} - -QString ThreadGrouperComparator::grouperString( const Akonadi::Item& ) const -{ - return QString(); -} - -Akonadi::Item ThreadGrouperComparator::threadItem( const Akonadi::Item &item ) const -{ - Q_ASSERT( m_grouper ); - - return m_grouper->getThreadItem( item ); -} - -Akonadi::Item ThreadGrouperComparator::itemForIdentifier( const QByteArray &identifier ) const -{ - Q_ASSERT( m_grouper ); - - return m_grouper->m_items.value( identifier ); -} - -QSet ThreadGrouperComparator::threadDescendants( const QByteArray &identifier ) const -{ - Q_ASSERT( m_grouper ); - - return m_grouper->m_parentChildrenMap.value( identifier ); -} - -void ThreadGrouperComparator::invalidate() -{ - Q_ASSERT( m_grouper ); - - m_grouper->q_ptr->invalidate(); -} - -void ThreadGrouperComparator::resetCaches() -{ -} - - -Akonadi::Item ThreadGrouperModelPrivate::getThreadItem( const Akonadi::Item &item ) const -{ - const QByteArray identifier = m_comparator->identifierForItem( item ); - const QByteArray parentIdentifier = m_childParentMap.value( identifier ); - - /** - * If threading is disabled, we treat each item like it is its own thread leader. - */ - if ( !m_threadingEnabled ) - return item; - - if ( !m_items.contains( parentIdentifier ) ) { - /** - * The model knows nothing about the referenced parent item, this can happen - * when importing and viewing only a part of a mail thread for example. - * In this case we handle the item as standalone thread top node. - */ - return m_items.value( identifier ); - } - - return m_items.value( parentIdentifier ); -} - -void ThreadGrouperModelPrivate::populateThreadGrouperModel() const -{ - Q_Q( const ThreadGrouperModel ); - m_childParentMap.clear(); - m_parentChildrenMap.clear(); - m_items.clear(); - - if ( !q->sourceModel() ) - return; - - HierarchyResolver resolver; - - const int rowCount = q->sourceModel()->rowCount(); - - for ( int row = 0; row < rowCount; ++row ) { - const QModelIndex index = q->sourceModel()->index( row, 0 ); - Q_ASSERT( index.isValid() ); - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - Q_ASSERT( item.isValid() ); - - const QByteArray identifier = m_comparator->identifierForItem( item ); - - m_items[ identifier ] = item; - - const QByteArray parentIdentifier = m_comparator->parentIdentifierForItem( item ); - if ( parentIdentifier.isEmpty() ) - resolver.addNode( identifier ); - else - resolver.addRelation( identifier, parentIdentifier ); - - } - - resolver.resolve( m_items.keys().toSet() ); - - m_childParentMap = resolver.childParentMap(); - m_parentChildrenMap = resolver.parentChildrenMap(); - - m_comparator->resetCaches(); -} - -void ThreadGrouperModelPrivate::resort() -{ - Q_Q( ThreadGrouperModel ); - - q->sort( 0, q->sortOrder() ); -} - -ThreadGrouperModel::ThreadGrouperModel( ThreadGrouperComparator *comparator, QObject *parent ) - : QSortFilterProxyModel( parent ), d_ptr( new ThreadGrouperModelPrivate( comparator, this ) ) -{ - setDynamicSortFilter( true ); - sort( 0, Qt::AscendingOrder ); -} - -ThreadGrouperModel::~ThreadGrouperModel() -{ - delete d_ptr; -} - -Akonadi::Item ThreadGrouperModelPrivate::threadRoot( const QModelIndex &index ) const -{ - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - Q_ASSERT( item.isValid() ); - return getThreadItem( item ); -} - -QVariant ThreadGrouperModel::data( const QModelIndex &index, int role ) const -{ - Q_D( const ThreadGrouperModel ); - - if ( !index.isValid() ) - return QVariant(); - - if ( role == ThreadIdRole ) - return d->threadRoot( index ).id(); - else if ( role == GrouperRole ) { - return d->m_comparator->grouperString( index.data( Akonadi::EntityTreeModel::ItemRole ).value() ); - } - - return QSortFilterProxyModel::data( index, role ); -} - -void ThreadGrouperModel::setSourceModel( QAbstractItemModel *sourceModel ) -{ - Q_D( ThreadGrouperModel ); - d->populateThreadGrouperModel(); - - connect( sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(populateThreadGrouperModel()) ); - connect( sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(resort()) ); - - connect( sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(populateThreadGrouperModel()) ); - - connect( sourceModel, SIGNAL(layoutChanged()), - this, SLOT(populateThreadGrouperModel()) ); - - QSortFilterProxyModel::setSourceModel( sourceModel ); - - if ( d->m_dynamicModelRepopulation ) - connect( sourceModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - this, SLOT(populateThreadGrouperModel()) ); - - QHash names = roleNames(); - names.insert( GrouperRole, "grouperString" ); - setRoleNames( names ); -} - -bool ThreadGrouperModel::lessThan( const QModelIndex &left, const QModelIndex &right ) const -{ - Q_D( const ThreadGrouperModel ); - - const Akonadi::Item leftItem = left.data( Akonadi::EntityTreeModel::ItemRole ).value(); - const Akonadi::Item rightItem = right.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - return d->m_comparator->lessThan( leftItem, rightItem ); -} - -void ThreadGrouperModel::setThreadingEnabled( bool enabled ) -{ - Q_D( ThreadGrouperModel ); - - d->m_threadingEnabled = enabled; - - d->populateThreadGrouperModel(); - invalidate(); -} - -bool ThreadGrouperModel::threadingEnabled() const -{ - Q_D( const ThreadGrouperModel ); - - return d->m_threadingEnabled; -} - -void ThreadGrouperModel::setDynamicModelRepopulation( bool enabled ) -{ - Q_D( ThreadGrouperModel ); - - d->m_dynamicModelRepopulation = enabled; -} - -#include "moc_threadgroupermodel.cpp" diff --git a/kdepim/mobile/lib/threadgroupermodel.h b/kdepim/mobile/lib/threadgroupermodel.h deleted file mode 100644 index a6efd154..00000000 --- a/kdepim/mobile/lib/threadgroupermodel.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef THREADGROUPERMODEL_H -#define THREADGROUPERMODEL_H - -#include "mobileui_export.h" - -#include - -#include -#include - -class ThreadGrouperModelPrivate; - -/** - * @short A base class for custom comperators, used by ThreadGrouperModel for sorting. - */ -class MOBILEUI_EXPORT ThreadGrouperComparator -{ - public: - /** - * Creates a thread grouper comparator. - */ - ThreadGrouperComparator(); - - /** - * Destroys the thread grouper comparator. - */ - virtual ~ThreadGrouperComparator(); - - /** - * Reimplement to return the unique identifier for the given @p item. - */ - virtual QByteArray identifierForItem( const Akonadi::Item &item ) const = 0; - - /** - * Reimplement to return the parent identifier for the given @p item. - */ - virtual QByteArray parentIdentifierForItem( const Akonadi::Item &item ) const = 0; - - /** - * Reimplement to return if the @p left item is smaller than the @p right item. - */ - virtual bool lessThan( const Akonadi::Item &left, const Akonadi::Item &right ) const = 0; - - /** - * Returns the grouper string for the given @p item. - */ - virtual QString grouperString( const Akonadi::Item &item ) const; - - protected: - /** - * Returns the thread item for @p item. - */ - Akonadi::Item threadItem( const Akonadi::Item &item ) const; - - /** - * Returns the item for the given item @p identifier. - */ - Akonadi::Item itemForIdentifier( const QByteArray &identifier ) const; - - /** - * Returns the set of descendants identifiers for the given thread @p identifier. - */ - QSet threadDescendants( const QByteArray &identifier ) const; - - /** - * Invalidates the ThreadGrouperModel to trigger a refresh. - */ - void invalidate(); - - /** - * This method is called whenever the comparator should reset its caches. - */ - virtual void resetCaches(); - - private: - Q_DISABLE_COPY( ThreadGrouperComparator ) - ThreadGrouperModelPrivate *m_grouper; - - friend class ThreadGrouperModelPrivate; -}; - -class MOBILEUI_EXPORT ThreadGrouperModel : public QSortFilterProxyModel -{ - Q_OBJECT - - public: - enum CustomRoles { - // FIXME Fix custom role handling in proxies. - ThreadIdRole = Akonadi::EntityTreeModel::UserRole + 30, - GrouperRole - }; - - /** - * Creates a new thread grouper model. - * - * @param comparator The comparator object, which abstracts type specific comparison. - * @param parent The parent object. - * - * @note The model does not take ownership of the comparator. - */ - explicit ThreadGrouperModel( ThreadGrouperComparator *comparator, QObject* parent = 0 ); - - virtual ~ThreadGrouperModel(); - - virtual void setSourceModel( QAbstractItemModel *sourceModel ); - - virtual bool lessThan( const QModelIndex &left, const QModelIndex &right ) const; - virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; - - /** - * Set whether threading will be @p enabled. - */ - void setThreadingEnabled( bool enabled ); - - /** - * Returns whether threading is enabled. - */ - bool threadingEnabled() const; - - /** - * Sets whether the model shall be repopulated on data change. - * - * @note Must be called before setSourceModel() to have any effect. - */ - void setDynamicModelRepopulation( bool enabled ); - - private: - Q_DECLARE_PRIVATE( ThreadGrouperModel ) - ThreadGrouperModelPrivate* const d_ptr; - Q_PRIVATE_SLOT( d_func(), void populateThreadGrouperModel() ) - Q_PRIVATE_SLOT( d_func(), void resort() ) -}; - -#endif diff --git a/kdepim/mobile/lib/threadmodel.cpp b/kdepim/mobile/lib/threadmodel.cpp deleted file mode 100644 index 30333bc2..00000000 --- a/kdepim/mobile/lib/threadmodel.cpp +++ /dev/null @@ -1,325 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "threadmodel.h" - -#include "rangemanager_p.h" -#include "threadgroupermodel.h" - -#include -#include - -class ThreadModelPrivate -{ - ThreadModelPrivate( QAbstractItemModel *emailModel, ThreadModel *qq ) - : q_ptr( qq ), m_emailModel( emailModel ) - { - } - - Q_DECLARE_PUBLIC( ThreadModel ) - ThreadModel* const q_ptr; - - void slotRowsInserted( const QModelIndex&, int, int ); - void slotRowsRemoved( const QModelIndex&, int, int ); - void slotResetModel(); - void populateThreadModel(); - - QAbstractItemModel *m_emailModel; - RangeManager m_rangeManager; -}; - -void ThreadModelPrivate::slotRowsInserted( const QModelIndex&, int start, int end ) -{ - /** - * At this point the m_emailModel contains the new rows already, but the range manager - * is not updated yet. - * - * Example: - * The m_emailModel contained two threads each with two messages - * EM[t1 t1 t2 t2] - * so the range manager contains the same information - * RM[t1 t1 t2 t2] - * Now 4 new rows are inserted into the m_emailModel with one new message belonging to t1, - * one new message belonging to t2 and 2 new messages that are thread leaders themself. - * The m_emailModel will look like the following now - * EM[t1 t1 t1 t2 t3 t4 t4 t4] - * and we have to adapt the range manager to match this. - */ - - // At first find out if there exists a row before 'start' and what its thread id and associated range is - Akonadi::Item::Id previousThreadId = -1; - if ( start != 0 ) { - const QModelIndex index = m_emailModel->index( start - 1, 0 ); - Q_ASSERT( index.isValid() ); - previousThreadId = index.data( ThreadGrouperModel::ThreadIdRole ).toLongLong(); - } - - // check if there exists a row after 'end' and what its thread id and associated range is - Akonadi::Item::Id nextThreadId = -1; - if ( end != (m_emailModel->rowCount() - 1) ) { - const QModelIndex index = m_emailModel->index( end + 1, 0 ); - Q_ASSERT( index.isValid() ); - nextThreadId = index.data( ThreadGrouperModel::ThreadIdRole ).toLongLong(); - } - - // iterate over the new rows - Akonadi::Item::Id currentThreadId = previousThreadId; - int currentRange = (start == 0 ? -1 : m_rangeManager.rangeForPosition( start - 1 )); - - for ( int row = start; row <= end; ++row ) { - const QModelIndex index = m_emailModel->index( row, 0 ); - Q_ASSERT( index.isValid() ); - - const Akonadi::Item::Id threadRootId = index.data( ThreadGrouperModel::ThreadIdRole ).toLongLong(); - if ( threadRootId == currentThreadId ) { // belongs to the current thread - m_rangeManager.increaseRange( currentRange, 1 ); - - const QModelIndex threadIndex = q_ptr->index( currentRange, 0 ); //TODO: cache it - emit q_ptr->dataChanged( threadIndex, threadIndex ); - } else { // threadRootId != currentThreadId - if ( (row == end) && (threadRootId == nextThreadId) ) { - const int nextRange = currentRange + 1; - m_rangeManager.increaseRange( nextRange, 1 ); - - const QModelIndex threadIndex = q_ptr->index( nextRange, 0 ); - emit q_ptr->dataChanged( threadIndex, threadIndex ); - } else { - currentRange++; - q_ptr->beginInsertRows( QModelIndex(), currentRange, currentRange ); - m_rangeManager.insertRange( currentRange, 1 ); - q_ptr->endInsertRows(); - } - } - - currentThreadId = threadRootId; - } -} - -void ThreadModelPrivate::slotRowsRemoved( const QModelIndex&, int start, int end ) -{ - const int startRange = m_rangeManager.rangeForPosition( start ); - const int endRange = m_rangeManager.rangeForPosition( end ); - - const int startRangeSize = m_rangeManager.rangeSize( startRange ); - const int endRangeSize = m_rangeManager.rangeSize( endRange ); - - if ( startRange == endRange ) { - // the rows to be removed are covered by one range - - const int rowCount = (end - start + 1); - if ( (rowCount - startRangeSize) == 0 ) { // all messages of this thread are removed -> remove the thread - q_ptr->beginRemoveRows( QModelIndex(), startRange, startRange ); - m_rangeManager.removeRange( startRange ); - q_ptr->endRemoveRows(); - } else { // some messages are left in the thread -> adapt thread size - m_rangeManager.decreaseRange( startRange, rowCount ); - - const QModelIndex index = q_ptr->index( startRange, 0 ); - emit q_ptr->dataChanged( index, index ); // the number of thread children has changed -> trigger view update - } - } else { - // the rows to be removed are covered by two or more ranges - - // first check how many rows of the start range are affected - const int startRangeStart = m_rangeManager.rangeStart( startRange + 1 ); - const int affectedStartRows = (startRangeStart - start); - - // check how many rows of the end range are affected - const int endRangeStart = m_rangeManager.rangeStart( endRange ); - const int affectedEndRows = (end - endRangeStart + 1); - - // we can't delete the ranges one by one, but have to remove them in one go, - // so store which is the first and last range to be deleted - int startRangeToDelete = startRange + 1; - int endRangeToDelete = endRange - 1; - - // we can't update the indexes before the rows are removed, so delay it - bool updateStartRange = false; - bool updateEndRange = false; - - if ( (affectedStartRows - startRangeSize) == 0 ) { // all messages of this thread are removed -> remove the thread - startRangeToDelete = startRange; - } else { // some messages are left in the thread -> adapt thread size - updateStartRange = true; - } - - if ( (affectedEndRows - endRangeSize) == 0 ) { // all messages of this thread are removed -> remove the thread - endRangeToDelete = endRange; - } else { // some messages are left in the thread -> adapt thread size - updateEndRange = true; - } - - // check if there are ranges that must be removed - if ( (endRangeToDelete - startRangeToDelete) >= 0 ) { - q_ptr->beginRemoveRows( QModelIndex(), startRangeToDelete, endRangeToDelete ); - for ( int range = startRangeToDelete; range <= endRangeToDelete; ++range ) { - m_rangeManager.removeRange( startRangeToDelete ); - } - q_ptr->endRemoveRows(); - } - - // no update the start range and end range as well - if ( updateStartRange ) { - m_rangeManager.decreaseRange( startRange, affectedStartRows ); - - const QModelIndex index = q_ptr->index( startRange, 0 ); - emit q_ptr->dataChanged( index, index ); // the number of thread children has changed -> trigger view update - } - - if ( updateEndRange ) { - // we need to update the end range here, since the ranges between start and end have been removed already - const int updatedEndRange = (endRange - (endRangeToDelete - startRangeToDelete) - 1); - m_rangeManager.decreaseRange( updatedEndRange, affectedEndRows ); - - const QModelIndex index = q_ptr->index( updatedEndRange, 0 ); - emit q_ptr->dataChanged( index, index ); // the number of thread children has changed -> trigger view update - } - } -} - -void ThreadModelPrivate::slotResetModel() -{ - populateThreadModel(); -} - -void ThreadModelPrivate::populateThreadModel() -{ - Q_Q( ThreadModel ); - q->beginResetModel(); - - m_rangeManager.clear(); - const int rowCount = m_emailModel->rowCount(); - if ( rowCount == 0 ) { - q->endResetModel(); - return; - } - - const QModelIndex firstIndex = m_emailModel->index( 0, 0 ); - Akonadi::Item::Id currentThreadId = firstIndex.data( ThreadGrouperModel::ThreadIdRole ).toLongLong(); - - int startRow = 0; - static const int column = 0; - for ( int row = 1; row < rowCount; ++row ) { - const QModelIndex index = m_emailModel->index( row, column ); - Q_ASSERT( index.isValid() ); - - const Akonadi::Item::Id threadRoot = index.data( ThreadGrouperModel::ThreadIdRole ).toLongLong(); - if ( threadRoot != currentThreadId ) { - m_rangeManager.insertRange( m_rangeManager.count(), row - startRow ); - startRow = row; - } - - currentThreadId = threadRoot; - } - - m_rangeManager.insertRange( m_rangeManager.count(), rowCount - startRow ); - q->endResetModel(); -} - -ThreadModel::ThreadModel( QAbstractItemModel *emailModel, QObject *parent ) - : QAbstractListModel( parent ), d_ptr( new ThreadModelPrivate( emailModel, this ) ) -{ - connect( emailModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(slotRowsInserted(QModelIndex,int,int)) ); - - connect( emailModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(slotRowsRemoved(QModelIndex,int,int)) ); - - connect( emailModel, SIGNAL(layoutChanged()), - this, SLOT(slotResetModel()) ); - - connect( emailModel, SIGNAL(modelReset()), - this, SLOT(slotResetModel()) ); - - QHash roleNames = emailModel->roleNames(); - roleNames.insert( ThreadSizeRole, "threadSize" ); - roleNames.insert( ThreadUnreadCountRole, "threadUnreadCount" ); - setRoleNames( roleNames ); -} - -ThreadModel::~ThreadModel() -{ - delete d_ptr; -} - -QVariant ThreadModel::data( const QModelIndex &index, int role ) const -{ - Q_D( const ThreadModel ); - - if ( !index.isValid() ) - return QVariant(); - - const int indexRow = index.row(); - if ( indexRow < d->m_rangeManager.count() ) { - const int range = indexRow; - - const int rangeStartRow = d->m_rangeManager.rangeStart( range ); - const int rangeSize = d->m_rangeManager.rangeSize( range ); - const QModelIndex firstMailIndex = d->m_emailModel->index( rangeStartRow, 0 ); - Q_ASSERT( firstMailIndex.isValid() ); - - if ( role == ThreadRangeStartRole ) - return rangeStartRow; - if ( role == ThreadRangeEndRole ) - return (rangeStartRow + rangeSize - 1); - if ( role == ThreadSizeRole ) - return rangeSize; - if ( role == ThreadUnreadCountRole ) { - int unreadCount = 0; - for ( int row = rangeStartRow; row <= (rangeStartRow + rangeSize - 1); ++row ) { - static const int column = 0; - - const QModelIndex index = d->m_emailModel->index( row, column ); - Q_ASSERT( index.isValid() ); - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - Q_ASSERT( item.isValid() ); - Q_ASSERT( item.hasPayload() ); - - const KMime::Message::Ptr message = item.payload(); - Akonadi::MessageStatus status; - status.setStatusFromFlags( item.flags() ); - if ( !status.isRead() ) - ++unreadCount; - } - - return unreadCount; - } - - if ( role == Qt::DisplayRole ) { - const QString displayString = firstMailIndex.data( role ).toString(); - return QString(QLatin1Char('(') + QString::number( rangeSize ) + QLatin1Char(')') + displayString); - } - - return firstMailIndex.data( role ); - } - - return QVariant(); -} - -int ThreadModel::rowCount( const QModelIndex& ) const -{ - Q_D( const ThreadModel ); - - return d->m_rangeManager.count(); -} - -#include "moc_threadmodel.cpp" diff --git a/kdepim/mobile/lib/threadmodel.h b/kdepim/mobile/lib/threadmodel.h deleted file mode 100644 index e072e392..00000000 --- a/kdepim/mobile/lib/threadmodel.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef THREADMODEL_H -#define THREADMODEL_H - -#include "mobileui_export.h" - -#include - -#include -#include -#include - -class ThreadModelPrivate; - -class MOBILEUI_EXPORT ThreadModel : public QAbstractListModel -{ - Q_OBJECT - - public: - - enum Roles { - ThreadRangeStartRole = Akonadi::EntityTreeModel::UserRole + 20, - ThreadRangeEndRole, - ThreadSizeRole, - ThreadUnreadCountRole - }; - - explicit ThreadModel( QAbstractItemModel *emailModel, QObject *parent = 0 ); - virtual ~ThreadModel(); - - virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const; - virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; - - private: - Q_DECLARE_PRIVATE( ThreadModel ) - ThreadModelPrivate* const d_ptr; - Q_PRIVATE_SLOT( d_func(), void populateThreadModel() ) - Q_PRIVATE_SLOT( d_func(), void slotRowsInserted( QModelIndex, int, int ) ) - Q_PRIVATE_SLOT( d_func(), void slotRowsRemoved( QModelIndex, int, int ) ) - Q_PRIVATE_SLOT( d_func(), void slotResetModel() ) -}; - -#endif diff --git a/kdepim/mobile/lib/threadselectionmodel.cpp b/kdepim/mobile/lib/threadselectionmodel.cpp deleted file mode 100644 index 22dab6e0..00000000 --- a/kdepim/mobile/lib/threadselectionmodel.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "threadselectionmodel.h" - -#include "threadmodel.h" - -class ThreadSelectionModelPrivate -{ - ThreadSelectionModelPrivate(ThreadSelectionModel *qq, QItemSelectionModel *contentSelectionModel, QItemSelectionModel* navigationModel) - : q_ptr(qq), m_contentSelectionModel(contentSelectionModel), m_navigationModel(navigationModel) - { - - } - Q_DECLARE_PUBLIC(ThreadSelectionModel) - ThreadSelectionModel * const q_ptr; - - void contentSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); - - QItemSelectionModel * const m_contentSelectionModel; - QItemSelectionModel * const m_navigationModel; - -}; - -ThreadSelectionModel::ThreadSelectionModel(QAbstractItemModel* model, QItemSelectionModel* contentSelectionModel, QItemSelectionModel* navigationModel, QObject *parent) - : QItemSelectionModel(model, parent), - d_ptr(new ThreadSelectionModelPrivate(this, contentSelectionModel, navigationModel)) -{ - connect(contentSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - SLOT(contentSelectionChanged(QItemSelection,QItemSelection))); -} - -ThreadSelectionModel::~ThreadSelectionModel() -{ - delete d_ptr; -} - -void ThreadSelectionModel::select(const QModelIndex& index, QItemSelectionModel::SelectionFlags command) -{ - select(QItemSelection(index, index), command); -} - -void ThreadSelectionModel::select(const QItemSelection& selection, QItemSelectionModel::SelectionFlags command) -{ - Q_D(ThreadSelectionModel); - QItemSelectionModel::select(selection, command); - QItemSelection thread; - foreach(const QItemSelectionRange &range, selection) { - for (int row = range.top(); row <= range.bottom(); ++row) { - static const int column = 0; - const QModelIndex idx = model()->index(row, column); - const int threadStartRow = idx.data(ThreadModel::ThreadRangeStartRole).toInt(); - const int threadEndRow = idx.data(ThreadModel::ThreadRangeEndRole).toInt(); - const QModelIndex threadStart = d->m_contentSelectionModel->model()->index(threadStartRow, column); - const QModelIndex threadEnd = d->m_contentSelectionModel->model()->index(threadEndRow, column); - Q_ASSERT(threadStart.isValid()); - Q_ASSERT(threadEnd.isValid()); - thread.select(threadStart, threadEnd); - } - } - d->m_contentSelectionModel->select(thread, ClearAndSelect); -} - -void ThreadSelectionModelPrivate::contentSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected) -{ - Q_UNUSED(selected) - Q_UNUSED(deselected) - - const QModelIndexList list = m_contentSelectionModel->selectedRows(); - if (list.isEmpty()) - m_navigationModel->clearSelection(); - if (list.size() == 1) { - m_navigationModel->select(list.first(), QItemSelectionModel::ClearAndSelect); - } -} - -#include "moc_threadselectionmodel.cpp" diff --git a/kdepim/mobile/lib/threadselectionmodel.h b/kdepim/mobile/lib/threadselectionmodel.h deleted file mode 100644 index d4cffa1f..00000000 --- a/kdepim/mobile/lib/threadselectionmodel.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef THREADSELECTIONMODEL_H -#define THREADSELECTIONMODEL_H - -#include - -#include "mobileui_export.h" - -class ThreadSelectionModelPrivate; - -class MOBILEUI_EXPORT ThreadSelectionModel : public QItemSelectionModel -{ - Q_OBJECT -public: - explicit ThreadSelectionModel(QAbstractItemModel* model, QItemSelectionModel *contentSelectionModel, QItemSelectionModel *navigationModel, QObject *parent = 0); - virtual ~ThreadSelectionModel(); - virtual void select(const QModelIndex& index, SelectionFlags command); - virtual void select(const QItemSelection& selection, SelectionFlags command); -private: - Q_DECLARE_PRIVATE(ThreadSelectionModel) - ThreadSelectionModelPrivate * const d_ptr; - Q_PRIVATE_SLOT(d_func(), void contentSelectionChanged(QItemSelection,QItemSelection)) -}; - -#endif diff --git a/kdepim/mobile/licenses/CMakeLists.txt b/kdepim/mobile/licenses/CMakeLists.txt deleted file mode 100644 index eeaa5f66..00000000 --- a/kdepim/mobile/licenses/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -find_program(DBLATEX_EXECUTABLE dblatex) -add_feature_info("Kontact Touch license information" DBLATEX_EXECUTABLE "Dblatex is needed for building the Kontact Touch license information.") - -if(DBLATEX_EXECUTABLE) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/licenses.pdf - COMMAND ${DBLATEX_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/licenses.xml - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/licenses.xml - ) - - add_custom_target(licences_pdf DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/licenses.pdf) -endif() - -install(FILES licenses.pdf DESTINATION ${DATA_INSTALL_DIR}/kontact-touch/) \ No newline at end of file diff --git a/kdepim/mobile/licenses/licenses.pdf b/kdepim/mobile/licenses/licenses.pdf deleted file mode 100644 index 81980a5491a2ff7d4c8f6f1de58592292c845689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1037908 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

cBD!PDojrN-)IDu;$I$^vt;%Y|G zuX<$Two#*wi{;^MM9<%?IhBxc;RJ4r-)SsW@ZBDn5Y^^IS4c5^Q(cbX_U`s4Uyctl z^}WhWVH#X@Jir_?`8~%L#k_9KF`TYj4&b5r>(byQwPHE$3A75+N_7mYyWgk1p8e93 z(9Sn#?Sb;#&!3W*Hs|ifn;3c?sW-|1dG<;RFjX%CQ$=zE^|%KHBHFPA<=m6t*#RI@Zv6gJf!2sK~GH-C zQ?+*2F`_!^uOno-qc#WiT*5jm1A&A%L8yeJB-IJ)AA>I+D zneM6wu_u)WEj_tdAN6s#4|Cc13HFWRlWPyZp3)t;g!SCmFK^nr`@=d;=h{~)7hnlp z`@L2(v1w~6exO#-i@_O4SPy>VDpH27TZ42f-=L}b_EC^a)P^#rk7G7sg#4!>;kTZF z`<5;;cF%xU%^Sz{=_nFqs*q^Vl!_h0b56qg5ay}yqo%xL#x59oQk+hL(4?X`Vp zrTA$|uK=+?-{^6VLDP1>4HuX&B*278mgS8%yW*&v{3cyRp#4Km4(ah)P-l}}NcKwR zrqh01_sB{1PIT@4RL`u;(Y068p)2D|#8JR5;r`uTnP%qQXIsjhn~74-M7rBl(3?!B zxB0nmSNhzIetGGme@~S%W)jLQuaPJ#by4}ASQ)TK01t6F>=kLNx~@O#x#4ONGLjHo zk~~!N?d-d!lv6C&!Gfj&%+Q~&0qDKsY2}@Z-BqE%J&^wo_k6@S}RZ+`tkLwOh-DjNnW;| z+2K)I8*XjIMb)4ymn+^>=nW(IDWps=#SE+LjTTG!`c95LE_ffFHlz{pUqq2_kX)@9 zN~`Pds8Y@*8PgF+xpR|ZMQwF&PPI=z5jV8ElX5y_9N6_N?RxJ8MvtoxOc(-hK_Ku% z{6ARl@F!!=9Zi+1U3<@up1QtX@4xNgGdGAXgjlzn;__(_|GDfs(iF@x`;$G6;j

F0Bj)_w6ode^N53Jgtyy7%@saj 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 d{ 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%0A5u3c%s=l{na#;Vz&WIp+ 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

vy4 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 J|MJV5{{>TTzH -

- - Licenses of Kontact Touch - -
- Licenses - - - Licenses - - - - Component - Checked Version - Licenses - - - - - Akonadi - akonadi-1.4.52.svn1183813 - lgpl21 - - - aspell - win32libs-sources-aspell-src-0.60.6 - lgpl21 - - - Attica - attica-0.1.4.20101015 - lgpl21 - - - Boost - win32libs-sources-boost-src-20100728 - boost - - - Cyrus SASL - win32libs-sources-cyrus-sasl-src-2.1.22 - bsd4-cmake - - - expat - win32libs-sources-expat-src-2.0.1 - mit - - - gettext - testing-gettext-src-0.18 - gpl3 - - - giflib - win32libs-sources-giflib-src-4.1.6 - mit - - - GnuPG2 - gnupg-2.1.0-svn5461 - gpl3 - - - gpgme - gpgme-1.3.1-svn1492 - gpl2 - - - iconv - win32libs-sources-win_iconv-src-20100328 - netbsd - - - libjpeg - win32libs-sources-jpeg-src-8.0 - jpeg - - - kde-l10n - kde-l10n_4.5~20101008.1183812 - gpl2 - - - kde4libs - kde4libs-4.5+20101018.1187059 - gpl2 - - - kdebase-runtime - kdebase-runtime-4.5+20101015.1186249 - gpl2, - lgpl21 - - - kdepim - kdepim-4.6~20101020.1187659 - gpl2, - lgpl21 - - - kdepimlibs - kdepimlibs-4.6~20101020.1187658 - gpl2, - lgpl21, - netbsd - - - libassuan - libassuan-2.0.2-svn389 - gpl3, - lgpl21 - - - libbzip2 - win32libs-sources-libbzip2-src-1.0.6 - bsd4-cmake - - - libcurl - win32libs-sources-libcurl-src-7.20.0 - mit - - - libdbusmenu-qt - libdbusmenu-qt-0.5.1 - gpl2 - - - libgcrypt - libgcrypt-1.5.0-svn1447 - lgpl21 - - - libgpg-error - libgpg-error-1.8-svn234 - gpl2, - lgpl21 - - - libical - win32libs-sources-libical-src-0.44 - mpl11, - lgpl2 - - - libpng - win32libs-sources-libpng-src-1.4.4 - zlib - - - libksba - libksba-1.1.0-svn326 - gpl3 - - - libxml2 - win32libs-sources-libxml2-src-2.7.7 - mit - - - libxslt - win32libs-sources-libxslt-src-1.1.26 - mit - - - maemo-optify - maemo-optify-0.2.2 - do-what-you-want - - - OpenSSL - win32libs-sources-openssl-src-1.0.0 - openssl - - - Phonon - kdesupport-phonon-4.3.1.20090227 - lgpl21 - - - PCRE - win32libs-sources-pcre-src-8.02win32libs-sources-pcre-src-8.02 - bsd3 - - - oxygen-icons - oxygen-icons_4.6~20101005.1175741-1maemo1 - lgpl3 - - - pinentry-qt - pinentry-qt-0.8.1 - gpl2 - - - pinentry - pinentry-0.9.0+20100917 - gpl2 - - - qt - qt4-maemo5_4.7.0~git20100329-0maemo1komo1 - lgpl21, - nokia-lgpl, - bsd3, - nokia-tech - - - Redland - win32libs-sources-redland-src-1.0.8.20090124 - lgpl21 - - - shared-desktop-ontologies - 0.2.0 - bsd3, - cc-by, - dcmi, - wc3 - - - shared-mime-info - shared-mime-info-0.71 - gpl2 - - - soprano - soprano-2.5.2.20101015 - gpl2, - lgpl2 - - - sqlite3 - sqlite3_3.7.2-1.debian - pd - - - strigi - strigi-0.7.2.20101001 - lgpl2 - - - virtuoso - virtuoso-opensource-6.1.2 - gpl2 - - - wcecompat - win32libs-sources-wcecompat-src-20100122 - lgpl21 - - - wincetools - testing-wincetools-0.01 - lgpl21 - - - zlib - win32libs-sources-zlib-src-1.2.5 - zlib - - - -
-
- -
-
- GNU LESSER GENERAL PUBLIC LICENSE Version 2 - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor - Boston, MA 02110-1301, USA. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - -
-
- GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - -
-
- GNU LESSER GENERAL PUBLIC LICENSE Version 3 - - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - -
-
- GNU GENERAL PUBLIC LICENSE Version 2 - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - -
-
- GNU GENERAL PUBLIC LICENSE Version 3 - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. - -
-
- Nokia Qt LGPL Exception version 1.1 - -Nokia Qt LGPL Exception version 1.1 - -As an additional permission to the GNU Lesser General Public License version -2.1, the object code form of a "work that uses the Library" may incorporate -material from a header file that is part of the Library. You may distribute -such object code under terms of your choice, provided that: - (i) the header files of the Library have not been modified; and - (ii) the incorporated material is limited to numerical parameters, data - structure layouts, accessors, macros, inline functions and - templates; and - (iii) you comply with the terms of Section 6 of the GNU Lesser General - Public License version 2.1. - -Moreover, you may apply this exception to a modified version of the Library, -provided that such modification does not involve copying material from the -Library into the modified Library's header files unless such material is -limited to (i) numerical parameters; (ii) data structure layouts; -(iii) accessors; and (iv) small macros, templates and inline functions of -five lines or less in length. - -Furthermore, you are not required to apply this additional permission to a -modified version of the Library. - -
-
- The NetBSD Foundation's (TNF) "2 clause" Berkeley-style license - -License: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -
-
- "3 clause" Berkeley-style license - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the <organization> nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -
-
- Kitware's "4 clause" Berkeley-style license - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * The names of Kitware, Inc., the Insight Consortium, or the names of - any consortium members, or of any contributors, may not be used to - endorse or promote products derived from this software without - specific prior written permission. - - * Modified source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -
-
- Creative Commons Attribution-ShareAlike 3.0 Unported - -Creative Commons Attribution-ShareAlike 3.0 Unported - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS -PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR -OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS -LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE -BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED -TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN -CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - - 1. "Adaptation" means a work based upon the Work, or upon the Work and other -pre-existing works, such as a translation, adaptation, derivative work, -arrangement of music or other alterations of a literary or artistic work, or -phonogram or performance and includes cinematographic adaptations or any other -form in which the Work may be recast, transformed, or adapted including in any -form recognizably derived from the original, except that a work that constitutes -a Collection will not be considered an Adaptation for the purpose of this -License. For the avoidance of doubt, where the Work is a musical work, -performance or phonogram, the synchronization of the Work in timed-relation with -a moving image ("synching") will be considered an Adaptation for the purpose of -this License. - 2. "Collection" means a collection of literary or artistic works, such as -encyclopedias and anthologies, or performances, phonograms or broadcasts, or -other works or subject matter other than works listed in Section 1(f) below, -which, by reason of the selection and arrangement of their contents, constitute -intellectual creations, in which the Work is included in its entirety in -unmodified form along with one or more other contributions, each constituting -separate and independent works in themselves, which together are assembled into -a collective whole. A work that constitutes a Collection will not be considered -an Adaptation (as defined above) for the purposes of this License. - 3. "Distribute" means to make available to the public the original and copies -of the Work or Adaptation, as appropriate, through sale or other transfer of -ownership. - 4. "Licensor" means the individual, individuals, entity or entities that -offer(s) the Work under the terms of this License. - 5. "Original Author" means, in the case of a literary or artistic work, the -individual, individuals, entity or entities who created the Work or if no -individual or entity can be identified, the publisher; and in addition (i) in -the case of a performance the actors, singers, musicians, dancers, and other -persons who act, sing, deliver, declaim, play in, interpret or otherwise perform -literary or artistic works or expressions of folklore; (ii) in the case of a -phonogram the producer being the person or legal entity who first fixes the -sounds of a performance or other sounds; and, (iii) in the case of broadcasts, -the organization that transmits the broadcast. - 6. "Work" means the literary and/or artistic work offered under the terms of -this License including without limitation any production in the literary, -scientific and artistic domain, whatever may be the mode or form of its -expression including digital form, such as a book, pamphlet and other writing; a -lecture, address, sermon or other work of the same nature; a dramatic or -dramatico-musical work; a choreographic work or entertainment in dumb show; a -musical composition with or without words; a cinematographic work to which are -assimilated works expressed by a process analogous to cinematography; a work of -drawing, painting, architecture, sculpture, engraving or lithography; a -photographic work to which are assimilated works expressed by a process -analogous to photography; a work of applied art; an illustration, map, plan, -sketch or three-dimensional work relative to geography, topography, architecture -or science; a performance; a broadcast; a phonogram; a compilation of data to -the extent it is protected as a copyrightable work; or a work performed by a -variety or circus performer to the extent it is not otherwise considered a -literary or artistic work. - 7. "You" means an individual or entity exercising rights under this License -who has not previously violated the terms of this License with respect to the -Work, or who has received express permission from the Licensor to exercise -rights under this License despite a previous violation. - 8. "Publicly Perform" means to perform public recitations of the Work and to -communicate to the public those public recitations, by any means or process, -including by wire or wireless means or public digital performances; to make -available to the public Works in such a way that members of the public may -access these Works from a place and at a place individually chosen by them; to -perform the Work to the public by any means or process and the communication to -the public of the performances of the Work, including by public digital -performance; to broadcast and rebroadcast the Work by any means including signs, -sounds or images. - 9. "Reproduce" means to make copies of the Work by any means including -without limitation by sound or visual recordings and the right of fixation and -reproducing fixations of the Work, including storage of a protected performance -or phonogram in digital form or other electronic medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or -restrict any uses free from copyright or rights arising from limitations or -exceptions that are provided for in connection with the copyright protection -under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor -hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the -duration of the applicable copyright) license to exercise the rights in the Work -as stated below: - - 1. to Reproduce the Work, to incorporate the Work into one or more -Collections, and to Reproduce the Work as incorporated in the Collections; - 2. to create and Reproduce Adaptations provided that any such Adaptation, -including any translation in any medium, takes reasonable steps to clearly -label, demarcate or otherwise identify that changes were made to the original -Work. For example, a translation could be marked "The original work was -translated from English to Spanish," or a modification could indicate "The -original work has been modified."; - 3. to Distribute and Publicly Perform the Work including as incorporated in -Collections; and, - 4. to Distribute and Publicly Perform Adaptations. - 5. - - For the avoidance of doubt: - 1. Non-waivable Compulsory License Schemes. In those jurisdictions in -which the right to collect royalties through any statutory or compulsory -licensing scheme cannot be waived, the Licensor reserves the exclusive right to -collect such royalties for any exercise by You of the rights granted under this -License; - 2. Waivable Compulsory License Schemes. In those jurisdictions in which -the right to collect royalties through any statutory or compulsory licensing -scheme can be waived, the Licensor waives the exclusive right to collect such -royalties for any exercise by You of the rights granted under this License; and, - 3. Voluntary License Schemes. The Licensor waives the right to collect -royalties, whether individually or, in the event that the Licensor is a member -of a collecting society that administers voluntary licensing schemes, via that -society, from any exercise by You of the rights granted under this License. - -The above rights may be exercised in all media and formats whether now known or -hereafter devised. The above rights include the right to make such modifications -as are technically necessary to exercise the rights in other media and formats. -Subject to Section 8(f), all rights not expressly granted by Licensor are hereby -reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made -subject to and limited by the following restrictions: - - 1. You may Distribute or Publicly Perform the Work only under the terms of -this License. You must include a copy of, or the Uniform Resource Identifier -(URI) for, this License with every copy of the Work You Distribute or Publicly -Perform. You may not offer or impose any terms on the Work that restrict the -terms of this License or the ability of the recipient of the Work to exercise -the rights granted to that recipient under the terms of the License. You may not -sublicense the Work. You must keep intact all notices that refer to this License -and to the disclaimer of warranties with every copy of the Work You Distribute -or Publicly Perform. When You Distribute or Publicly Perform the Work, You may -not impose any effective technological measures on the Work that restrict the -ability of a recipient of the Work from You to exercise the rights granted to -that recipient under the terms of the License. This Section 4(a) applies to the -Work as incorporated in a Collection, but this does not require the Collection -apart from the Work itself to be made subject to the terms of this License. If -You create a Collection, upon notice from any Licensor You must, to the extent -practicable, remove from the Collection any credit as required by Section 4(b), -as requested. If You create an Adaptation, upon notice from any Licensor You -must, to the extent practicable, remove from the Adaptation any credit as -required by Section 4(b), as requested. - 2. If You Distribute, or Publicly Perform the Work or any Adaptations or -Collections, You must, unless a request has been made pursuant to Section 4(a), -keep intact all copyright notices for the Work and provide, reasonable to the -medium or means You are utilizing: (i) the name of the Original Author (or -pseudonym, if applicable) if supplied, and/or if the Original Author and/or -Licensor designate another party or parties (e.g., a sponsor institute, -publishing entity, journal) for attribution ("Attribution Parties") in -Licensor's copyright notice, terms of service or by other reasonable means, the -name of such party or parties; (ii) the title of the Work if supplied; (iii) to -the extent reasonably practicable, the URI, if any, that Licensor specifies to -be associated with the Work, unless such URI does not refer to the copyright -notice or licensing information for the Work; and (iv) , consistent with Section -3(b), in the case of an Adaptation, a credit identifying the use of the Work in -the Adaptation (e.g., "French translation of the Work by Original Author," or -"Screenplay based on original Work by Original Author"). The credit required by -this Section 4 (b) may be implemented in any reasonable manner; provided, -however, that in the case of a Adaptation or Collection, at a minimum such -credit will appear, if a credit for all contributing authors of the Adaptation -or Collection appears, then as part of these credits and in a manner at least as -prominent as the credits for the other contributing authors. For the avoidance -of doubt, You may only use the credit required by this Section for the purpose -of attribution in the manner set out above and, by exercising Your rights under -this License, You may not implicitly or explicitly assert or imply any -connection with, sponsorship or endorsement by the Original Author, Licensor -and/or Attribution Parties, as appropriate, of You or Your use of the Work, -without the separate, express prior written permission of the Original Author, -Licensor and/or Attribution Parties. - 3. Except as otherwise agreed in writing by the Licensor or as may be -otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly -Perform the Work either by itself or as part of any Adaptations or Collections, -You must not distort, mutilate, modify or take other derogatory action in -relation to the Work which would be prejudicial to the Original Author's honor -or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in -which any exercise of the right granted in Section 3(b) of this License (the -right to make Adaptations) would be deemed to be a distortion, mutilation, -modification or other derogatory action prejudicial to the Original Author's -honor and reputation, the Licensor will waive or not assert, as appropriate, -this Section, to the fullest extent permitted by the applicable national law, to -enable You to reasonably exercise Your right under Section 3(b) of this License -(right to make Adaptations) but not otherwise. - -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS -THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING -THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT -LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR -PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, -OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME -JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH -EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN -NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, -INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS -LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. Termination - - 1. This License and the rights granted hereunder will terminate automatically -upon any breach by You of the terms of this License. Individuals or entities who -have received Adaptations or Collections from You under this License, however, -will not have their licenses terminated provided such individuals or entities -remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 -will survive any termination of this License. - 2. Subject to the above terms and conditions, the license granted here is -perpetual (for the duration of the applicable copyright in the Work). -Notwithstanding the above, Licensor reserves the right to release the Work under -different license terms or to stop distributing the Work at any time; provided, -however that any such election will not serve to withdraw this License (or any -other license that has been, or is required to be, granted under the terms of -this License), and this License will continue in full force and effect unless -terminated as stated above. - -8. Miscellaneous - - 1. Each time You Distribute or Publicly Perform the Work or a Collection, the -Licensor offers to the recipient a license to the Work on the same terms and -conditions as the license granted to You under this License. - 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor -offers to the recipient a license to the original Work on the same terms and -conditions as the license granted to You under this License. - 3. If any provision of this License is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of the -remainder of the terms of this License, and without further action by the -parties to this agreement, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable. - 4. No term or provision of this License shall be deemed waived and no breach -consented to unless such waiver or consent shall be in writing and signed by the -party to be charged with such waiver or consent. - 5. This License constitutes the entire agreement between the parties with -respect to the Work licensed here. There are no understandings, agreements or -representations with respect to the Work not specified here. Licensor shall not -be bound by any additional provisions that may appear in any communication from -You. This License may not be modified without the mutual written agreement of -the Licensor and You. - 6. The rights granted under, and the subject matter referenced, in this -License were drafted utilizing the terminology of the Berne Convention for the -Protection of Literary and Artistic Works (as amended on September 28, 1979), -the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO -Performances and Phonograms Treaty of 1996 and the Universal Copyright -Convention (as revised on July 24, 1971). These rights and subject matter take -effect in the relevant jurisdiction in which the License terms are sought to be -enforced according to the corresponding provisions of the implementation of -those treaty provisions in the applicable national law. If the standard suite of -rights granted under applicable copyright law includes additional rights not -granted under this License, such additional rights are deemed to be included in -the License; this License is not intended to restrict the license of any rights -under applicable law. - -
-
- Creative Commons Creative Commons Legal Code - - Creative Commons - -Creative Commons Legal Code - -Attribution 3.0 Unported - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL - SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT - RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" - BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION - PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. - -License - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE -COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY -COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS -AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE -BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE -CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE -IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - - a. "Adaptation" means a work based upon the Work, or upon the Work and other - pre-existing works, such as a translation, adaptation, derivative work, - arrangement of music or other alterations of a literary or artistic work, - or phonogram or performance and includes cinematographic adaptations or any - other form in which the Work may be recast, transformed, or adapted - including in any form recognizably derived from the original, except that a - work that constitutes a Collection will not be considered an Adaptation for - the purpose of this License. For the avoidance of doubt, where the Work is - a musical work, performance or phonogram, the synchronization of the Work - in timed-relation with a moving image ("synching") will be considered an - Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as - encyclopedias and anthologies, or performances, phonograms or broadcasts, - or other works or subject matter other than works listed in Section 1(f) - below, which, by reason of the selection and arrangement of their contents, - constitute intellectual creations, in which the Work is included in its - entirety in unmodified form along with one or more other contributions, - each constituting separate and independent works in themselves, which - together are assembled into a collective whole. A work that constitutes a - Collection will not be considered an Adaptation (as defined above) for the - purposes of this License. - c. "Distribute" means to make available to the public the original and copies - of the Work or Adaptation, as appropriate, through sale or other transfer - of ownership. - d. "Licensor" means the individual, individuals, entity or entities that offer - (s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, the - individual, individuals, entity or entities who created the Work or if no - individual or entity can be identified, the publisher; and in addition (i) - in the case of a performance the actors, singers, musicians, dancers, and - other persons who act, sing, deliver, declaim, play in, interpret or - otherwise perform literary or artistic works or expressions of folklore; - (ii) in the case of a phonogram the producer being the person or legal - entity who first fixes the sounds of a performance or other sounds; and, - (iii) in the case of broadcasts, the organization that transmits the - broadcast. - f. "Work" means the literary and/or artistic work offered under the terms of - this License including without limitation any production in the literary, - scientific and artistic domain, whatever may be the mode or form of its - expression including digital form, such as a book, pamphlet and other - writing; a lecture, address, sermon or other work of the same nature; a - dramatic or dramatico-musical work; a choreographic work or entertainment - in dumb show; a musical composition with or without words; a - cinematographic work to which are assimilated works expressed by a process - analogous to cinematography; a work of drawing, painting, architecture, - sculpture, engraving or lithography; a photographic work to which are - assimilated works expressed by a process analogous to photography; a work - of applied art; an illustration, map, plan, sketch or three-dimensional - work relative to geography, topography, architecture or science; a - performance; a broadcast; a phonogram; a compilation of data to the extent - it is protected as a copyrightable work; or a work performed by a variety - or circus performer to the extent it is not otherwise considered a literary - or artistic work. - g. "You" means an individual or entity exercising rights under this License - who has not previously violated the terms of this License with respect to - the Work, or who has received express permission from the Licensor to - exercise rights under this License despite a previous violation. - h. "Publicly Perform" means to perform public recitations of the Work and to - communicate to the public those public recitations, by any means or - process, including by wire or wireless means or public digital - performances; to make available to the public Works in such a way that - members of the public may access these Works from a place and at a place - individually chosen by them; to perform the Work to the public by any means - or process and the communication to the public of the performances of the - Work, including by public digital performance; to broadcast and rebroadcast - the Work by any means including signs, sounds or images. - i. "Reproduce" means to make copies of the Work by any means including without - limitation by sound or visual recordings and the right of fixation and - reproducing fixations of the Work, including storage of a protected - performance or phonogram in digital form or other electronic medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, -or restrict any uses free from copyright or rights arising from limitations or -exceptions that are provided for in connection with the copyright protection -under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor -hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the -duration of the applicable copyright) license to exercise the rights in the -Work as stated below: - - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, - including any translation in any medium, takes reasonable steps to clearly - label, demarcate or otherwise identify that changes were made to the - original Work. For example, a translation could be marked "The original - work was translated from English to Spanish," or a modification could - indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in - Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - - i. Non-waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme cannot be waived, the Licensor reserves the - exclusive right to collect such royalties for any exercise by You of - the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which - the right to collect royalties through any statutory or compulsory - licensing scheme can be waived, the Licensor waives the exclusive right - to collect such royalties for any exercise by You of the rights granted - under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect - royalties, whether individually or, in the event that the Licensor is a - member of a collecting society that administers voluntary licensing - schemes, via that society, from any exercise by You of the rights - granted under this License. - -The above rights may be exercised in all media and formats whether now known or -hereafter devised. The above rights include the right to make such -modifications as are technically necessary to exercise the rights in other -media and formats. Subject to Section 8(f), all rights not expressly granted by -Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made -subject to and limited by the following restrictions: - - a. You may Distribute or Publicly Perform the Work only under the terms of - this License. You must include a copy of, or the Uniform Resource - Identifier (URI) for, this License with every copy of the Work You - Distribute or Publicly Perform. You may not offer or impose any terms on - the Work that restrict the terms of this License or the ability of the - recipient of the Work to exercise the rights granted to that recipient - under the terms of the License. You may not sublicense the Work. You must - keep intact all notices that refer to this License and to the disclaimer of - warranties with every copy of the Work You Distribute or Publicly Perform. - When You Distribute or Publicly Perform the Work, You may not impose any - effective technological measures on the Work that restrict the ability of a - recipient of the Work from You to exercise the rights granted to that - recipient under the terms of the License. This Section 4(a) applies to the - Work as incorporated in a Collection, but this does not require the - Collection apart from the Work itself to be made subject to the terms of - this License. If You create a Collection, upon notice from any Licensor You - must, to the extent practicable, remove from the Collection any credit as - required by Section 4(b), as requested. If You create an Adaptation, upon - notice from any Licensor You must, to the extent practicable, remove from - the Adaptation any credit as required by Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or - Collections, You must, unless a request has been made pursuant to Section 4 - (a), keep intact all copyright notices for the Work and provide, reasonable - to the medium or means You are utilizing: (i) the name of the Original - Author (or pseudonym, if applicable) if supplied, and/or if the Original - Author and/or Licensor designate another party or parties (e.g., a sponsor - institute, publishing entity, journal) for attribution ("Attribution - Parties") in Licensor's copyright notice, terms of service or by other - reasonable means, the name of such party or parties; (ii) the title of the - Work if supplied; (iii) to the extent reasonably practicable, the URI, if - any, that Licensor specifies to be associated with the Work, unless such - URI does not refer to the copyright notice or licensing information for the - Work; and (iv) , consistent with Section 3(b), in the case of an - Adaptation, a credit identifying the use of the Work in the Adaptation - (e.g., "French translation of the Work by Original Author," or "Screenplay - based on original Work by Original Author"). The credit required by this - Section 4 (b) may be implemented in any reasonable manner; provided, - however, that in the case of a Adaptation or Collection, at a minimum such - credit will appear, if a credit for all contributing authors of the - Adaptation or Collection appears, then as part of these credits and in a - manner at least as prominent as the credits for the other contributing - authors. For the avoidance of doubt, You may only use the credit required - by this Section for the purpose of attribution in the manner set out above - and, by exercising Your rights under this License, You may not implicitly - or explicitly assert or imply any connection with, sponsorship or - endorsement by the Original Author, Licensor and/or Attribution Parties, as - appropriate, of You or Your use of the Work, without the separate, express - prior written permission of the Original Author, Licensor and/or - Attribution Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute or - Publicly Perform the Work either by itself or as part of any Adaptations or - Collections, You must not distort, mutilate, modify or take other - derogatory action in relation to the Work which would be prejudicial to the - Original Author's honor or reputation. Licensor agrees that in those - jurisdictions (e.g. Japan), in which any exercise of the right granted in - Section 3(b) of this License (the right to make Adaptations) would be - deemed to be a distortion, mutilation, modification or other derogatory - action prejudicial to the Original Author's honor and reputation, the - Licensor will waive or not assert, as appropriate, this Section, to the - fullest extent permitted by the applicable national law, to enable You to - reasonably exercise Your right under Section 3(b) of this License (right to - make Adaptations) but not otherwise. - -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS -THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND -CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, -WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A -PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, -ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. -SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH -EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN -NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, -INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS -LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. Termination - - a. This License and the rights granted hereunder will terminate automatically - upon any breach by You of the terms of this License. Individuals or - entities who have received Adaptations or Collections from You under this - License, however, will not have their licenses terminated provided such - individuals or entities remain in full compliance with those licenses. - Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is - perpetual (for the duration of the applicable copyright in the Work). - Notwithstanding the above, Licensor reserves the right to release the Work - under different license terms or to stop distributing the Work at any time; - provided, however that any such election will not serve to withdraw this - License (or any other license that has been, or is required to be, granted - under the terms of this License), and this License will continue in full - force and effect unless terminated as stated above. - -8. Miscellaneous - - a. Each time You Distribute or Publicly Perform the Work or a Collection, the - Licensor offers to the recipient a license to the Work on the same terms - and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers - to the recipient a license to the original Work on the same terms and - conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of the - remainder of the terms of this License, and without further action by the - parties to this agreement, such provision shall be reformed to the minimum - extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach - consented to unless such waiver or consent shall be in writing and signed - by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with - respect to the Work licensed here. There are no understandings, agreements - or representations with respect to the Work not specified here. Licensor - shall not be bound by any additional provisions that may appear in any - communication from You. This License may not be modified without the mutual - written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this - License were drafted utilizing the terminology of the Berne Convention for - the Protection of Literary and Artistic Works (as amended on September 28, - 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the - WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright - Convention (as revised on July 24, 1971). These rights and subject matter - take effect in the relevant jurisdiction in which the License terms are - sought to be enforced according to the corresponding provisions of the - implementation of those treaty provisions in the applicable national law. - If the standard suite of rights granted under applicable copyright law - includes additional rights not granted under this License, such additional - rights are deemed to be included in the License; this License is not - intended to restrict the license of any rights under applicable law. - - Creative Commons Notice - - Creative Commons is not a party to this License, and makes no warranty - whatsoever in connection with the Work. Creative Commons will not be liable - to You or any party on any legal theory for any damages whatsoever, - including without limitation any general, special, incidental or - consequential damages arising in connection to this license. - Notwithstanding the foregoing two (2) sentences, if Creative Commons has - expressly identified itself as the Licensor hereunder, it shall have all - rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the Work is - licensed under the CCPL, Creative Commons does not authorize the use by - either party of the trademark "Creative Commons" or any related trademark - or logo of Creative Commons without the prior written consent of Creative - Commons. Any permitted use will be in compliance with Creative Commons' - then-current trademark usage guidelines, as may be published on its website - or otherwise made available upon request from time to time. For the - avoidance of doubt, this trademark restriction does not form part of this - License. - - Creative Commons may be contacted at http://creativecommons.org/. - -
-
- Public Domain - -The author disclaims all copyright. The library is in the public domain. - -
-
- DO WHAT YOU WANT TO PUBLIC LICENSE v 1 (Sounds like public domain) - - DO WHAT YOU WANT TO PUBLIC LICENSE - Version 1, September 2009 - - Copyright (C) 2009 Marius Vollmer - Copyright (C) 2004 Sam Hocevar - 14 rue de Plaisance, 75014 Paris, France - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT YOU WANT TO. - -
-
- W3C Software Notice and License - -W3C Software Notice and License - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. - -License - -By obtaining, using and/or copying this work, you (the licensee) agree that you -have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - • The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - • Any pre-existing intellectual property disclaimers, notices, or terms and - conditions. If none exist, the W3C Software Short Notice should be included - (hypertext is preferred, text is permitted) within the body of any - redistributed or derivative code. - • Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from - which the code is derived.) - -Disclaimers - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT -THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY -PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior -permission. Title to copyright in this software and any associated -documentation will at all times remain with copyright holders. - -Notes - -This version: http://www.w3.org/Consortium/Legal/2002/ -copyright-software-20021231 - -This formulation of W3C's notice and license became active on December 31 2002. -This version removes the copyright ownership notice such that this license can -be used with materials other than those owned by the W3C, reflects that ERCIM -is now a host of the W3C, includes references to this specific dated version of -the license, and removes the ambiguous grant of "use". Otherwise, this version -is the same as the previous version and is written so as to preserve the Free -Software Foundation's assessment of GPL compatibility and OSI's certification -under the Open Source Definition. - -
-
- TECHNOLOGY PREVIEW LICENSE AGREEMENT - -TECHNOLOGY PREVIEW LICENSE AGREEMENT - -For individuals and/or legal entities resident in the Americas (North -America, Central America and South America), the applicable licensing -terms are specified under the heading "Technology Preview License -Agreement: The Americas". - -For individuals and/or legal entities not resident in The Americas, the -applicable licensing terms are specified under the heading "Technology -Preview License Agreement: Rest of the World". - - -TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas -Agreement version 2.4 - -This Technology Preview License Agreement ("Agreement") is a legal -agreement between Nokia Inc. ("Nokia"), with its registered office at -102 Corporate Park Drive, White Plains, N.Y., U.S.A. 10604 and you (either an -individual or a legal entity) ("Licensee") for the Licensed Software (as -defined below). - -1. DEFINITIONS - -"Affiliate" of a Party shall mean an entity (i) which is directly or -indirectly controlling such Party; (ii) which is under the same direct -or indirect ownership or control as such Party; or (iii) which is -directly or indirectly owned or controlled by such Party. For these -purposes, an entity shall be treated as being controlled by another if -that other entity has fifty percent (50 %) or more of the votes in such -entity, is able to direct its affairs and/or to control the composition -of its board of directors or equivalent body. - -"Applications" shall mean Licensee's software products created using the -Licensed Software which may include portions of the Licensed Software. - -"Term" shall mean the period of time six (6) months from the later of -(a) the Effective Date; or (b) the date the Licensed Software was -initially delivered to Licensee by Nokia. If no specific Effective Date -is set forth in the Agreement, the Effective Date shall be deemed to be -the date the Licensed Software was initially delivered to Licensee. - -"Licensed Software" shall mean the computer software, "online" or -electronic documentation, associated media and printed materials, -including the source code, example programs and the documentation -delivered by Nokia to Licensee in conjunction with this Agreement. - -"Party" or "Parties" shall mean Licensee and/or Nokia. - - -2. OWNERSHIP - -The Licensed Software is protected by copyright laws and international -copyright treaties, as well as other intellectual property laws and -treaties. The Licensed Software is licensed, not sold. - -If Licensee provides any findings, proposals, suggestions or other -feedback ("Feedback") to Nokia regarding the Licensed Software, Nokia -shall own all right, title and interest including the intellectual -property rights in and to such Feedback, excluding however any existing -patent rights of Licensee. To the extent Licensee owns or controls any -patents for such Feedback Licensee hereby grants to Nokia and its -Affiliates, a worldwide, perpetual, non-transferable, sublicensable, -royalty-free license to (i) use, copy and modify Feedback and to create -derivative works thereof, (ii) to make (and have made), use, import, -sell, offer for sale, lease, dispose, offer for disposal or otherwise -exploit any products or services of Nokia containing Feedback,, and -(iii) sublicense all the foregoing rights to third party licensees and -customers of Nokia and/or its Affiliates. - - -3. VALIDITY OF THE AGREEMENT - -By installing, copying, or otherwise using the Licensed Software, -Licensee agrees to be bound by the terms of this Agreement. If Licensee -does not agree to the terms of this Agreement, Licensee may not install, -copy, or otherwise use the Licensed Software. Upon Licensee's acceptance -of the terms and conditions of this Agreement, Nokia grants Licensee the -right to use the Licensed Software in the manner provided below. - - -4. LICENSES - -4.1. Using and Copying - -Nokia grants to Licensee a non-exclusive, non-transferable, time-limited -license to use and copy the Licensed Software for sole purpose of -designing, developing and testing Applications, and evaluating and the -Licensed Software during the Term. - -Licensee may install copies of the Licensed Software on an unlimited -number of computers provided that (a) if an individual, only such -individual; or (b) if a legal entity only its employees; use the -Licensed Software for the authorized purposes. - -4.2 No Distribution or Modifications - -Licensee may not disclose, modify, sell, market, commercialise, -distribute, loan, rent, lease, or license the Licensed Software or any -copy of it or use the Licensed Software for any purpose that is not -expressly granted in this Section 4. Licensee may not alter or remove -any details of ownership, copyright, trademark or other property right -connected with the Licensed Software. Licensee may not distribute any -software statically or dynamically linked with the Licensed Software. - -4.3 No Technical Support - -Nokia has no obligation to furnish Licensee with any technical support -whatsoever. Any such support is subject to separate agreement between -the Parties. - - -5. PRE-RELEASE CODE -The Licensed Software contains pre-release code that is not at the level -of performance and compatibility of a final, generally available, -product offering. The Licensed Software may not operate correctly and -may be substantially modified prior to the first commercial product -release, if any. Nokia is not obligated to make this or any later -version of the Licensed Software commercially available. The License -Software is "Not for Commercial Use" and may only be used for the -purposes described in Section 4. The Licensed Software may not be used -in a live operating environment where it may be relied upon to perform -in the same manner as a commercially released product or with data that -has not been sufficiently backed up. - -6. THIRD PARTY SOFTWARE - -The Licensed Software may provide links to third party libraries or code -(collectively "Third Party Software") to implement various functions. -Third Party Software does not comprise part of the Licensed Software. In -some cases, access to Third Party Software may be included along with -the Licensed Software delivery as a convenience for development and -testing only. Such source code and libraries may be listed in the -".../src/3rdparty" source tree delivered with the Licensed Software or -documented in the Licensed Software where the Third Party Software is -used, as may be amended from time to time, do not comprise the Licensed -Software. Licensee acknowledges (1) that some part of Third Party -Software may require additional licensing of copyright and patents from -the owners of such, and (2) that distribution of any of the Licensed -Software referencing any portion of a Third Party Software may require -appropriate licensing from such third parties. - - -7. LIMITED WARRANTY AND WARRANTY DISCLAIMER - -The Licensed Software is licensed to Licensee "as is". To the maximum -extent permitted by applicable law, Nokia on behalf of itself and its -suppliers, disclaims all warranties and conditions, either express or -implied, including, but not limited to, implied warranties of -merchantability, fitness for a particular purpose, title and -non-infringement with regard to the Licensed Software. - - -8. LIMITATION OF LIABILITY - -If, Nokia's warranty disclaimer notwithstanding, Nokia is held liable to -Licensee, whether in contract, tort or any other legal theory, based on -the Licensed Software, Nokia's entire liability to Licensee and -Licensee's exclusive remedy shall be, at Nokia's option, either (A) -return of the price Licensee paid for the Licensed Software, or (B) -repair or replacement of the Licensed Software, provided Licensee -returns to Nokia all copies of the Licensed Software as originally -delivered to Licensee. Nokia shall not under any circumstances be liable -to Licensee based on failure of the Licensed Software if the failure -resulted from accident, abuse or misapplication, nor shall Nokia under -any circumstances be liable for special damages, punitive or exemplary -damages, damages for loss of profits or interruption of business or for -loss or corruption of data. Any award of damages from Nokia to Licensee -shall not exceed the total amount Licensee has paid to Nokia in -connection with this Agreement. - - -9. CONFIDENTIALITY - -Each party acknowledges that during the Term of this Agreement it shall -have access to information about the other party's business, business -methods, business plans, customers, business relations, technology, and -other information, including the terms of this Agreement, that is -confidential and of great value to the other party, and the value of -which would be significantly reduced if disclosed to third parties (the -"Confidential Information"). Accordingly, when a party (the "Receiving -Party") receives Confidential Information from another party (the -"Disclosing Party"), the Receiving Party shall, and shall obligate its -employees and agents and employees and agents of its Affiliates to: (i) -maintain the Confidential Information in strict confidence; (ii) not -disclose the Confidential Information to a third party without the -Disclosing Party's prior written approval; and (iii) not, directly or -indirectly, use the Confidential Information for any purpose other than -for exercising its rights and fulfilling its responsibilities pursuant -to this Agreement. Each party shall take reasonable measures to protect -the Confidential Information of the other party, which measures shall -not be less than the measures taken by such party to protect its own -confidential and proprietary information. - -"Confidential Information" shall not include information that (a) is or -becomes generally known to the public through no act or omission of the -Receiving Party; (b) was in the Receiving Party's lawful possession -prior to the disclosure hereunder and was not subject to limitations on -disclosure or use; (c) is developed by the Receiving Party without -access to the Confidential Information of the Disclosing Party or by -persons who have not had access to the Confidential Information of the -Disclosing Party as proven by the written records of the Receiving -Party; (d) is lawfully disclosed to the Receiving Party without -restrictions, by a third party not under an obligation of -confidentiality; or (e) the Receiving Party is legally compelled to -disclose the information, in which case the Receiving Party shall assert -the privileged and confidential nature of the information and cooperate -fully with the Disclosing Party to protect against and prevent -disclosure of any Confidential Information and to limit the scope of -disclosure and the dissemination of disclosed Confidential Information -by all legally available means. - -The obligations of the Receiving Party under this Section shall continue -during the Initial Term and for a period of five (5) years after -expiration or termination of this Agreement. To the extent that the -terms of the Non-Disclosure Agreement between Nokia and Licensee -conflict with the terms of this Section 9, this Section 9 shall be -controlling over the terms of the Non-Disclosure Agreement. - - -10. GENERAL PROVISIONS - -10.1 No Assignment - -Licensee shall not be entitled to assign or transfer all or any of its -rights, benefits and obligations under this Agreement without the prior -written consent of Nokia, which shall not be unreasonably withheld. - -10.2 Termination - -Nokia may terminate the Agreement at any time immediately upon written -notice by Nokia to Licensee if Licensee breaches this Agreement. - -Upon termination of this Agreement, Licensee shall return to Nokia all -copies of Licensed Software that were supplied by Nokia. All other -copies of Licensed Software in the possession or control of Licensee -must be erased or destroyed. An officer of Licensee must promptly -deliver to Nokia a written confirmation that this has occurred. - -10.3 Surviving Sections - -Any terms and conditions that by their nature or otherwise reasonably -should survive a cancellation or termination of this Agreement shall -also be deemed to survive. Such terms and conditions include, but are -not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4, -10.5, 10.6, 10.7, and 10.8 of this Agreement. - -10.4 Entire Agreement - -This Agreement constitutes the complete agreement between the parties -and supersedes all prior or contemporaneous discussions, -representations, and proposals, written or oral, with respect to the -subject matters discussed herein, with the exception of the -non-disclosure agreement executed by the parties in connection with this -Agreement ("Non-Disclosure Agreement"), if any, shall be subject to -Section 9. No modification of this Agreement shall be effective unless -contained in a writing executed by an authorized representative of each -party. No term or condition contained in Licensee's purchase order shall -apply unless expressly accepted by Nokia in writing. If any provision of -the Agreement is found void or unenforceable, the remainder shall remain -valid and enforceable according to its terms. If any remedy provided is -determined to have failed for its essential purpose, all limitations of -liability and exclusions of damages set forth in this Agreement shall -remain in effect. - -10.5 Export Control - -Licensee acknowledges that the Licensed Software may be subject to -export control restrictions of various countries. Licensee shall fully -comply with all applicable export license restrictions and requirements -as well as with all laws and regulations relating to the importation of -the Licensed Software and shall procure all necessary governmental -authorizations, including without limitation, all necessary licenses, -approvals, permissions or consents, where necessary for the -re-exportation of the Licensed Software., - -10.6 Governing Law and Legal Venue - -This Agreement shall be governed by and construed in accordance with the -federal laws of the United States of America and the internal laws of -the State of New York without given effect to any choice of law rule -that would result in the application of the laws of any other -jurisdiction. The United Nations Convention on Contracts for the -International Sale of Goods (CISG) shall not apply. Each Party (a) -hereby irrevocably submits itself to and consents to the jurisdiction of -the United States District Court for the Southern District of New York -(or if such court lacks jurisdiction, the state courts of the State of -New York) for the purposes of any action, claim, suit or proceeding -between the Parties in connection with any controversy, claim, or -dispute arising out of or relating to this Agreement; and (b) hereby -waives, and agrees not to assert by way of motion, as a defense or -otherwise, in any such action, claim, suit or proceeding, any claim that -is not personally subject to the jurisdiction of such court(s), that the -action, claim, suit or proceeding is brought in an inconvenient forum or -that the venue of the action, claim, suit or proceeding is improper. -Notwithstanding the foregoing, nothing in this Section 9.6 is intended -to, or shall be deemed to, constitute a submission or consent to, or -selection of, jurisdiction, forum or venue for any action for patent -infringement, whether or not such action relates to this Agreement. - -10.7 No Implied License - -There are no implied licenses or other implied rights granted under this -Agreement, and all rights, save for those expressly granted hereunder, -shall remain with Nokia and its licensors. In addition, no licenses or -immunities are granted to the combination of the Licensed Software with -any other software or hardware not delivered by Nokia under this -Agreement. - -10.8 Government End Users - -A "U.S. Government End User" shall mean any agency or entity of the -government of the United States. The following shall apply if Licensee -is a U.S. Government End User. The Licensed Software is a "commercial -item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), -consisting of "commercial computer software" and "commercial computer -software documentation," as such terms are used in 48 C.F.R. 12.212 -(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 -through 227.7202-4 (June 1995), all U.S. Government End Users acquire -the Licensed Software with only those rights set forth herein. The -Licensed Software (including related documentation) is provided to U.S. -Government End Users: (a) only as a commercial end item; and (b) only -pursuant to this Agreement. - - - - - -TECHNOLOGY PREVIEW LICENSE AGREEMENT: Rest of the World -Agreement version 2.4 - -This Technology Preview License Agreement ("Agreement") is a legal -agreement between Nokia Corporation ("Nokia"), with its registered -office at Keilalahdentie 4, 02150 Espoo, Finland and you (either an -individual or a legal entity) ("Licensee") for the Licensed Software (as -defined below). - -1. DEFINITIONS - -"Affiliate" of a Party shall mean an entity (i) which is directly or -indirectly controlling such Party; (ii) which is under the same direct -or indirect ownership or control as such Party; or (iii) which is -directly or indirectly owned or controlled by such Party. For these -purposes, an entity shall be treated as being controlled by another if -that other entity has fifty percent (50 %) or more of the votes in such -entity, is able to direct its affairs and/or to control the composition -of its board of directors or equivalent body. - -"Applications" shall mean Licensee's software products created using the -Licensed Software which may include portions of the Licensed Software. - -"Term" shall mean the period of time six (6) months from the later of -(a) the Effective Date; or (b) the date the Licensed Software was -initially delivered to Licensee by Nokia. If no specific Effective Date -is set forth in the Agreement, the Effective Date shall be deemed to be -the date the Licensed Software was initially delivered to Licensee. - -"Licensed Software" shall mean the computer software, "online" or -electronic documentation, associated media and printed materials, -including the source code, example programs and the documentation -delivered by Nokia to Licensee in conjunction with this Agreement. - -"Party" or "Parties" shall mean Licensee and/or Nokia. - - -2. OWNERSHIP - -The Licensed Software is protected by copyright laws and international -copyright treaties, as well as other intellectual property laws and -treaties. The Licensed Software is licensed, not sold. - -If Licensee provides any findings, proposals, suggestions or other -feedback ("Feedback") to Nokia regarding the Licensed Software, Nokia -shall own all right, title and interest including the intellectual -property rights in and to such Feedback, excluding however any existing -patent rights of Licensee. To the extent Licensee owns or controls any -patents for such Feedback Licensee hereby grants to Nokia and its -Affiliates, a worldwide, perpetual, non-transferable, sublicensable, -royalty-free license to (i) use, copy and modify Feedback and to create -derivative works thereof, (ii) to make (and have made), use, import, -sell, offer for sale, lease, dispose, offer for disposal or otherwise -exploit any products or services of Nokia containing Feedback,, and -(iii) sublicense all the foregoing rights to third party licensees and -customers of Nokia and/or its Affiliates. - -3. VALIDITY OF THE AGREEMENT - -By installing, copying, or otherwise using the Licensed Software, -Licensee agrees to be bound by the terms of this Agreement. If Licensee -does not agree to the terms of this Agreement, Licensee may not install, -copy, or otherwise use the Licensed Software. Upon Licensee's acceptance -of the terms and conditions of this Agreement, Nokia grants Licensee the -right to use the Licensed Software in the manner provided below. - - -4. LICENSES - -4.1. Using and Copying - -Nokia grants to Licensee a non-exclusive, non-transferable, time-limited -license to use and copy the Licensed Software for sole purpose of -designing, developing and testing Applications, and evaluating and the -Licensed Software during the Term. - -Licensee may install copies of the Licensed Software on an unlimited -number of computers provided that (a) if an individual, only such -individual; or (b) if a legal entity only its employees; use the -Licensed Software for the authorized purposes. - -4.2 No Distribution or Modifications - -Licensee may not disclose, modify, sell, market, commercialise, -distribute, loan, rent, lease, or license the Licensed Software or any -copy of it or use the Licensed Software for any purpose that is not -expressly granted in this Section 4. Licensee may not alter or remove -any details of ownership, copyright, trademark or other property right -connected with the Licensed Software. Licensee may not distribute any -software statically or dynamically linked with the Licensed Software. - -4.3 No Technical Support - -Nokia has no obligation to furnish Licensee with any technical support -whatsoever. Any such support is subject to separate agreement between -the Parties. - - -5. PRE-RELEASE CODE - -The Licensed Software contains pre-release code that is not at the level -of performance and compatibility of a final, generally available, -product offering. The Licensed Software may not operate correctly and -may be substantially modified prior to the first commercial product -release, if any. Nokia is not obligated to make this or any later -version of the Licensed Software commercially available. The License -Software is "Not for Commercial Use" and may only be used for the -purposes described in Section 4. The Licensed Software may not be used -in a live operating environment where it may be relied upon to perform -in the same manner as a commercially released product or with data that -has not been sufficiently backed up. - -6. THIRD PARTY SOFTWARE - -The Licensed Software may provide links to third party libraries or code -(collectively "Third Party Software") to implement various functions. -Third Party Software does not comprise part of the Licensed Software. In -some cases, access to Third Party Software may be included along with -the Licensed Software delivery as a convenience for development and -testing only. Such source code and libraries may be listed in the -".../src/3rdparty" source tree delivered with the Licensed Software or -documented in the Licensed Software where the Third Party Software is -used, as may be amended from time to time, do not comprise the Licensed -Software. Licensee acknowledges (1) that some part of Third Party -Software may require additional licensing of copyright and patents from -the owners of such, and (2) that distribution of any of the Licensed -Software referencing any portion of a Third Party Software may require -appropriate licensing from such third parties. - - -7. LIMITED WARRANTY AND WARRANTY DISCLAIMER - -The Licensed Software is licensed to Licensee "as is". To the maximum -extent permitted by applicable law, Nokia on behalf of itself and its -suppliers, disclaims all warranties and conditions, either express or -implied, including, but not limited to, implied warranties of -merchantability, fitness for a particular purpose, title and -non-infringement with regard to the Licensed Software. - - -8. LIMITATION OF LIABILITY - -If, Nokia's warranty disclaimer notwithstanding, Nokia is held liable to -Licensee, whether in contract, tort or any other legal theory, based on -the Licensed Software, Nokia's entire liability to Licensee and -Licensee's exclusive remedy shall be, at Nokia's option, either (A) -return of the price Licensee paid for the Licensed Software, or (B) -repair or replacement of the Licensed Software, provided Licensee -returns to Nokia all copies of the Licensed Software as originally -delivered to Licensee. Nokia shall not under any circumstances be liable -to Licensee based on failure of the Licensed Software if the failure -resulted from accident, abuse or misapplication, nor shall Nokia under -any circumstances be liable for special damages, punitive or exemplary -damages, damages for loss of profits or interruption of business or for -loss or corruption of data. Any award of damages from Nokia to Licensee -shall not exceed the total amount Licensee has paid to Nokia in -connection with this Agreement. - - -9. CONFIDENTIALITY - -Each party acknowledges that during the Term of this Agreement it shall -have access to information about the other party's business, business -methods, business plans, customers, business relations, technology, and -other information, including the terms of this Agreement, that is -confidential and of great value to the other party, and the value of -which would be significantly reduced if disclosed to third parties (the -"Confidential Information"). Accordingly, when a party (the "Receiving -Party") receives Confidential Information from another party (the -"Disclosing Party"), the Receiving Party shall, and shall obligate its -employees and agents and employees and agents of its Affiliates to: (i) -maintain the Confidential Information in strict confidence; (ii) not -disclose the Confidential Information to a third party without the -Disclosing Party's prior written approval; and (iii) not, directly or -indirectly, use the Confidential Information for any purpose other than -for exercising its rights and fulfilling its responsibilities pursuant -to this Agreement. Each party shall take reasonable measures to protect -the Confidential Information of the other party, which measures shall -not be less than the measures taken by such party to protect its own -confidential and proprietary information. - -"Confidential Information" shall not include information that (a) is or -becomes generally known to the public through no act or omission of the -Receiving Party; (b) was in the Receiving Party's lawful possession -prior to the disclosure hereunder and was not subject to limitations on -disclosure or use; (c) is developed by the Receiving Party without -access to the Confidential Information of the Disclosing Party or by -persons who have not had access to the Confidential Information of the -Disclosing Party as proven by the written records of the Receiving -Party; (d) is lawfully disclosed to the Receiving Party without -restrictions, by a third party not under an obligation of -confidentiality; or (e) the Receiving Party is legally compelled to -disclose the information, in which case the Receiving Party shall assert -the privileged and confidential nature of the information and cooperate -fully with the Disclosing Party to protect against and prevent -disclosure of any Confidential Information and to limit the scope of -disclosure and the dissemination of disclosed Confidential Information -by all legally available means. - -The obligations of the Receiving Party under this Section shall continue -during the Initial Term and for a period of five (5) years after -expiration or termination of this Agreement. To the extent that the -terms of the Non-Disclosure Agreement between Nokia and Licensee -conflict with the terms of this Section 9, this Section 9 shall be -controlling over the terms of the Non-Disclosure Agreement. - - -10. GENERAL PROVISIONS - -10.1 No Assignment - -Licensee shall not be entitled to assign or transfer all or any of its -rights, benefits and obligations under this Agreement without the prior -written consent of Nokia, which shall not be unreasonably withheld. - -10.2 Termination - -Nokia may terminate the Agreement at any time immediately upon written -notice by Nokia to Licensee if Licensee breaches this Agreement. - -Upon termination of this Agreement, Licensee shall return to Nokia all -copies of Licensed Software that were supplied by Nokia. All other -copies of Licensed Software in the possession or control of Licensee -must be erased or destroyed. An officer of Licensee must promptly -deliver to Nokia a written confirmation that this has occurred. - -10.3 Surviving Sections - -Any terms and conditions that by their nature or otherwise reasonably -should survive a cancellation or termination of this Agreement shall -also be deemed to survive. Such terms and conditions include, but are -not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4, -10.5, 10.6, 10.7, and 10.8 of this Agreement. - -10.4 Entire Agreement - -This Agreement constitutes the complete agreement between the parties -and supersedes all prior or contemporaneous discussions, -representations, and proposals, written or oral, with respect to the -subject matters discussed herein, with the exception of the -non-disclosure agreement executed by the parties in connection with this -Agreement ("Non-Disclosure Agreement"), if any, shall be subject to -Section 9. No modification of this Agreement shall be effective unless -contained in a writing executed by an authorized representative of each -party. No term or condition contained in Licensee's purchase order shall -apply unless expressly accepted by Nokia in writing. If any provision of -the Agreement is found void or unenforceable, the remainder shall remain -valid and enforceable according to its terms. If any remedy provided is -determined to have failed for its essential purpose, all limitations of -liability and exclusions of damages set forth in this Agreement shall -remain in effect. - -10.5 Export Control - -Licensee acknowledges that the Licensed Software may be subject to -export control restrictions of various countries. Licensee shall fully -comply with all applicable export license restrictions and requirements -as well as with all laws and regulations relating to the importation of -the Licensed Software and shall procure all necessary governmental -authorizations, including without limitation, all necessary licenses, -approvals, permissions or consents, where necessary for the -re-exportation of the Licensed Software., - -10.6 Governing Law and Legal Venue - -This Agreement shall be construed and interpreted in accordance with the -laws of Finland, excluding its choice of law provisions. Any disputes -arising out of or relating to this Agreement shall be resolved in -arbitration under the Rules of Arbitration of the Chamber of Commerce of -Helsinki, Finland. The arbitration tribunal shall consist of one (1), or -if either Party so requires, of three (3), arbitrators. The award shall -be final and binding and enforceable in any court of competent -jurisdiction. The arbitration shall be held in Helsinki, Finland and the -process shall be conducted in the English language. - -10.7 No Implied License - -There are no implied licenses or other implied rights granted under this -Agreement, and all rights, save for those expressly granted hereunder, -shall remain with Nokia and its licensors. In addition, no licenses or -immunities are granted to the combination of the Licensed Software with -any other software or hardware not delivered by Nokia under this -Agreement. - -10.8 Government End Users - -A "U.S. Government End User" shall mean any agency or entity of the -government of the United States. The following shall apply if Licensee -is a U.S. Government End User. The Licensed Software is a "commercial -item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), -consisting of "commercial computer software" and "commercial computer -software documentation," as such terms are used in 48 C.F.R. 12.212 -(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 -through 227.7202-4 (June 1995), all U.S. Government End Users acquire -the Licensed Software with only those rights set forth herein. The -Licensed Software (including related documentation) is provided to U.S. -Government End Users: (a) only as a commercial end item; and (b) only -pursuant to this Agreement. - -
-
- The MIT License - -The MIT License - -Copyright (c) <year> <copyright holders> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -
-
- zlib License - - Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly jloup@gzip.org - Mark Adler madler@alumni.caltech.edu - -
-
- The Mozilla Public License Version 1.1 - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - -
-
- OpenSSL License - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a dual license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. Actually both licenses are BSD-style - Open Source licenses. In case of any license issues related to OpenSSL - please contact openssl-core@openssl.org. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -
-
- Boost Software License Version 1.0 - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -
-
- The Independent JPEG Group's JPEG software - -The Independent JPEG Group's JPEG software -========================================== - -README for release 6b of 27-Mar-1998 -==================================== - -This distribution contains the sixth public release of the Independent JPEG -Group's free JPEG software. You are welcome to redistribute this software and -to use it for any purpose, subject to the conditions under LEGAL ISSUES, below. - -Serious users of this software (particularly those incorporating it into -larger programs) should contact IJG at jpeg-info@uunet.uu.net to be added to -our electronic mailing list. Mailing list members are notified of updates -and have a chance to participate in technical discussions, etc. - -This software is the work of Tom Lane, Philip Gladstone, Jim Boucher, -Lee Crocker, Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, -Guido Vollbeding, Ge' Weijers, and other members of the Independent JPEG -Group. - -IJG is not affiliated with the official ISO JPEG standards committee. - - -DOCUMENTATION ROADMAP -===================== - -This file contains the following sections: - -OVERVIEW General description of JPEG and the IJG software. -LEGAL ISSUES Copyright, lack of warranty, terms of distribution. -REFERENCES Where to learn more about JPEG. -ARCHIVE LOCATIONS Where to find newer versions of this software. -RELATED SOFTWARE Other stuff you should get. -FILE FORMAT WARS Software *not* to get. -TO DO Plans for future IJG releases. - -Other documentation files in the distribution are: - -User documentation: - install.doc How to configure and install the IJG software. - usage.doc Usage instructions for cjpeg, djpeg, jpegtran, - rdjpgcom, and wrjpgcom. - *.1 Unix-style man pages for programs (same info as usage.doc). - wizard.doc Advanced usage instructions for JPEG wizards only. - change.log Version-to-version change highlights. -Programmer and internal documentation: - libjpeg.doc How to use the JPEG library in your own programs. - example.c Sample code for calling the JPEG library. - structure.doc Overview of the JPEG library's internal structure. - filelist.doc Road map of IJG files. - coderules.doc Coding style rules --- please read if you contribute code. - -Please read at least the files install.doc and usage.doc. Useful information -can also be found in the JPEG FAQ (Frequently Asked Questions) article. See -ARCHIVE LOCATIONS below to find out where to obtain the FAQ article. - -If you want to understand how the JPEG code works, we suggest reading one or -more of the REFERENCES, then looking at the documentation files (in roughly -the order listed) before diving into the code. - - -OVERVIEW -======== - -This package contains C software to implement JPEG image compression and -decompression. JPEG (pronounced "jay-peg") is a standardized compression -method for full-color and gray-scale images. JPEG is intended for compressing -"real-world" scenes; line drawings, cartoons and other non-realistic images -are not its strong suit. JPEG is lossy, meaning that the output image is not -exactly identical to the input image. Hence you must not use JPEG if you -have to have identical output bits. However, on typical photographic images, -very good compression levels can be obtained with no visible change, and -remarkably high compression levels are possible if you can tolerate a -low-quality image. For more details, see the references, or just experiment -with various compression settings. - -This software implements JPEG baseline, extended-sequential, and progressive -compression processes. Provision is made for supporting all variants of these -processes, although some uncommon parameter settings aren't implemented yet. -For legal reasons, we are not distributing code for the arithmetic-coding -variants of JPEG; see LEGAL ISSUES. We have made no provision for supporting -the hierarchical or lossless processes defined in the standard. - -We provide a set of library routines for reading and writing JPEG image files, -plus two sample applications "cjpeg" and "djpeg", which use the library to -perform conversion between JPEG and some other popular image file formats. -The library is intended to be reused in other applications. - -In order to support file conversion and viewing software, we have included -considerable functionality beyond the bare JPEG coding/decoding capability; -for example, the color quantization modules are not strictly part of JPEG -decoding, but they are essential for output to colormapped file formats or -colormapped displays. These extra functions can be compiled out of the -library if not required for a particular application. We have also included -"jpegtran", a utility for lossless transcoding between different JPEG -processes, and "rdjpgcom" and "wrjpgcom", two simple applications for -inserting and extracting textual comments in JFIF files. - -The emphasis in designing this software has been on achieving portability and -flexibility, while also making it fast enough to be useful. In particular, -the software is not intended to be read as a tutorial on JPEG. (See the -REFERENCES section for introductory material.) Rather, it is intended to -be reliable, portable, industrial-strength code. We do not claim to have -achieved that goal in every aspect of the software, but we strive for it. - -We welcome the use of this software as a component of commercial products. -No royalty is required, but we do ask for an acknowledgement in product -documentation, as described under LEGAL ISSUES. - - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-1998, Thomas G. Lane. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, -sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. -ansi2knr.c is NOT covered by the above copyright and conditions, but instead -by the usual distribution terms of the Free Software Foundation; principally, -that you must include source code if you redistribute it. (See the file -ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part -of any program generated from the IJG code, this does not limit you more than -the foregoing paragraphs do. - -The Unix configuration script "configure" was produced with GNU Autoconf. -It is copyright by the Free Software Foundation but is freely distributable. -The same holds for its supporting scripts (config.guess, config.sub, -ltconfig, ltmain.sh). Another support script, install-sh, is copyright -by M.I.T. but is also freely distributable. - -It appears that the arithmetic coding option of the JPEG spec is covered by -patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot -legally be used without obtaining one or more licenses. For this reason, -support for arithmetic coding has been removed from the free JPEG software. -(Since arithmetic coding provides only a marginal gain over the unpatented -Huffman mode, it is unlikely that very many implementations will support it.) -So far as we are aware, there are no patent restrictions on the remaining -code. - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent, GIF reading support has -been removed altogether, and the GIF writer has been simplified to produce -"uncompressed GIFs". This technique does not use the LZW algorithm; the -resulting GIF files are larger than usual, but are readable by all standard -GIF decoders. - -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." - - -REFERENCES -========== - -We highly recommend reading one or more of these references before trying to -understand the innards of the JPEG software. - -The best short technical introduction to the JPEG compression algorithm is - Wallace, Gregory K. "The JPEG Still Picture Compression Standard", - Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. -(Adjacent articles in that issue discuss MPEG motion picture compression, -applications of JPEG, and related topics.) If you don't have the CACM issue -handy, a PostScript file containing a revised version of Wallace's article is -available at ftp://ftp.uu.net/graphics/jpeg/wallace.ps.gz. The file (actually -a preprint for an article that appeared in IEEE Trans. Consumer Electronics) -omits the sample images that appeared in CACM, but it includes corrections -and some added material. Note: the Wallace article is copyright ACM and IEEE, -and it may not be used for commercial purposes. - -A somewhat less technical, more leisurely introduction to JPEG can be found in -"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by -M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides -good explanations and example C code for a multitude of compression methods -including JPEG. It is an excellent source if you are comfortable reading C -code but don't know much about data compression in general. The book's JPEG -sample code is far from industrial-strength, but when you are ready to look -at a full implementation, you've got one here... - -The best full description of JPEG is the textbook "JPEG Still Image Data -Compression Standard" by William B. Pennebaker and Joan L. Mitchell, published -by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. Price US$59.95, 638 pp. -The book includes the complete text of the ISO JPEG standards (DIS 10918-1 -and draft DIS 10918-2). This is by far the most complete exposition of JPEG -in existence, and we highly recommend it. - -The JPEG standard itself is not available electronically; you must order a -paper copy through ISO or ITU. (Unless you feel a need to own a certified -official copy, we recommend buying the Pennebaker and Mitchell book instead; -it's much cheaper and includes a great deal of useful explanatory material.) -In the USA, copies of the standard may be ordered from ANSI Sales at (212) -642-4900, or from Global Engineering Documents at (800) 854-7179. (ANSI -doesn't take credit card orders, but Global does.) It's not cheap: as of -1992, ANSI was charging $95 for Part 1 and $47 for Part 2, plus 7% -shipping/handling. The standard is divided into two parts, Part 1 being the -actual specification, while Part 2 covers compliance testing methods. Part 1 -is titled "Digital Compression and Coding of Continuous-tone Still Images, -Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS -10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of -Continuous-tone Still Images, Part 2: Compliance testing" and has document -numbers ISO/IEC IS 10918-2, ITU-T T.83. - -Some extensions to the original JPEG standard are defined in JPEG Part 3, -a newer ISO standard numbered ISO/IEC IS 10918-3 and ITU-T T.84. IJG -currently does not support any Part 3 extensions. - -The JPEG standard does not specify all details of an interchangeable file -format. For the omitted details we follow the "JFIF" conventions, revision -1.02. A copy of the JFIF spec is available from: - Literature Department - C-Cube Microsystems, Inc. - 1778 McCarthy Blvd. - Milpitas, CA 95035 - phone (408) 944-6300, fax (408) 944-6314 -A PostScript version of this document is available by FTP at -ftp://ftp.uu.net/graphics/jpeg/jfif.ps.gz. There is also a plain text -version at ftp://ftp.uu.net/graphics/jpeg/jfif.txt.gz, but it is missing -the figures. - -The TIFF 6.0 file format specification can be obtained by FTP from -ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme -found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. -IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). -Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 -(Compression tag 7). Copies of this Note can be obtained from ftp.sgi.com or -from ftp://ftp.uu.net/graphics/jpeg/. It is expected that the next revision -of the TIFF spec will replace the 6.0 JPEG design with the Note's design. -Although IJG's own code does not support TIFF/JPEG, the free libtiff library -uses our library to implement TIFF/JPEG per the Note. libtiff is available -from ftp://ftp.sgi.com/graphics/tiff/. - - -ARCHIVE LOCATIONS -================= - -The "official" archive site for this software is ftp.uu.net (Internet -address 192.48.96.9). The most recent released version can always be found -there in directory graphics/jpeg. This particular version will be archived -as ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz. If you don't have -direct Internet access, UUNET's archives are also available via UUCP; contact -help@uunet.uu.net for information on retrieving files that way. - -Numerous Internet sites maintain copies of the UUNET files. However, only -ftp.uu.net is guaranteed to have the latest official version. - -You can also obtain this software in DOS-compatible "zip" archive format from -the SimTel archives (ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/), or -on CompuServe in the Graphics Support forum (GO CIS:GRAPHSUP), library 12 -"JPEG Tools". Again, these versions may sometimes lag behind the ftp.uu.net -release. - -The JPEG FAQ (Frequently Asked Questions) article is a useful source of -general information about JPEG. It is updated constantly and therefore is -not included in this distribution. The FAQ is posted every two weeks to -Usenet newsgroups comp.graphics.misc, news.answers, and other groups. -It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ -and other news.answers archive sites, including the official news.answers -archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. -If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu -with body - send usenet/news.answers/jpeg-faq/part1 - send usenet/news.answers/jpeg-faq/part2 - - -RELATED SOFTWARE -================ - -Numerous viewing and image manipulation programs now support JPEG. (Quite a -few of them use this library to do so.) The JPEG FAQ described above lists -some of the more popular free and shareware viewers, and tells where to -obtain them on Internet. - -If you are on a Unix machine, we highly recommend Jef Poskanzer's free -PBMPLUS software, which provides many useful operations on PPM-format image -files. In particular, it can convert PPM images to and from a wide range of -other formats, thus making cjpeg/djpeg considerably more useful. The latest -version is distributed by the NetPBM group, and is available from numerous -sites, notably ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/. -Unfortunately PBMPLUS/NETPBM is not nearly as portable as the IJG software is; -you are likely to have difficulty making it work on any non-Unix machine. - -A different free JPEG implementation, written by the PVRG group at Stanford, -is available from ftp://havefun.stanford.edu/pub/jpeg/. This program -is designed for research and experimentation rather than production use; -it is slower, harder to use, and less portable than the IJG code, but it -is easier to read and modify. Also, the PVRG code supports lossless JPEG, -which we do not. (On the other hand, it doesn't do progressive JPEG.) - - -FILE FORMAT WARS -================ - -Some JPEG programs produce files that are not compatible with our library. -The root of the problem is that the ISO JPEG committee failed to specify a -concrete file format. Some vendors "filled in the blanks" on their own, -creating proprietary formats that no one else could read. (For example, none -of the early commercial JPEG implementations for the Macintosh were able to -exchange compressed files.) - -The file format we have adopted is called JFIF (see REFERENCES). This format -has been agreed to by a number of major commercial JPEG vendors, and it has -become the de facto standard. JFIF is a minimal or "low end" representation. -We recommend the use of TIFF/JPEG (TIFF revision 6.0 as modified by TIFF -Technical Note #2) for "high end" applications that need to record a lot of -additional data about an image. TIFF/JPEG is fairly new and not yet widely -supported, unfortunately. - -The upcoming JPEG Part 3 standard defines a file format called SPIFF. -SPIFF is interoperable with JFIF, in the sense that most JFIF decoders should -be able to read the most common variant of SPIFF. SPIFF has some technical -advantages over JFIF, but its major claim to fame is simply that it is an -official standard rather than an informal one. At this point it is unclear -whether SPIFF will supersede JFIF or whether JFIF will remain the de-facto -standard. IJG intends to support SPIFF once the standard is frozen, but we -have not decided whether it should become our default output format or not. -(In any case, our decoder will remain capable of reading JFIF indefinitely.) - -Various proprietary file formats incorporating JPEG compression also exist. -We have little or no sympathy for the existence of these formats. Indeed, -one of the original reasons for developing this free software was to help -force convergence on common, open format standards for JPEG files. Don't -use a proprietary file format! - - -TO DO -===== - -The major thrust for v7 will probably be improvement of visual quality. -The current method for scaling the quantization tables is known not to be -very good at low Q values. We also intend to investigate block boundary -smoothing, "poor man's variable quantization", and other means of improving -quality-vs-file-size performance without sacrificing compatibility. - -In future versions, we are considering supporting some of the upcoming JPEG -Part 3 extensions --- principally, variable quantization and the SPIFF file -format. - -As always, speeding things up is of great interest. - -Please send bug reports, offers of help, etc. to jpeg-info@uunet.uu.net - -
- -
diff --git a/kdepim/mobile/mail/AboutPage.qml b/kdepim/mobile/mail/AboutPage.qml deleted file mode 100644 index 4ffc80fb..00000000 --- a/kdepim/mobile/mail/AboutPage.qml +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2013 Michael Bohlender - * Copyright (C) 2010 Klarälvdalens Datakonsult AB, - * a KDAB Group company, info@kdab.net, - * author Stephen Kelly - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Library General Public License as published by - * the Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - * License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponets -import org.kde.plasma.extras 0.1 as PlasmaExtras - -PlasmaComponets.Page { - - implicitWidth: pageRow.width * 2 /3 - - tools: PlasmaComponets.ToolBarLayout { - PlasmaComponets.ToolButton { - anchors.left: parent.left - iconSource: "go-previous" - onClicked: pageRow.pop() - } - } - - PlasmaExtras.ScrollArea { - - anchors.fill: parent - - flickableItem: Flickable { - anchors.fill: parent - - contentHeight: 1000; - clip: true - - Column{ - id: _content - anchors.fill: parent - anchors.margins: 30 - PlasmaExtras.Title{ - id: caption - text: KDE.i18n( "About %1", application.name ) - wrapMode: Text.WordWrap - width: parent.width - } - PlasmaComponets.Label{ - id:version - text: "\n" + application.version + "\n" - wrapMode: Text.WordWrap - width: parent.width - } - - PlasmaExtras.Heading { - text: KDE.i18n("Contributors") - } - - PlasmaExtras.Paragraph { - text: KDE.i18n("Development team in alphabetical order:") + "\n\n" + - "\t" + KDE.i18n("Andras Mantia (KDAB)") + "\n" + - "\t" + KDE.i18n("Andre Heinecke (Intevation)") + "\n" + - "\t" + KDE.i18n("Andreas Holzammer (KDAB)") + "\n" + - "\t" + KDE.i18n("Bernhard Reiter, Intevation") + "\n" + - "\t" + KDE.i18n("Bertjan Broeksema (KDAB)") + "\n" + - "\t" + KDE.i18n("Björn Balazs (Apliki)") + "\n" + - "\t" + KDE.i18n("Björn Ricks (Intevation)") + "\n" + - "\t" + KDE.i18n("Casey Link (KDAB)") + "\n" + - "\t" + KDE.i18n("David Faure (KDAB)") + "\n" + - "\t" + KDE.i18n("Felix Wolfsteller (Intevation)") + "\n" + - "\t" + KDE.i18n("Kevin Krammer (KDAB)") + "\n" + - "\t" + KDE.i18n("Kevin Ottens (KDAB)") + "\n" + - "\t" + KDE.i18n("Laurent Montel (KDAB)") + "\n" + - "\t" + KDE.i18n("Leo Franchi (KDAB)") + "\n" + - "\t" + KDE.i18n("Ludwig Reiter (Intevation)") + "\n" + - "\t" + KDE.i18n("Marc Mutz (KDAB)") + "\n" + - "\t" + KDE.i18n("Marcus Brinkmann (g10 Code)") + "\n" + - "\t" + KDE.i18n("Michael Bohlender (KDE)") + "\n" + - "\t" + KDE.i18n("Nuno Pinheiro (KDAB)") + "\n" + - "\t" + KDE.i18n("Patrick Spendrin (KDAB)") + "\n" + - "\t" + KDE.i18n("Romain Pokrzywka (KDAB)") + "\n" + - "\t" + KDE.i18n("Sabine Faure (KDAB)") + "\n" + - "\t" + KDE.i18n("Sascha L. Teichmann (Intevation)") + "\n" + - "\t" + KDE.i18n("Sergio Martins (KDAB)") + "\n" + - "\t" + KDE.i18n("Stephen Kelly (KDAB)") + "\n" + - "\t" + KDE.i18n("Till Adam (KDAB)") + "\n" + - "\t" + KDE.i18n("Tobias Koenig (KDAB)") + "\n" + - "\t" + KDE.i18n("Volker Krause (KDAB)") + "\n" + - "\t" + KDE.i18n("Werner Koch (g10 Code)") + "\n" - wrapMode: Text.WordWrap - width: parent.width - } - - PlasmaExtras.Paragraph { - text : KDE.i18n("Kontact Touch is licensed under the GNU GPL version 2 or later and other Free Software licenses. " + - "See %1 for details.", "licenses.pdf") + "\n" - wrapMode: Text.WordWrap - width: parent.width - } - - PlasmaComponets.Button { - id: licenseButton - - text: i18n( "Show Licenses" ) - onClicked: application.openLicenses() - } - } - } - } -} diff --git a/kdepim/mobile/mail/AccountSettingsPage.qml b/kdepim/mobile/mail/AccountSettingsPage.qml deleted file mode 100644 index f500df61..00000000 --- a/kdepim/mobile/mail/AccountSettingsPage.qml +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013 Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponets -import org.kde.pim.mobileui 4.5 as KPIM - -PlasmaComponets.Page { - id: root - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN: Tools - tools: PlasmaComponets.ToolBarLayout { - PlasmaComponets.ToolButton { - anchors.left: parent.left - iconSource: "go-previous" - onClicked: pageRow.pop() - } - } - //END: Tools - - - KPIM.AgentInstanceListContainer { - anchors.fill: parent - - actionItemHeight: root.height * 0.2 - - model: agentInstanceList - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/AccountsPage.qml b/kdepim/mobile/mail/AccountsPage.qml deleted file mode 100644 index b484fb77..00000000 --- a/kdepim/mobile/mail/AccountsPage.qml +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 2013 Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde.plasma.extras 0.1 as PlasmaExtras -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.qtextracomponents 0.1 as QtExtra - - -PlasmaComponents.Page { - id: root - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN: Tools - tools: PlasmaComponents.ToolBarLayout { - - PlasmaComponents.ToolButton { - iconSource: "preferences-system" - - onClicked: pageRow.push(Qt.resolvedUrl("SettingsPage.qml")) - } - } - //END: Tools - - ListView { - id: listView - - anchors.fill: parent - - clip: true - - model: agentInstanceList - - //BEGIN: Delegate - delegate : PlasmaComponents.ListItem { - id: listItem - - height: root.height * 0.12 - - enabled: true - checked: listView.currentIndex == index - - //TODO create FoldersListPage.qml - onClicked: { - pageRow.pop(root) - pageRow.push(Qt.resolvedUrl("FolderPage.qml")) - } - - KPIM.AgentInstanceStatusIndicator { - id: iconItem - - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: units.gridUnit - } - - online: model.online - status: model.status - } - - PlasmaExtras.Heading { - id: textItem - - anchors { - left: iconItem.right - leftMargin: units.gridUnit - verticalCenter: parent.verticalCenter - } - - level: 4 - text: model.display - } - - } - //END: Delegate - - //BEGIN: Footer - footer: PlasmaComponents.ListItem { - - height: root.height * 0.12 - - enabled: true - - onClicked: application.launchAccountWizard() - - //FIXME show a black plus button instead of the green one? - QtExtra.QIconItem { - id: iconItem - - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: units.gridUnit - } - - height: parent.height * 0.6 - width: height - - icon: QIcon("list-add") - - } - - PlasmaExtras.Heading { - id: textItem - - anchors { - left: iconItem.right - leftMargin: units.gridUnit - verticalCenter: parent.verticalCenter - } - - text: i18n("Add Account") - level: 4 - } - } - //END: Footer - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/AclEditor.qml b/kdepim/mobile/mail/AclEditor.qml deleted file mode 100644 index b46bcfb9..00000000 --- a/kdepim/mobile/mail/AclEditor.qml +++ /dev/null @@ -1,105 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -QML.Rectangle { - anchors.fill: parent - z: 10 - - function load() { - aclEditor.load() - } - - QML.Text { - id: headLine - - anchors { - left: parent.left - top: parent.top - leftMargin: 30 - topMargin: 40 - } - - text: KDE.i18n( "Access Control List for '%1'", aclEditor.collectionName ) - } - - KPIM.ReorderListContainer { - id: aclView - - anchors { - left: parent.left - top: headLine.bottom - right: parent.right - bottom: okButton.top - leftMargin: 30 - topMargin: 10 - } - - model: aclModel - - onCurrentIndexChanged: aclEditor.setRowSelected( index ) - - KPIM.ActionButton { - icon: KDE.locate( "data", "mobileui/add-button.png" ) - actionName: "acleditor_add" - } - - KPIM.ActionButton { - icon: KDE.locate( "data", "mobileui/edit-button.png" ) - actionName: "acleditor_edit" - } - - KPIM.ActionButton { - icon: KDE.locate( "data", "mobileui/delete-button.png" ) - actionName: "acleditor_delete" - } - } - - KPIM.Button2 { - id: okButton - anchors { - left: parent.left - bottom: parent.bottom - leftMargin: 30 - } - width: 150 - buttonText: KDE.i18n( "Save" ) - onClicked: { - aclEditor.save(); - guiStateManager.popState(); - } - } - - KPIM.Button2 { - id: cancelButton - anchors { - left: okButton.right - bottom: parent.bottom - leftMargin: 10 - } - width: 150 - buttonText: KDE.i18n( "Cancel" ) - onClicked: guiStateManager.popState() - } -} diff --git a/kdepim/mobile/mail/AttachmentEditor.qml b/kdepim/mobile/mail/AttachmentEditor.qml deleted file mode 100644 index f0e6b59d..00000000 --- a/kdepim/mobile/mail/AttachmentEditor.qml +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.ReorderListContainer { - width: 600 - model: attachmentModel - - onCurrentIndexChanged: attachmentEditor.setRowSelected( index ) - - delegate: Item { - id: wrapper - width: parent.width - height: 70 - clip: true - - Rectangle { - id: background - anchors.fill: parent - opacity: (wrapper.ListView.isCurrentItem ? 0.25 : 0) - color: "lightsteelblue" - } - - Text { - id: attachmentName - anchors.fill: parent; - text: model.attachmentName; - horizontalAlignment: "AlignLeft"; - verticalAlignment: "AlignTop"; - } - - Row { - id: cryptoIcons - anchors { - right: parent.right - bottom: parent.bottom - } - Image { - width: 22 - height: 22 - source: KDE.locate( "data", "libmessageviewer/pics/mobile_status_signed.png" ) - visible: model.attachmentIsSigned - } - - Image { - width: 22 - height: 22 - source: KDE.locate( "data", "libmessageviewer/pics/mobile_status_encrypted.png" ) - visible: model.attachmentIsEncrypted - } - } - - Text { - anchors { - left: parent.left - bottom: parent.bottom - } - text: model.attachmentSize - } - - MouseArea { - anchors.fill: parent - onClicked: wrapper.ListView.view.currentIndex = model.index - } - } - - KPIM.ActionButton { - icon: KDE.locate( "data", "kmail-mobile/add-attachment-button.png" ) - actionName: "attach" - } - - KPIM.ActionButton { - icon: KDE.locate( "data", "kmail-mobile/remove-attachment-button.png" ) - actionName: "remove" - } - - KPIM.ActionButton { - icon: KDE.locate( "data", "kmail-mobile/toggle-signature-button.png" ) - actionName: "toggle_attachment_signed" - } - - KPIM.ActionButton { - icon: KDE.locate( "data", "kmail-mobile/toggle-encryption-button.png" ) - actionName: "toggle_attachment_encrypted" - } -} diff --git a/kdepim/mobile/mail/CMakeLists.txt b/kdepim/mobile/mail/CMakeLists.txt deleted file mode 100644 index b1423a54..00000000 --- a/kdepim/mobile/mail/CMakeLists.txt +++ /dev/null @@ -1,140 +0,0 @@ -project(kmail-mobile) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") - -add_subdirectory(docs) -add_subdirectory(tests) - -include_directories( - ${CMAKE_SOURCE_DIR}/libkleo/ - ${CMAKE_SOURCE_DIR}/libksieve/ - ${CMAKE_SOURCE_DIR}/libksieve/ksieveui/ - ${CMAKE_SOURCE_DIR}/kmail/ - ${CMAKE_BINARY_DIR}/kmail/kcm_kpimidentities/ - ${CMAKE_SOURCE_DIR}/kmail/kcm_kpimidentities/ - ${CMAKE_SOURCE_DIR}/templateparser - ${CMAKE_BINARY_DIR}/templateparser - ${CMAKE_SOURCE_DIR}/messagecore - ${CMAKE_SOURCE_DIR}/messagecomposer - ${CMAKE_BINARY_DIR}/messagecomposer - ${CMAKE_SOURCE_DIR}/messageviewer - ${CMAKE_BINARY_DIR}/messageviewer - ${CMAKE_SOURCE_DIR}/mailcommon - ${CMAKE_SOURCE_DIR}/pimcommon/ - ${CMAKE_SOURCE_DIR}/libkdepim/ - ${Boost_INCLUDE_DIR} -) - -set(kmail_mobile_srcs - acleditor.cpp - attachmenteditor.cpp - attachmentproxymodel.cpp - charsetselectiondialog.cpp - composerautoresizer.cpp - composerview.cpp - configwidget.cpp - cryptoformatselectiondialog.cpp - declarativeidentitycombobox.cpp - emailsexporthandler.cpp - emailsfilterproxymodel.cpp - emailsimporthandler.cpp - filtereditor.cpp - mailactionmanager.cpp - mailthreadgroupercomparator.cpp - mainview.cpp - main.cpp - messagelistproxy.cpp - messagelistsettings.cpp - messagelistsettingscontroller.cpp - messageviewitem.cpp - mobilekernel.cpp - savemailcommand.cpp - searchwidget.cpp - snippetseditor.cpp - templateemailmodel.cpp - vacationmanager.cpp -) - -qt4_wrap_ui(kmail_mobile_srcs configwidget.ui messagelistsettingseditor.ui searchwidget.ui) - -if(KDEPIM_ENTERPRISE_BUILD) - set(WARN_TOOMANY_RECIPIENTS_DEFAULT true) -else() - set(WARN_TOOMANY_RECIPIENTS_DEFAULT false) -endif() - -configure_file(settings.kcfg.cmake ${CMAKE_CURRENT_BINARY_DIR}/settings.kcfg) -kde4_add_kcfg_files(kmail_mobile_srcs settings.kcfgc) - -if(RUNTIME_PLUGINS_STATIC) - add_definitions(-DMAIL_SERIALIZER_PLUGIN_STATIC) -endif() - -kde4_add_app_icon(kmail_mobile_srcs "${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-kmail-mobile.png") - -kde4_add_executable(kmail-mobile ${kmail_mobile_srcs}) - -target_link_libraries(kmail-mobile - ${QT_QTDECLARATIVE_LIBRARY} - ${KDE4_KCMUTILS_LIBS} - ${KDEPIMLIBS_AKONADI_KMIME_LIBS} - ${KDEPIMLIBS_KMIME_LIBS} - ${KDEPIMLIBS_AKONADI_LIBS} - ${KDEPIMLIBS_MAILTRANSPORT_LIBS} - ${KDEPIMLIBS_KMBOX_LIBS} - akonadi-calendar - akonadi_next - kdepim - kdepimmobileui - kdepimmobileuicalendar - ksieveui - kleo - mailcommon - pimcommon - messagecomposer - messagecore - messageviewer - templateparser -) - -if(RUNTIME_PLUGINS_STATIC) - target_link_libraries(kmail-mobile - akonadi_serializer_mail - akonadi_serializer_addressee - akonadi_serializer_contactgroup - akonadi_serializer_kcalcore - ) -endif() - -install(TARGETS kmail-mobile ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS kmail-mobile.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install(FILES - AboutPage.qml - AccountSettingsPage.qml - AccountsPage.qml - AclEditor.qml - AttachmentEditor.qml - ConfigDialog.qml - FilterEditor.qml - FolderPage.qml - MailListPage.qml - MailViewPage.qml - EditorView.qml - FavoriteManagerPage.qml - kmail-composer.qml - kmail-mobile.qml - KMailComposerActions.qml - kmail-mobile.notifyrc - SettingsPage.qml - SnippetsEditor.qml - SnippetsList.qml - add-attachment-button.png - dummy-avatar.png - remove-attachment-button.png - toggle-signature-button.png - toggle-encryption-button.png - DESTINATION ${DATA_INSTALL_DIR}/kmail-mobile -) - -kde4_install_icons(${ICON_INSTALL_DIR}) - diff --git a/kdepim/mobile/mail/ConfigDialog.qml b/kdepim/mobile/mail/ConfigDialog.qml deleted file mode 100644 index ed91f760..00000000 --- a/kdepim/mobile/mail/ConfigDialog.qml +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi.mail 4.5 as Mail -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - id: configDialog - anchors.fill: parent - z: 10 - color: "white" - visible: guiStateManager.inConfigScreenState - - function load() - { - configWidget.load(); - } - - PlasmaExtras.ScrollArea { - id: configWidgetBox - anchors { - top: parent.top - topMargin: 25 - bottom: parent.bottom - left: parent.left - right: okButton.left - } - - flickableItem: QML.Flickable { - contentHeight: configWidget.height; - - contentItem.children: [ - QML.Item { // dummy item to make the widget visible with the broken QML version on the N900 - anchors.fill: parent - Mail.ConfigWidget { - id: configWidget - width: parent.width - } - } - ] - } - } - - KPIM.Button2 { - id: okButton - anchors.top: parent.top - anchors.topMargin: 20 - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "OK" ) - onClicked: { - configWidget.save(); - guiStateManager.popState() - } - } - - KPIM.Button2 { - id: cancelButton - anchors.top: okButton.bottom - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "Cancel" ) - onClicked: guiStateManager.popState() - } -} diff --git a/kdepim/mobile/mail/EditorView.qml b/kdepim/mobile/mail/EditorView.qml deleted file mode 100644 index d6ef5f9e..00000000 --- a/kdepim/mobile/mail/EditorView.qml +++ /dev/null @@ -1,172 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.kpimidentities 4.5 as KPIMIdentities -import org.kde.messagecomposer 4.5 as MessageComposer -import "../mobileui/ScreenFunctions.js" as Screen -import org.kde.plasma.components 0.1 as PlasmaComponents - -Item { - id: root - property int contentHeight: subjectInput.height + messageContent.height + bottomContainer.height + 20; - property int screenHeight: 480 - anchors.topMargin: 12 - anchors.leftMargin: 48 - anchors.rightMargin: 2 - - PlasmaComponents.Label { - id: subjectLabel - - anchors { - verticalCenter: subjectInput.verticalCenter - left: parent.left - } - - text: KDE.i18n( "Subject:" ) - } - - PlasmaComponents.TextField { - id: subjectInput - - anchors { - left: subjectLabel.right - top: parent.top - right: parent.right - } - - text: window.subject - clearButtonShown: true - } - - Binding { target: window; property: "subject"; value: subjectInput.text } - - Rectangle { - id: cryptoIndicator - visible: window.isSigned || window.isEncrypted - anchors.top: subjectInput.bottom - anchors.topMargin: 2 - anchors.left: parent.left - anchors.right: parent.right - height: (window.isSigned || window.isEncrypted) ? 20 : 0 - - Row { - anchors.fill: parent - spacing: 2 - - Rectangle { - id: signedIndicator - visible: window.isSigned - color: "#BAF9CE" - width: (window.isEncrypted ? parent.width / 2 : parent.width) - height: 20 - - Text { - anchors.fill: parent - text: KDE.i18n( "Message will be signed" ) - horizontalAlignment: Text.AlignHCenter - } - } - - Rectangle { - id: encryptedIndicator - visible: window.isEncrypted - color: "#0080FF" - width: (window.isSigned ? parent.width / 2 : parent.width) - height: 20 - - Text { - anchors.fill: parent - text: KDE.i18n( "Message will be encrypted" ) - horizontalAlignment: Text.AlignHCenter - } - } - } - } - - MessageComposer.Editor { - id: messageContent - availableScreenHeight: root.screenHeight - bottomContainer.height - subjectInput.height - cryptoIndicator.height - cryptoIndicator.anchors.topMargin - root.anchors.topMargin - 2 - anchors { - top: cryptoIndicator.bottom - left: parent.left - right: parent.right - topMargin: 2 - } - } - - Item { - id: bottomContainer; - height: Screen.fingerSize - anchors { - left: parent.left - right: parent.right - top: messageContent.bottom - } - - PlasmaComponents.Label { - id: identityLabel - anchors { - left: parent.left - bottom: parent.bottom - top: parent.top - } - text: KDE.i18n( "Identity:" ) - verticalAlignment: Text.AlignVCenter - } - - KPIMIdentities.IdentityComboBox { - id: identityCombo - anchors { - left: identityLabel.right - top: parent.top - bottom: parent.bottom - right: cancelButton.left - } - // HACK: the style sheet currently enforces a way to big minimum height on < 200 dpi - // not trivial to remove there unfortunately, so work around that in places where the layout - // is already DPI-aware - styleSheet: styleSheet + " QComboBox { min-height: 0px }" - } - - KPIM.Button2 { - id: cancelButton - anchors.bottom: parent.bottom - anchors.right: sendButton.left - width: height * 1.5 - height: identityCombo.height - icon: KDE.iconPath( "dialog-cancel", 64 ) - onClicked: window.close() - } - - KPIM.Button2 { - id: sendButton; - anchors.bottom: parent.bottom; - anchors.right: parent.right; - width: height * 1.5; - height: identityCombo.height - icon: KDE.iconPath( "mail-folder-outbox", 64 ); - color: window.tooManyRecipients ? "red" : "#00000000" - buttonText: window.recipientsCount == 0 ? "" : window.recipientsCount - onClicked: window.send(); - } - } - -} diff --git a/kdepim/mobile/mail/FavoriteManagerPage.qml b/kdepim/mobile/mail/FavoriteManagerPage.qml deleted file mode 100644 index 3db552a1..00000000 --- a/kdepim/mobile/mail/FavoriteManagerPage.qml +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2013 (C) Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde.pim.mobileui 4.5 as KPIM - -PlasmaComponents.Page { - id: root - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN: Tools - tools: PlasmaComponents.ToolBarLayout { - PlasmaComponents.ToolButton { - anchors.left: parent.left - iconSource: "go-previous" - onClicked: pageRow.pop() - } - } - //END: Tools - - KPIM.ReorderListContainer { - anchors.fill: parent - - model : favoritesList - actionItemHeight: root.height * 0.2 - - KPIM.ActionButton { - icon : "images/moveup.png" - actionName : "favoriteseditor_moveup" - } - - KPIM.ActionButton { - icon : "images/movedown.png" - actionName : "favoriteseditor_movedown" - } - - KPIM.ActionButton { - icon : KDE.locate( "data", "mobileui/delete-button.png" ) - actionName : "favoriteseditor_remove" - } - - onCurrentIndexChanged: favoritesEditor.setRowSelected( index ) - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/FilterEditor.qml b/kdepim/mobile/mail/FilterEditor.qml deleted file mode 100644 index 9c5908f5..00000000 --- a/kdepim/mobile/mail/FilterEditor.qml +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -PlasmaComponents.Page { - - implicitWidth: pageRow.width * 2 /3 - - - //BEGIN: Tools - tools: PlasmaComponents.ToolBarLayout { - PlasmaComponents.ToolButton { - - anchors.left: parent.left - - iconSource: "go-previous" - - onClicked: pageRow.pop() - } - } - //END: Tools - - KPIM.ReorderListContainer { - id: root - - anchors.fill: parent - - actionItemHeight: parent.height * 0.2 - model: filterModel - - delegate: QML.Item { - id: filterDelegate - clip: true - width: parent.width - height: root.actionItemHeight - - QML.Rectangle { - id: background - anchors.fill: parent - opacity: filterDelegate.QML.ListView.isCurrentItem ? 0.25 : 0 - color: "lightsteelblue" - } - - QML.Text { - anchors.fill: parent - text: model.display - horizontalAlignment: QML.Text.AlignHCenter - verticalAlignment: QML.Text.AlignVCenter - } - - QML.MouseArea { - anchors.fill: parent - onClicked: filterDelegate.QML.ListView.view.currentIndex = model.index - } - } - - KPIM.ActionButton { - icon : KDE.locate( "data", "mobileui/add-button.png" ) - actionName : "filtereditor_add" - } - - KPIM.ActionButton { - icon : KDE.locate( "data", "mobileui/edit-button.png" ) - actionName : "filtereditor_edit" - } - - KPIM.ActionButton { - icon : KDE.locate( "data", "mobileui/delete-button.png" ) - actionName : "filtereditor_delete" - } - - KPIM.ActionButton { - icon : KDE.locate( "data", "mobileui/moveup-button.png" ) - actionName : "filtereditor_moveup" - } - - KPIM.ActionButton { - icon : KDE.locate( "data", "mobileui/movedown-button.png" ) - actionName : "filtereditor_movedown" - } - - onCurrentIndexChanged: filterEditor.setRowSelected( index ) - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/FolderPage.qml b/kdepim/mobile/mail/FolderPage.qml deleted file mode 100644 index f015c87b..00000000 --- a/kdepim/mobile/mail/FolderPage.qml +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2013 (C) Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi 4.5 as Akonadi - -PlasmaComponents.Page { - id: root - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN Tools - tools: PlasmaComponents.ToolBarLayout{ - - PlasmaComponents.ToolButton{ - iconSource: "preferences-system" - - onClicked: pageRow.push(Qt.resolvedUrl("SettingsPage.qml") ) - } - - //FIXME remove this button and push the page when a folder gets selected (requires actual favorite/folderpage) - PlasmaComponents.ToolButton { - iconSource: "go-next" - - onClicked: pageRow.push(Qt.resolvedUrl("MailListPage.qml")) - } - } - //END Tools - - Akonadi.AkonadiBreadcrumbNavigationView { - id : collectionView - - anchors.fill: parent - - showUnread : true - - itemHeight: root.height / 7 - - breadcrumbComponentFactory : _breadcrumbNavigationFactory - - KPIM.AgentStatusIndicator { - id: agentStatusIndicator - anchors { top: parent.top; right: parent.right; rightMargin: 10; topMargin: 10 } - } - } - -} diff --git a/kdepim/mobile/mail/KMailComposerActions.qml b/kdepim/mobile/mail/KMailComposerActions.qml deleted file mode 100644 index 0cb4371d..00000000 --- a/kdepim/mobile/mail/KMailComposerActions.qml +++ /dev/null @@ -1,103 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Volker Krause - Copyright (C) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 -import "../mobileui/ScreenFunctions.js" as Screen - -ActionMenuContainer { - id: root - menuStyle : true - - actionItemHeight: Screen.partition( height, 6 ) - actionItemSpacing - actionItemWidth : 200 - actionItemSpacing : 2 - - ActionList { - category : "composer" - name : "message_menu" - text : KDE.i18n( "Message" ) - ActionListItem { name: "send_later" } - ActionListItem { name: "save_in_drafts" } - ActionListItem { name: "save_as_template" } - } - - ActionList { - category : "composer" - name : "edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "composer_search" } - ActionListItem { name : "composer_search_next" } - ActionListItem { name : "composer_replace" } - ActionListItem { name : "composer_clean_spaces" } - ActionListItem { name : "composer_add_quote_char" } - ActionListItem { name : "composer_remove_quote_char" } - ActionListItem { name : "composer_spell_check" } - } - - ActionList { - category : "composer" - name : "options_menu" - text : KDE.i18n( "Options" ) - ActionListItem { name : "options_mark_as_urgent" } - ActionListItem { name : "options_request_mdn" } - ActionListItem { name : "options_wordwrap" } - ActionListItem { name : "options_fixedfont" } - ActionListItem { name : "attach_public_key" } - ActionListItem { name : "options_set_cryptoformat" } - } - - ActionList { - category : "composer" - name : "signature_menu" - text : KDE.i18n( "Signature" ) - ActionListItem { name : "composer_append_signature" } - ActionListItem { name : "composer_prepend_signature" } - ActionListItem { name : "composer_insert_signature" } - } - - ActionList { - category : "composer" - name : "security_menu" - text : KDE.i18n( "Security" ) - ActionListItem { name : "sign_email" } - ActionListItem { name : "encrypt_email" } - } - - SnippetsList { - category : "composer" - name : "snippets_menu" - text : KDE.i18n( "Snippets" ) - actionItemHeight: root.actionItemHeight - } - - ActionList { - category : "composer" - name : "composer_menu" - text : KDE.i18n( "Composer" ) - ScriptActionItem { name : "composer_configure_identity"; title: KDE.i18n( "Configure Identity" ) } - ScriptActionItem { name : "composer_configure_transport"; title: KDE.i18n( "Configure Transport" ) } - ScriptActionItem { name : "composer_close"; title: KDE.i18n( "Close Composer" ) } - ActionListItem { name : "wm_task_switch" } - } - -} diff --git a/kdepim/mobile/mail/MailListPage.qml b/kdepim/mobile/mail/MailListPage.qml deleted file mode 100644 index 1ca6d6d9..00000000 --- a/kdepim/mobile/mail/MailListPage.qml +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Copyright 2013 (C) Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde.plasma.extras 0.1 as PlasmaExtras - -PlasmaComponents.Page { - id: root - - property variant navigationModel: _threadSelector - property variant checkModel: _itemActionModel - - function mailStatusIconSource(mail) { - if (mail.is_important) { - return "mail-mark-important" - } else if (mail.is_replied) { - return "mail-replied" - } else if (mail.is_forwarded) { - return "mail-forwarded" - } else if (mail.is_unread) { - return "mail-unread-new" - } else { - return "mail-read" - } - } - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN Tools - tools: PlasmaComponents.ToolBarLayout { - - PlasmaComponents.ToolButton { - iconSource: "go-previous" - - onClicked: pageRow.pop() - } - - //TODO (de)select-all checkbox - Row { - - anchors.horizontalCenter: parent.horizontalCenter - - spacing: root.width * 0.03 - - PlasmaComponents.ToolButton { - iconSource: "mail-mark-unread" - - enabled: checkModel.hasSelection - - onClicked: application.getAction("akonadi_mark_as_read", "").trigger() - } - - PlasmaComponents.ToolButton { - iconSource: "mail-mark-important" - - enabled: checkModel.hasSelection - - onClicked: application.getAction("akonadi_mark_as_important", "").trigger() - } - - //TODO usability feature: offer to undo deletion - PlasmaComponents.ToolButton { - iconSource: "edit-delete" - - enabled: checkModel.hasSelection - - onClicked: application.getAction("akonadi_move_to_trash", "").trigger() - } - } - - - //TODO add new mail from template once the multiple actions button is ready - PlasmaComponents.ToolButton { - - anchors.right: parent.right - - iconSource: "mail-message-new" - - onClicked: application.startComposer() - } - } - //END Tools - - ListView { - id : threadView - - anchors.fill: parent - - property int currentItemId: -1 - property int currentRow : -1 - - model: _threads - - focus: true - clip: true - currentIndex: -1 - - - onCurrentRowChanged: { - if (navigationModel != undefined) - navigationModel.select(currentRow, 3) - } - - Connections { - target : navigationModel - onCurrentRowChanged: currentRow = navigationModel.currentRow - } - - //BEGIN Delegate - delegate: PlasmaComponents.ListItem { - id: headerListDelegate - - height: label.height * 2.5 - - opacity: model.is_important || model.is_unread ? 1 : 0.65 - clip: true - enabled: true - checked: threadView.currentIndex == index - - onClicked: { - if (root == pageRow.currentPage) { - pageRow.push(Qt.resolvedUrl("MailViewPage.qml")) - } - threadView.currentIndex = index - navigationModel.select(model.index, 3) - } - - onPressAndHold: threadView.currentIndex = index - - Rectangle { - id: itemBackground - - anchors.fill: parent - color: checked ? "lightgrey" : "white" - opacity: 0.5 - } - - PlasmaComponents.CheckBox { - id: checkBox - - anchors { - left: parent.left - leftMargin: label.width - verticalCenter: parent.verticalCenter - } - - visible: root == pageRow.currentPage - checked: model.checkOn - - onClicked: checkModel.select(model.index, 8) - } - - Image { - id: avatar - - anchors { - left: root == pageRow.currentPage ? checkBox.right : parent.left - leftMargin: label.width - verticalCenter: parent.verticalCenter - } - - height: parent.height * 0.7 - width: height - - source: "dummy-avatar.png" - fillMode: Image.PreserveAspectFit - smooth: true - } - - PlasmaComponents.Label { - id: fromLabel - - anchors { - top : parent.top - left : avatar.right - leftMargin: label.width - right: dateLabel.left - } - - text : model.from - elide: "ElideRight" - font.weight: Font.Light - color : "#0C55BB" - } - - PlasmaComponents.Label { - id: dateLabel - - anchors { - top: parent.top - right: statusIcon.left - } - - text: model.date - horizontalAlignment: "AlignRight" - font.weight: Font.Light - color : "#0C55BB" - } - - PlasmaExtras.Heading { - id: subjectLabel - - anchors { - bottom: parent.bottom - left: avatar.right - leftMargin: label.width - right: statusIcon.left - } - - level: 4 - text: model.subject - elide: "ElideRight" - color: "#3B3B3B" - } - - PlasmaComponents.ToolButton { - id: statusIcon - - anchors{ - right: parent.right - verticalCenter: parent.verticalCenter - } - - height: parent.height * 0.7 - - iconSource: mailStatusIconSource(model) - - onClicked: dialog.open() - - //BEGIN Dialog - PlasmaComponents.Dialog { - id: dialog - - visualParent: parent - - buttons: Column { - - spacing: root.width * 0.03 - - PlasmaComponents.ToolButton { - - iconSource: "mail-mark-unread" - - onClicked: { - checkModel.select(model.index, 3) - application.getAction("akonadi_mark_as_read", "").trigger() - checkModel.select(-1, 1) - } - - } - - PlasmaComponents.ToolButton { - - iconSource: "mail-mark-important" - - onClicked: { - checkModel.select(model.index, 3) - application.getAction("akonadi_mark_as_important", "").trigger() - checkModel.select(-1, 1) - } - - } - - PlasmaComponents.ToolButton { - - iconSource: "edit-delete" - - onClicked: { - checkModel.select(model.index, 3) - application.getAction("akonadi_move_to_trash", "").trigger() - checkModel.select(-1, 1) - } - - } - } - } - //END Dialog - } - } - //END Delegate - } - - PlasmaComponents.Label { - id: label - - text: " " - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/MailViewPage.qml b/kdepim/mobile/mail/MailViewPage.qml deleted file mode 100644 index ee2843be..00000000 --- a/kdepim/mobile/mail/MailViewPage.qml +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2013 (C) Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.messageviewer 4.5 as MessageViewer -import org.kde.plasma.components 0.1 as PlasmaComponents - -PlasmaComponents.Page { - id: root - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN Tools - tools: PlasmaComponents.ToolBarLayout{ - PlasmaComponents.ToolButton{ - iconSource: "go-previous" - - onClicked: pageRow.pop() - } - - Row { - - spacing: root.width * 0.03 - - //TODO add forward-as-attachment and redirect when the "multiple actions" button is ready - PlasmaComponents.ToolButton { - iconSource: "mail-forward" - - onClicked: application.forwardMessage() - } - - //TODO add reply-to-list and (maybe) reply-without quoting when the "multiple actions" button is ready - PlasmaComponents.ToolButton { - iconSource: "mail-reply-sender" - - onClicked: application.replyToAuthor() - } - - PlasmaComponents.ToolButton { - iconSource: "mail-reply-all" - - onClicked: application.replyToAll() - } - } - } - //END Tools - - //BEGIN MessageView - MessageViewer.MessageView { - id: messageView - - anchors { - fill: parent - leftMargin: parent.width * 0.05 - rightMargin: parent.width * 0.05 - } - - clip: true - } - //END MessageView - -} diff --git a/kdepim/mobile/mail/Messages.sh b/kdepim/mobile/mail/Messages.sh deleted file mode 100644 index c2a76003..00000000 --- a/kdepim/mobile/mail/Messages.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -$EXTRACTRC --ignore-no-input `find . \( -name '*.ui' -or -name '*.rc' -or -name '*.kcfg' -or -name '*.kcfg.cmake' \) -and -not -name '*-mobile.rc'` >> rc.cpp || exit 11 -$XGETTEXT -ktranslate `find -name '*.cpp' -o -name '*.h'` -o $podir/kmail-mobile.pot -$XGETTEXT -ktranslate `find . -name '*.qml'` -j -L Java -o $podir/kmail-mobile.pot -rm -f rc.cpp diff --git a/kdepim/mobile/mail/SettingsPage.qml b/kdepim/mobile/mail/SettingsPage.qml deleted file mode 100644 index 79b90893..00000000 --- a/kdepim/mobile/mail/SettingsPage.qml +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2013 (C) Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponents - -PlasmaComponents.Page { - id: root - - implicitWidth: pageRow.width * 2 /3 - - //BEGIN: Tools - tools: PlasmaComponents.ToolBarLayout { - PlasmaComponents.ToolButton { - - anchors.left: parent.left - - iconSource: "go-previous" - - onClicked: pageRow.pop() - } - } - //END: Tools - - Column { - anchors.centerIn: parent - - spacing: 20 - - PlasmaComponents.Button { - text: i18n("Accounts") - - onClicked: { - pageRow.pop(root) - pageRow.push(Qt.resolvedUrl("AccountSettingsPage.qml")) - } - } - PlasmaComponents.Button { - text: i18n("Identities") - - onClicked: application.configureIdentity() - } - PlasmaComponents.Button { - text: i18n("Favorites") - - onClicked: { - pageRow.pop(root) - pageRow.push(Qt.resolvedUrl("FavoriteManagerPage.qml")) - } - } - PlasmaComponents.Button { - text: i18n("Filter") - - onClicked: { - pageRow.pop(root) - pageRow.push(Qt.resolvedUrl("FilterEditor.qml")) - } - } - PlasmaComponents.Button { - text: i18n( "About" ) - - onClicked: { - pageRow.pop(root) - pageRow.push(Qt.resolvedUrl("AboutPage.qml")) - } - } - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/SnippetsEditor.qml b/kdepim/mobile/mail/SnippetsEditor.qml deleted file mode 100644 index 85a77343..00000000 --- a/kdepim/mobile/mail/SnippetsEditor.qml +++ /dev/null @@ -1,124 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - id : _topLevel - color : "#00000000" - property int actionItemHeight : 70 - property int actionItemWidth : 200 - property int actionItemSpacing : 0 - property int bottomMargin - anchors.bottomMargin : bottomMargin - - property alias model : snippetsView.model - - property alias customActions : actionColumn.content - - signal triggered(string triggeredName) - signal doCollapse() - - PlasmaExtras.ScrollArea { - - anchors { - top: parent.top - bottom: parent.bottom - left: parent.left - } - width: parent.width - actionColumn.width - - flickableItem: QML.ListView { - id: snippetsView - - model: snippetsModel - focus: true - clip: true - - delegate: QML.Item { - id: snippetDelegate - clip: true - width: parent.width - height: _topLevel.actionItemHeight - - QML.Rectangle { - id: background - anchors.fill: parent - opacity: snippetDelegate.QML.ListView.isCurrentItem ? 0.25 : 0 - color: "lightsteelblue" - } - - QML.Text { - anchors.fill: parent - anchors.leftMargin: model.isSnippetGroup ? 5 : 25 - text: model.display - font.bold: model.isSnippetGroup - horizontalAlignment: QML.Text.AlignLeft - verticalAlignment: QML.Text.AlignVCenter - } - - QML.MouseArea { - anchors.fill: parent - onClicked: snippetDelegate.QML.ListView.view.currentIndex = model.index - } - } - - onCurrentIndexChanged: snippetsEditor.setRowSelected( currentIndex ) - } - } - - KPIM.ActionMenuContainer { - id : actionColumn - width : _topLevel.actionItemWidth - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - actionItemWidth : width - actionItemHeight : _topLevel.actionItemHeight - - content : [ - KPIM.ActionListItem { name : "snippetseditor_insert_snippet"; title: KDE.i18n("Insert\nSnippet") }, - KPIM.ActionListItem { name : "snippetseditor_add_snippet"; title: KDE.i18n("Add\nSnippet") }, - KPIM.ActionListItem { name : "snippetseditor_edit_snippet"; title: KDE.i18n("Edit\nSnippet") }, - KPIM.ActionListItem { name : "snippetseditor_delete_snippet"; title: KDE.i18n("Delete\nSnippet") }, - KPIM.ActionListItem { name : "snippetseditor_add_snippetgroup"; title: KDE.i18n("Add\nGroup") }, - KPIM.ActionListItem { name : "snippetseditor_edit_snippetgroup"; title: KDE.i18n("Edit\nGroup") }, - KPIM.ActionListItem { name : "snippetseditor_delete_snippetgroup"; title: KDE.i18n("Delete\nGroup") } - ] - - onTriggered: { - if ( triggeredName == "snippetseditor_insert_snippet" ) { - parent.doCollapse() - } - } - } - - onActionItemSpacingChanged : { - actionColumn.refresh(); - } - - onActionItemHeightChanged : { - actionColumn.refresh(); - } -} diff --git a/kdepim/mobile/mail/SnippetsList.qml b/kdepim/mobile/mail/SnippetsList.qml deleted file mode 100644 index 85c233ec..00000000 --- a/kdepim/mobile/mail/SnippetsList.qml +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde.pim.mobileui 4.5 as KPIM - - -QML.Item { - id : snippetsList_top - width : parent.width - - property string category - property string name - - property alias text : nameItem.buttonText - property alias totalWidth : _listContent.width - property alias columnHeight : _listContent.height - property alias depth : _listContent.bottomMargin - property alias actionItemHeight: _listContent.actionItemHeight - - property alias showChildren : _listContent.visible - signal triggered(string triggeredName) - signal doCollapse() - - onVisibleChanged : - { - if (!visible) - height = -actionItemSpacing - else - height = actionItemHeight - } - - - KPIM.Button { - id : nameItem - height : parent.height - width : parent.width - - onClicked : { - snippetsList_top.triggered(snippetsList_top.name) - showChildren = true - } - } - - SnippetsEditor { - id : _listContent - anchors.left : nameItem.right - anchors.bottom : nameItem.top - - property int bottomMargin - anchors.bottomMargin : bottomMargin - visible : false - - onTriggered : { - snippetsList_top.triggered(triggeredName) - } - - onDoCollapse : { - snippetsList_top.doCollapse(); - } - } -} diff --git a/kdepim/mobile/mail/acleditor.cpp b/kdepim/mobile/mail/acleditor.cpp deleted file mode 100644 index 50400d5c..00000000 --- a/kdepim/mobile/mail/acleditor.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "acleditor.h" - -#include -#include -#include -#include -#include - -#include -#include - -AclEditor::AclEditor( KActionCollection *actionCollection, QObject *parent ) - : QObject( parent ), mAclManager( new PimCommon::AclManager( this ) ) -{ - Akonadi::AttributeFactory::registerAttribute(); - - actionCollection->addAction( QLatin1String("acleditor_add"), mAclManager->addAction() ); - actionCollection->addAction( QLatin1String("acleditor_edit"), mAclManager->editAction() ); - actionCollection->addAction( QLatin1String("acleditor_delete"), mAclManager->deleteAction() ); -} - -void AclEditor::setCollection( const Akonadi::Collection &collection ) -{ - mCollection = collection; - - emit collectionChanged( mCollection ); -} - -QString AclEditor::collectionName() const -{ - if ( mCollection.isValid() ) - return mCollection.displayName(); - else - return QString(); -} - -bool AclEditor::collectionHasAcls() const -{ - if ( !mCollection.isValid() ) - return false; - - return mCollection.hasAttribute(); -} - -void AclEditor::load() -{ - mAclManager->setCollection( mCollection ); -} - -void AclEditor::save() -{ - mAclManager->save(); -} - -QAbstractItemModel* AclEditor::model() const -{ - return mAclManager->model(); -} - -void AclEditor::setRowSelected( int row ) -{ - const QAbstractItemModel *model = mAclManager->model(); - QItemSelectionModel *selectionModel = mAclManager->selectionModel(); - - Q_ASSERT( row >= 0 && row < model->rowCount() ); - - selectionModel->select( model->index( row, 0 ), QItemSelectionModel::ClearAndSelect ); -} - diff --git a/kdepim/mobile/mail/acleditor.h b/kdepim/mobile/mail/acleditor.h deleted file mode 100644 index 63919aac..00000000 --- a/kdepim/mobile/mail/acleditor.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef ACLEDITOR_H -#define ACLEDITOR_H - -#include - -#include - -namespace PimCommon { -class AclManager; -} - -class KActionCollection; -class QAbstractItemModel; -class QAction; - -/** - * @short The C++ part of the ACL editor for mobile apps. - * - * This class encapsulates the logic of the acl viewing/editing - * and the UI is provided by AclEditor.qml. - */ -class AclEditor : public QObject -{ - Q_OBJECT - - Q_PROPERTY( QString collectionName READ collectionName NOTIFY collectionChanged ) - Q_PROPERTY( bool collectionHasAcls READ collectionHasAcls NOTIFY collectionChanged ) - - public: - /** - * Creates a new ACL editor. - * - * @param actionCollection The action collection to register the manipulation - * actions (e.g. add, edit, delete) at - * @param parent The parent object. - */ - explicit AclEditor( KActionCollection *actionCollection, QObject *parent = 0 ); - - /** - * Sets the @p collection whose ACLs shall be edited. - * - * @note This does not load the collection into the editor, load - * must be called explicitly. - */ - void setCollection( const Akonadi::Collection &collection ); - - /** - * Returns the name of the current collection. - */ - QString collectionName() const; - - /** - * Returns whether the current collection provides ACLs. - * - * That's mostly only true for collections that represent IMAP folders. - */ - bool collectionHasAcls() const; - - public Q_SLOTS: - /** - * Loads the current collection into the editor. - */ - void load(); - - /** - * Saves changes to the ACLs back to the current collection. - */ - void save(); - - /** - * Returns the ACL list model of the current collection. - */ - QAbstractItemModel* model() const; - - /** - * Sets the row of the ACL the user has selected in the UI. - */ - void setRowSelected( int row ); - - Q_SIGNALS: - /** - * This signal is emitted whenever the current collection has been - * changed. - * - * @param collection The new current collection. - */ - void collectionChanged( const Akonadi::Collection &collection ); - - private: - PimCommon::AclManager *mAclManager; - Akonadi::Collection mCollection; -}; - -#endif diff --git a/kdepim/mobile/mail/add-attachment-button.png b/kdepim/mobile/mail/add-attachment-button.png deleted file mode 100644 index c13536a4bb42ee819ec4a37c50082f9ead6f9e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3650 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 U - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "attachmenteditor.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -AttachmentEditor::AttachmentEditor( KActionCollection *actionCollection, MessageComposer::AttachmentModel *model, - MessageComposer::AttachmentControllerBase *controller, QObject *parent ) - : QObject( parent ), - mModel( model ), - mSelectionModel( new QItemSelectionModel( mModel ) ), - mAttachmentController( controller ) -{ - mAddAction = actionCollection->action( QLatin1String("attach") ); - mAddAction->setText( i18n( "Add Attachment" ) ); - mDeleteAction = actionCollection->action( QLatin1String("remove") ); - mDeleteAction->setText( i18n( "Remove Attachment" ) ); - - mSignAction = new QAction( this ); - mSignAction->setText( i18n( "Sign" ) ); - mSignAction->setCheckable( true ); - connect( mSignAction, SIGNAL(triggered(bool)), SLOT(signAttachment(bool)) ); - - mEncryptAction = new QAction( this ); - mEncryptAction->setText( i18n( "Encrypt" ) ); - mEncryptAction->setCheckable( true ); - connect( mEncryptAction, SIGNAL(triggered(bool)), SLOT(encryptAttachment(bool)) ); - - actionCollection->addAction( QLatin1String("toggle_attachment_signed"), mSignAction ); - actionCollection->addAction( QLatin1String("toggle_attachment_encrypted"), mEncryptAction ); - - connect( mSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(selectionChanged()) ); - - selectionChanged(); -} - -void AttachmentEditor::setRowSelected( int row ) -{ - Q_ASSERT( row >= 0 && row < mModel->rowCount() ); - - mSelectionModel->select( mModel->index( row, 0, QModelIndex() ), QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows ); -} - -void AttachmentEditor::selectionChanged() -{ - mAddAction->setEnabled( true ); - - if ( mSelectionModel->hasSelection() ) { - mDeleteAction->setEnabled( true ); - mSignAction->setEnabled( true ); - mEncryptAction->setEnabled( true ); - - const QModelIndex signIndex = mModel->index( mSelectionModel->selectedIndexes().first().row(), MessageComposer::AttachmentModel::SignColumn ); - const QModelIndex encryptIndex = mModel->index( mSelectionModel->selectedIndexes().first().row(), MessageComposer::AttachmentModel::EncryptColumn ); - - mSignAction->setChecked( signIndex.data( Qt::CheckStateRole ).toBool() ); - mEncryptAction->setChecked( encryptIndex.data( Qt::CheckStateRole ).toBool() ); - } else { - mDeleteAction->setEnabled( false ); - mSignAction->setEnabled( false ); - mEncryptAction->setEnabled( false ); - } - - const QModelIndexList selectedRows = mSelectionModel->selectedRows(); - MessageCore::AttachmentPart::List selectedParts; - foreach( const QModelIndex &index, selectedRows ) { - const MessageCore::AttachmentPart::Ptr part = index.data( MessageComposer::AttachmentModel::AttachmentPartRole ).value(); - selectedParts.append( part ); - } - - mAttachmentController->setSelectedParts( selectedParts ); -} - -void AttachmentEditor::signAttachment( bool value ) -{ - if ( !mSelectionModel->hasSelection() ) - return; - - const QModelIndex index = mModel->index( mSelectionModel->selectedIndexes().first().row(), MessageComposer::AttachmentModel::SignColumn ); - mModel->setData( index, value, Qt::CheckStateRole ); -} - -void AttachmentEditor::encryptAttachment( bool value ) -{ - if ( !mSelectionModel->hasSelection() ) - return; - - const QModelIndex index = mModel->index( mSelectionModel->selectedIndexes().first().row(), MessageComposer::AttachmentModel::EncryptColumn ); - mModel->setData( index, value, Qt::CheckStateRole ); -} - diff --git a/kdepim/mobile/mail/attachmenteditor.h b/kdepim/mobile/mail/attachmenteditor.h deleted file mode 100644 index f839ea00..00000000 --- a/kdepim/mobile/mail/attachmenteditor.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef ATTACHMENTEDITOR_H -#define ATTACHMENTEDITOR_H - -#include - -namespace MessageComposer { -class AttachmentModel; -class AttachmentControllerBase; -} - -class KActionCollection; -class QAbstractItemModel; -class QAction; -class QItemSelectionModel; - -/** - * @short The C++ part of the attachment editor for mobile apps. - * - * This class encapsulates the logic of the attachment viewing/editing - * and the UI is provided by AttachmentEditor.qml. - */ -class AttachmentEditor : public QObject -{ - Q_OBJECT - - public: - /** - * Creates a new attachment editor. - * - * @param actionCollection The action collection to register the manipulation - * actions (e.g. add, delete, sign, encrypt) at. - * @param model The attachment model. - * @param controller The attachment controller to use for composing the message. - * @param parent The parent object. - */ - AttachmentEditor( KActionCollection *actionCollection, MessageComposer::AttachmentModel *model, - MessageComposer::AttachmentControllerBase *controller, QObject *parent = 0 ); - - public Q_SLOTS: - /** - * Sets the row of the attachment the user has selected in the UI. - */ - void setRowSelected( int row ); - - private Q_SLOTS: - void selectionChanged(); - void signAttachment( bool value ); - void encryptAttachment( bool value ); - - private: - MessageComposer::AttachmentModel *mModel; - QItemSelectionModel *mSelectionModel; - - MessageComposer::AttachmentControllerBase *mAttachmentController; - QAction *mAddAction; - QAction *mDeleteAction; - QAction *mSignAction; - QAction *mEncryptAction; -}; - -#endif diff --git a/kdepim/mobile/mail/attachmentproxymodel.cpp b/kdepim/mobile/mail/attachmentproxymodel.cpp deleted file mode 100644 index e837a31e..00000000 --- a/kdepim/mobile/mail/attachmentproxymodel.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "attachmentproxymodel.h" - -#include - -#include - -Q_DECLARE_METATYPE( KMime::Content* ) - -AttachmentProxyModel::AttachmentProxyModel( QObject* parent ) - : QSortFilterProxyModel( parent ), - m_nodeHelper( new MessageViewer::NodeHelper ) -{ - connect( this, SIGNAL(modelReset()), SLOT(slotModelReset()) ); -} - -AttachmentProxyModel::~AttachmentProxyModel() -{ - delete m_nodeHelper; -} - -bool AttachmentProxyModel::filterAcceptsRow( int sourceRow, const QModelIndex &sourceParent ) const -{ - const QModelIndex sourceIndex = sourceModel()->index( sourceRow, 0, sourceParent ); - const QString mimeType = sourceIndex.data( MessageViewer::MimeTreeModel::MimeTypeRole ).toString(); - - // filter out structutral nodes and crypto stuff - const QStringList blacklist = QStringList() - << QLatin1String( "application/pgp-encrypted" ) - << QLatin1String( "application/pkcs7-mime" ) - << QLatin1String( "application/pgp-signature" ) - << QLatin1String( "application/pkcs7-signature" ) - << QLatin1String( "application/x-pkcs7-signature" ); - if ( mimeType.startsWith( QLatin1String( "multipart/" ) ) || blacklist.contains( mimeType ) ) - return false; - - // filter out the main body part - if ( sourceIndex.data( MessageViewer::MimeTreeModel::MainBodyPartRole ).toBool() - || sourceIndex.data( MessageViewer::MimeTreeModel::AlternativeBodyPartRole ).toBool() ) { - return false; - } - - return QSortFilterProxyModel::filterAcceptsRow( sourceRow, sourceParent ); -} - -void AttachmentProxyModel::setSourceModel( QAbstractItemModel *sourceModel ) -{ - QSortFilterProxyModel::setSourceModel( sourceModel ); - - QHash names = roleNames(); - names.insert( MessageViewer::MimeTreeModel::MimeTypeRole, "mimeType" ); - names.insert( AttachmentProxyModel::AttachmentUrlRole, "attachmentUrl" ); - setRoleNames( names ); -} - -QVariant AttachmentProxyModel::data( const QModelIndex &index, int role ) const -{ - if ( role == AttachmentUrlRole ) { - KMime::Content *content = index.data( MessageViewer::MimeTreeModel::ContentRole ).value(); - return m_nodeHelper->writeNodeToTempFile( content ); - } - - return QSortFilterProxyModel::data( index, role ); -} - -void AttachmentProxyModel::slotModelReset() -{ - m_nodeHelper->removeTempFiles(); - m_nodeHelper->clear(); - // moc doesn't allow property NOTIFY to use signals in the base class apparently... - emit rowCountChanged(); -} - diff --git a/kdepim/mobile/mail/attachmentproxymodel.h b/kdepim/mobile/mail/attachmentproxymodel.h deleted file mode 100644 index 3de847a8..00000000 --- a/kdepim/mobile/mail/attachmentproxymodel.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MESSAGEVIEWER_ATTACHMENTPROXYMODEL_H -#define MESSAGEVIEWER_ATTACHMENTPROXYMODEL_H - -#include - -#include - -namespace MessageViewer { - class NodeHelper; -} - -/** - * @short A proxy model to provide roles for accessing attachment properties from QML. - */ -class AttachmentProxyModel : public QSortFilterProxyModel -{ - Q_OBJECT - Q_PROPERTY( int attachmentCount READ rowCount NOTIFY rowCountChanged ) - - public: - enum Role { - AttachmentUrlRole = MessageViewer::MimeTreeModel::UserRole - }; - - explicit AttachmentProxyModel( QObject *parent = 0 ); - ~AttachmentProxyModel(); - - bool filterAcceptsRow( int sourceRow, const QModelIndex &sourceParent ) const; - void setSourceModel( QAbstractItemModel *sourceModel ); - QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; - - Q_SIGNALS: - void rowCountChanged(); - - private Q_SLOTS: - void slotModelReset(); - - private: - MessageViewer::NodeHelper *m_nodeHelper; -}; - -#endif diff --git a/kdepim/mobile/mail/charsetselectiondialog.cpp b/kdepim/mobile/mail/charsetselectiondialog.cpp deleted file mode 100644 index f3526897..00000000 --- a/kdepim/mobile/mail/charsetselectiondialog.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "charsetselectiondialog.h" - -#include - -#include -#include - -CharsetSelectionDialog::CharsetSelectionDialog( QWidget *parent ) - : KDialog( parent ) -{ - setButtons( Ok | Cancel ); - - mCharsetCombo = new KComboBox; - setMainWidget( mCharsetCombo ); - - QStringList charsets = MessageViewer::NodeHelper::supportedEncodings( false ); - charsets.prepend( i18n( "Auto" ) ); - - mCharsetCombo->addItems( charsets ); -} - -CharsetSelectionDialog::~CharsetSelectionDialog() -{ -} - -void CharsetSelectionDialog::setCharset( const QString &charset ) -{ - for ( int i = 0; i < mCharsetCombo->count(); ++i ) { - if ( charset ==MessageViewer::NodeHelper::encodingForName( mCharsetCombo->itemText( i ) ) ) { - mCharsetCombo->setCurrentIndex( i ); - return; - } - } - - mCharsetCombo->setCurrentIndex( 0 ); -} - -QString CharsetSelectionDialog::charset() const -{ - if ( mCharsetCombo->currentIndex() == 0 ) - return QString(); - else - return MessageViewer::NodeHelper::encodingForName( mCharsetCombo->currentText() ); -} diff --git a/kdepim/mobile/mail/charsetselectiondialog.h b/kdepim/mobile/mail/charsetselectiondialog.h deleted file mode 100644 index b4e0bdfe..00000000 --- a/kdepim/mobile/mail/charsetselectiondialog.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CHARSETSELECTIONDIALOG_H -#define CHARSETSELECTIONDIALOG_H - -#include - -class KComboBox; - -/** - * @short A dialog to select a charset. - * - * This dialog is used to select an override charset - * for the message viewer. - */ -class CharsetSelectionDialog : public KDialog -{ - public: - /** - * Creates a new charset selection dialog. - * - * @param parent The parent widget. - */ - explicit CharsetSelectionDialog( QWidget *parent = 0 ); - - /** - * Destroys the charset selection dialog. - */ - ~CharsetSelectionDialog(); - - /** - * Sets the currently selected @p charset. - */ - void setCharset( const QString &charset ); - - /** - * Returns the currently selected charset. - */ - QString charset() const; - - private: - KComboBox *mCharsetCombo; -}; - -#endif diff --git a/kdepim/mobile/mail/composerautoresizer.cpp b/kdepim/mobile/mail/composerautoresizer.cpp deleted file mode 100644 index 8731384a..00000000 --- a/kdepim/mobile/mail/composerautoresizer.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (c) 2010 Anselmo Lacerda S. de Melo - Copyright (c) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "composerautoresizer.h" - -#include - -ComposerAutoResizer::ComposerAutoResizer( QTextEdit* parent ) - : QObject( parent ), - mComposer( parent ), - mFlickable( 0 ) -{ - Q_ASSERT( mComposer ); - - // detect when the text changes - connect( parent, SIGNAL(textChanged()), this, SLOT(textEditChanged()) ); - connect( parent, SIGNAL(cursorPositionChanged()), this, SLOT(textEditChanged()) ); -} - -QDeclarativeItem *ComposerAutoResizer::findFlickable( QGraphicsItem *parent ) const -{ - // looks for a QML Flickable Item based on the name of the class - // It's not optimal but it's the only way as - // QDeclarativeFlickable is not public - const QString flickableClassName( QLatin1String("QDeclarativeFlickable") ); - while ( parent ) { - QDeclarativeItem *item = qobject_cast( parent ); - if ( item ) { - if ( !flickableClassName.compare( QLatin1String(item->metaObject()->className()) ) ) { - return item; - } - } - parent = parent->parentItem(); - } - - return 0; -} - -void ComposerAutoResizer::textEditChanged() -{ - QTextDocument *document = mComposer->document(); - const QRect cursor = mComposer->cursorRect(); - const QSize size = document->size().toSize(); - const QRect frameRect = mComposer->frameRect(); - const QRect contentsRect = mComposer->contentsRect(); - - // sets the size of the widget dynamically - int minHeight = mComposer->property( "availableScreenHeight" ).toInt(); - mComposer->setMinimumHeight( qMax( minHeight, size.height() + (frameRect.height() - contentsRect.height()) ) ); - mComposer->setMaximumHeight( qMax( minHeight, size.height() + (frameRect.height() - contentsRect.height()) ) ); - - const QGraphicsProxyWidget *proxy = mComposer->graphicsProxyWidget(); - QGraphicsItem *proxyItem = proxy->parentItem(); - - // position of the widget - const QPointF pos = proxy->pos(); - - // make sure the cursor is visible so the user doesn't loose track of the kb focus - if ( mFlickable || (mFlickable = findFlickable( proxyItem )) ) { - const int dy = cursor.center().y(); - const int y = pos.y() + dy - minHeight; - if ( y >= 0 ) { - mFlickable->setProperty( "contentY", y ); - } else { - mFlickable->setProperty( "contentY", 0 ); - } - } -} - diff --git a/kdepim/mobile/mail/composerautoresizer.h b/kdepim/mobile/mail/composerautoresizer.h deleted file mode 100644 index cce5606d..00000000 --- a/kdepim/mobile/mail/composerautoresizer.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (c) 2010 Anselmo Lacerda S. de Melo - Copyright (c) 2010 Artur Duque de Souza - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef COMPOSERAUTORESIZER_H -#define COMPOSERAUTORESIZER_H - -#include -#include - -class ComposerAutoResizer : public QObject -{ - Q_OBJECT - - public: - explicit ComposerAutoResizer( QTextEdit *parent ); - - QDeclarativeItem *findFlickable( QGraphicsItem *parent ) const; - - private Q_SLOTS: - void textEditChanged(); - - private: - QTextEdit *mComposer; - QDeclarativeItem *mFlickable; -}; - -#endif diff --git a/kdepim/mobile/mail/composerview.cpp b/kdepim/mobile/mail/composerview.cpp deleted file mode 100644 index 36a7f879..00000000 --- a/kdepim/mobile/mail/composerview.cpp +++ /dev/null @@ -1,655 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "composerview.h" - -#include "attachmenteditor.h" -#include "composerautoresizer.h" -#include "cryptoformatselectiondialog.h" -#include "declarativeidentitycombobox.h" -#include "declarativewidgetbase.h" -#include "mobilekernel.h" -#include "settings.h" -#include "snippetseditor.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -class DeclarativeEditor : public DeclarativeWidgetBase -{ - Q_OBJECT - Q_PROPERTY( int availableScreenHeight READ availableScreenHeight WRITE setAvailableScreenHeight ) - public: - int availableScreenHeight() { return widget()->property( "availableScreenHeight" ).toInt(); } - void setAvailableScreenHeight( int height ) { widget()->setProperty( "availableScreenHeight", height ); } -}; - -typedef DeclarativeWidgetBase DeclarativeRecipientsEditor; - -QML_DECLARE_TYPE( DeclarativeEditor ) -QML_DECLARE_TYPE( DeclarativeIdentityComboBox ) -QML_DECLARE_TYPE( DeclarativeRecipientsEditor ) - -ComposerView::ComposerView(QWidget* parent) : - KDeclarativeFullScreenView( QLatin1String( "kmail-composer" ), parent ), - m_composerBase( 0 ), - m_jobCount( 0 ), - m_sign( false ), - m_encrypt( false ), - m_busy( false ), - m_draft( false ), - m_urgent( false ), - m_mdnRequested( Settings::self()->composerRequestMDN() ), - m_cryptoFormat( Kleo::AutoFormat ), - m_presetIdentity( 0 ), - m_mayAutoSign( true ) -{ - setSubject( QString() ); - setAttribute(Qt::WA_DeleteOnClose); -} - -void ComposerView::doDelayedInit() -{ - kDebug(); - qmlRegisterType( "org.kde.messagecomposer", 4, 5, "Editor" ); - qmlRegisterType( "org.kde.kpimidentities", 4, 5, "IdentityComboBox" ); - qmlRegisterType( "org.kde.messagecomposer", 4, 5, "RecipientsEditor" ); - - engine()->rootContext()->setContextProperty( QLatin1String("application"), QVariant::fromValue( static_cast( this ) ) ); - connect( this, SIGNAL(statusChanged(QDeclarativeView::Status)), SLOT(qmlLoaded(QDeclarativeView::Status)) ); - - m_snippetsEditor = new SnippetsEditor( actionCollection(), this ); - engine()->rootContext()->setContextProperty( QLatin1String("snippetsEditor"), m_snippetsEditor ); - engine()->rootContext()->setContextProperty( QLatin1String("snippetsModel"), m_snippetsEditor->model() ); - - // ### TODO: make this happens later to show the composer as fast as possible - m_composerBase = new MessageComposer::ComposerViewBase( this ); - m_composerBase->setIdentityManager( MobileKernel::self()->identityManager() ); - - // Temporarily only in c++, use from QML when ready. - MailTransport::TransportComboBox* transportCombo = new MailTransport::TransportComboBox( this ); - transportCombo->hide(); - m_composerBase->setTransportCombo( transportCombo ); - - /* - Akonadi::CollectionComboBox* fcc = new Akonadi::CollectionComboBox( this ); - fcc->setMimeTypeFilter( QStringList()<< "message/rfc822" ); - fcc->setAccessRightsFilter( Akonadi::Collection::CanCreateItem ); - fcc->setToolTip( i18n( "Select the sent-mail folder where a copy of this message will be saved" ) ); - fcc->hide(); - m_composerBase->setFccCombo( fcc ); - */ - - - connect( m_composerBase, SIGNAL(disableHtml(MessageComposer::ComposerViewBase::Confirmation)), - this, SLOT(disableHtml(MessageComposer::ComposerViewBase::Confirmation)) ); - connect( m_composerBase, SIGNAL(enableHtml()),this, SLOT(enableHtml()) ); - - connect( m_composerBase, SIGNAL(sentSuccessfully()), this, SLOT(sendSuccessful()) ); - connect( m_composerBase, SIGNAL(failed(QString)), this, SLOT(failed(QString)) ); - connect( m_composerBase, SIGNAL(sentSuccessfully()), this, SLOT(success()) ); - - MessageComposer::AttachmentModel* attachmentModel = new MessageComposer::AttachmentModel(this); - engine()->rootContext()->setContextProperty( QLatin1String("attachmentModel"), QVariant::fromValue( static_cast( attachmentModel ) ) ); - MessageComposer::AttachmentControllerBase* attachmentController = new MessageComposer::AttachmentControllerBase(attachmentModel, this, actionCollection()); - attachmentController->createActions(); - m_composerBase->setAttachmentModel( attachmentModel ); - m_composerBase->setAttachmentController( attachmentController ); - - AttachmentEditor *attachmentEditor = new AttachmentEditor( actionCollection(), attachmentModel, attachmentController, this ); - engine()->rootContext()->setContextProperty( QLatin1String("attachmentEditor"), attachmentEditor ); - - KAction *action = actionCollection()->addAction(QLatin1String("sign_email")); - action->setText( i18n( "Sign" ) ); - action->setIcon( KIcon( QLatin1String("document-sign") ) ); - action->setCheckable(true); - connect(action, SIGNAL(triggered(bool)), SLOT(signEmail(bool))); - - action = actionCollection()->addAction(QLatin1String("encrypt_email")); - action->setText( i18n( "Encrypt" ) ); - action->setIcon( KIcon( QLatin1String("mail-encrypt") ) ); - action->setCheckable(true); - connect(action, SIGNAL(triggered(bool)), SLOT(encryptEmail(bool))); - - action = actionCollection()->addAction( QLatin1String("send_later") ); - action->setText( i18n( "Send Later" ) ); - connect( action, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), SLOT(sendLater()) ); - - action = actionCollection()->addAction(QLatin1String("save_in_drafts")); - action->setText( i18n( "Save As Draft" ) ); - action->setIcon( KIcon( QLatin1String("document-save" )) ); - connect(action, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), SLOT(saveDraft())); - - action = actionCollection()->addAction(QLatin1String("save_as_template")); - action->setText( i18n( "Save As Template" ) ); - connect(action, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), SLOT(saveAsTemplate())); - - action = actionCollection()->addAction(QLatin1String("composer_clean_spaces")); - action->setText( i18n( "Clean Spaces" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_add_quote_char") ); - action->setText( i18n( "Add Quote Characters" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_remove_quote_char") ); - action->setText( i18n( "Remove Quote Characters" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_spell_check") ); - action->setText( i18n( "Check Spelling" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_search") ); - action->setText( i18n( "Search in Email" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_search_next") ); - action->setText( i18n( "Continue Search" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_replace") ); - action->setText( i18n( "Replace" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_append_signature") ); - action->setText( i18n( "Append Signature" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_prepend_signature") ); - action->setText( i18n( "Prepend Signature" ) ); - - action = actionCollection()->addAction( QLatin1String("composer_insert_signature") ); - action->setText( i18n( "Insert Signature at Cursor Position" ) ); - - action = actionCollection()->addAction( QLatin1String("options_mark_as_urgent") ); - action->setText( i18n( "Urgent" ) ); - action->setCheckable( true ); - connect( action, SIGNAL(triggered(bool)), SLOT(urgentEmail(bool)) ); - - action = actionCollection()->addAction( QLatin1String("options_request_mdn") ); - action->setText( i18n( "Request Notification" ) ); - action->setCheckable( true ); - action->setChecked( m_mdnRequested ); - connect( action, SIGNAL(triggered(bool)), SLOT(requestMdn(bool)) ); - - action = actionCollection()->addAction( QLatin1String("options_wordwrap") ); - action->setText( i18n( "Wordwrap" ) ); - action->setCheckable( true ); - action->setChecked( MessageComposer::MessageComposerSettings::self()->wordWrap() ); - connect( action, SIGNAL(triggered(bool)), SLOT(toggleAutomaticWordWrap(bool)) ); - - action = actionCollection()->addAction( QLatin1String("options_fixedfont") ); - action->setText( i18n( "Use Fixed Font" ) ); - action->setCheckable( true ); - action->setChecked( MessageViewer::GlobalSettings::self()->useFixedFont() ); - connect( action, SIGNAL(triggered(bool)), SLOT(toggleUseFixedFont(bool)) ); - - action = actionCollection()->addAction( QLatin1String("options_set_cryptoformat")); - action->setText( i18n( "Crypto Message Format" ) ); - connect( action, SIGNAL(triggered(bool)), SLOT(setCryptoFormat()) ); - - actionCollection()->action( QLatin1String("attach_public_key") )->setText( i18n( "Attach Public Key" ) ); - actionCollection()->action( QLatin1String("composer_insert_signature") )->setText( i18n( "Insert Signature at Cursor Position" ) ); -} - -void ComposerView::setIdentityCombo( KPIMIdentities::IdentityCombo* combo ) -{ - m_composerBase->setIdentityCombo( combo ); - - if ( m_presetIdentity != 0 ) { - m_currentIdentity = m_presetIdentity; - m_composerBase->identityCombo()->setCurrentIdentity( m_presetIdentity ); - } else { - m_currentIdentity = m_composerBase->identityCombo()->currentIdentity(); - } - - connect( combo, SIGNAL(identityChanged(uint)), SLOT(identityChanged(uint)) ); -} - -void ComposerView::qmlLoaded ( QDeclarativeView::Status status ) -{ - if ( status != QDeclarativeView::Ready ) - return; - - Q_ASSERT( m_composerBase ); - Q_ASSERT( m_composerBase->editor() ); - Q_ASSERT( m_composerBase->identityCombo() ); - Q_ASSERT( m_composerBase->recipientsEditor() ); - Q_ASSERT( m_composerBase->transportComboBox() ); - Q_ASSERT( m_composerBase->attachmentModel() ); - Q_ASSERT( m_composerBase->attachmentController() ); - -// kDebug() << m_identityCombo; -// kDebug() << m_editor; - - MessageComposer::SignatureController *signatureController = new MessageComposer::SignatureController( this ); - signatureController->setEditor( m_composerBase->editor() ); - signatureController->setIdentityCombo( m_composerBase->identityCombo() ); - signatureController->suspend(); // ComposerView::identityChanged will update the signature - m_composerBase->setSignatureController( signatureController ); - - if ( MessageComposer::MessageComposerSettings::self()->autoTextSignature() == QLatin1String( "auto" ) && m_mayAutoSign ) { - if ( MessageComposer::MessageComposerSettings::self()->prependSignature() ) { - QTimer::singleShot( 0, m_composerBase->signatureController(), SLOT(prependSignature()) ); - } else { - QTimer::singleShot( 0, m_composerBase->signatureController(), SLOT(appendSignature()) ); - } - } - - connect( actionCollection()->action( QLatin1String("composer_clean_spaces") ), SIGNAL(triggered(bool)), signatureController, SLOT(cleanSpace()) ); - connect( actionCollection()->action( QLatin1String("composer_append_signature") ), SIGNAL(triggered(bool)), signatureController, SLOT(appendSignature()) ); - connect( actionCollection()->action( QLatin1String("composer_prepend_signature") ), SIGNAL(triggered(bool)), signatureController, SLOT(prependSignature()) ); - connect( actionCollection()->action( QLatin1String("composer_insert_signature") ), SIGNAL(triggered(bool)), signatureController, SLOT(insertSignatureAtCursor()) ); - - toggleAutomaticWordWrap( actionCollection()->action( QLatin1String("options_wordwrap") )->isChecked() ); - toggleUseFixedFont( actionCollection()->action( QLatin1String("options_fixedfont") )->isChecked() ); - - m_composerBase->recipientsEditor()->setAutoResizeView( true ); - - connect( m_composerBase->recipientsEditor(), SIGNAL(lineAdded(KPIM::MultiplyingLine*)), - SIGNAL(recipientsCountChanged()) ); - connect( m_composerBase->recipientsEditor(), SIGNAL(lineDeleted(int)), - SIGNAL(recipientsCountChanged()) ); - - m_snippetsEditor->setEditor( m_composerBase->editor(), "insertPlainText", SIGNAL(insertSnippet()) ); - - if ( m_message ) - setMessage( m_message, m_mayAutoSign ); - - connect( MailTransport::TransportManager::self(), SIGNAL(transportsChanged()), SLOT(transportsChanged()) ); -} - -void ComposerView::setMessage(const KMime::Message::Ptr& msg, bool mayAutoSign) -{ - m_message = msg; - m_mayAutoSign = mayAutoSign; - if ( status() != QDeclarativeView::Ready ) - return; - - m_subject = msg->subject()->asUnicodeString(); - m_composerBase->setMessage( msg ); - - //###: See comment in setAutoSaveFileName - if ( !m_fileName.isEmpty() ) - m_composerBase->setAutoSaveFileName( m_fileName ); - - emit changed(); -} - -void ComposerView::send( MessageComposer::MessageSender::SendMethod method, MessageComposer::MessageSender::SaveIn saveIn ) -{ - kDebug(); - - if ( !m_composerBase->editor()->checkExternalEditorFinished() ) - return; - - if ( m_composerBase->recipientsEditor()->recipients().isEmpty() - && saveIn != MessageComposer::MessageSender::SaveInDrafts && saveIn != MessageComposer::MessageSender::SaveInTemplates ) { - KMessageBox::sorry( this, - i18n("You should specify at least one recipient for this message."), - i18n("No recipients found")); - return; - } - - if ( m_subject.isEmpty() && saveIn != MessageComposer::MessageSender::SaveInDrafts && saveIn != MessageComposer::MessageSender::SaveInTemplates ) { - const int rc = KMessageBox::questionYesNo( this, - i18n("You did not specify a subject. Do you want to send the message without specifying one?"), - i18n("No subject")); - if ( rc == KMessageBox::No) { - return; - } - } - - m_composerBase->setSubject( m_subject ); //needed by checkForMissingAttachments - - if ( Settings::self()->composerDetectMissingAttachments() && m_composerBase->checkForMissingAttachments( MessageComposer::Util::AttachmentKeywords() ) ) { - return; - } - - setBusy(true); - - const KPIMIdentities::Identity identity = m_composerBase->identityManager()->identityForUoidOrDefault( m_composerBase->identityCombo()->currentIdentity() ); - m_composerBase->setFrom( identity.fullEmailAddr() ); - m_composerBase->setReplyTo( identity.replyToAddr() ); - - if ( !identity.fcc().isEmpty() ) { - const Akonadi::Collection customSentFolder( identity.fcc().toLongLong() ); - m_composerBase->setFcc( customSentFolder ); - } - - m_composerBase->setCryptoOptions( m_sign, m_encrypt, m_cryptoFormat ); - - // Default till UI exists - // m_composerBase->setCharsets( ); - m_composerBase->setUrgent( m_urgent ); - m_composerBase->setMDNRequested( m_mdnRequested ); - - m_composerBase->send( method, saveIn ); -} - -QString ComposerView::subject() const -{ - return m_subject; -} - -void ComposerView::setSubject ( const QString& subject ) -{ - m_subject = subject; - - if ( !subject.isEmpty() ) - setWindowTitle( subject ); - else - setWindowTitle( i18n( "New mail" ) ); -} - -bool ComposerView::busy() const -{ - return m_busy; -} - -void ComposerView::setBusy(bool busy) -{ - if (m_busy == busy) - return; - - m_busy = busy; - emit busyChanged(); -} - -QObject* ComposerView::getAction( const QString &name ) const -{ - kDebug() << actionCollection() << actionCollection()->action( name ); - return actionCollection()->action( name ); -} - -void ComposerView::configureIdentity() -{ - KCMultiDialog dlg; - dlg.addModule( QLatin1String("kcm_kpimidentities") ); - dlg.currentPage()->setHeader( QLatin1String( "" ) ); // hide header to save space - dlg.setButtons( KDialog::Ok | KDialog::Cancel ); - dlg.exec(); -} - -void ComposerView::sendSuccessful() -{ - // Removed successfully sent messages from autosave - m_composerBase->cleanupAutoSave(); - deleteLater(); -} - -void ComposerView::configureTransport() -{ - KCMultiDialog dlg; - dlg.addModule( QLatin1String("kcm_mailtransport") ); - dlg.currentPage()->setHeader( QLatin1String( "" ) ); // hide header to save space - dlg.setButtons( KDialog::Ok | KDialog::Cancel ); - dlg.exec(); -} - -void ComposerView::addAttachment(KMime::Content* part) -{ - if ( part ) { - m_composerBase->addAttachmentPart( part ); - } -} - -void ComposerView::success() -{ - if (m_draft) { - m_draft = false; - return; - } -} - -void ComposerView::failed( const QString &errorMessage ) -{ - QPixmap pix = KIcon(QLatin1String("kmail-mobile")).pixmap(KIconLoader::SizeSmall, KIconLoader::SizeSmall); - KNotification *notify = new KNotification(QLatin1String("sendfailed")); - notify->setComponentData(KComponentData("kmail-mobile")); - notify->setPixmap(pix); - notify->setText(i18nc("Notification when there was an error while trying to send an email", - "Error while trying to send email. %1", errorMessage)); - notify->sendEvent(); - setBusy( false ); -} - -void ComposerView::transportsChanged() -{ - if ( m_composerBase->transportComboBox() ) - m_composerBase->transportComboBox()->setCurrentTransport( MailTransport::TransportManager::self()->defaultTransportId() ); -} - -void ComposerView::identityChanged( uint newIdentity ) -{ - const KPIMIdentities::Identity identity = MobileKernel::self()->identityManager()->identityForUoid( newIdentity ); - const KPIMIdentities::Identity oldIdentity = MobileKernel::self()->identityManager()->identityForUoid( m_currentIdentity ); - m_composerBase->identityChanged( identity, oldIdentity ); - - if ( !identity.isNull() && !identity.transport().isEmpty() ) { - if ( m_composerBase->transportComboBox() ) - m_composerBase->transportComboBox()->setCurrentTransport( identity.transport().toInt() ); - } - - m_currentIdentity = newIdentity; -} - -void ComposerView::setEditor( MessageComposer::KMeditor* editor ) -{ - new ComposerAutoResizer(editor); - m_composerBase->setEditor( editor ); - m_composerBase->editor()->createActions( actionCollection() ); - m_composerBase->editor()->setAutocorrection(MobileKernel::self()->composerAutoCorrection()); - connect( actionCollection()->action( QLatin1String("composer_add_quote_char") ), SIGNAL(triggered(bool)), m_composerBase->editor(), SLOT(slotAddQuotes()) ); - connect( actionCollection()->action( QLatin1String("composer_remove_quote_char") ), SIGNAL(triggered(bool)), m_composerBase->editor(), SLOT(slotRemoveQuotes()) ); - connect( actionCollection()->action( QLatin1String("composer_spell_check") ), SIGNAL(triggered(bool)), m_composerBase->editor(), SLOT(checkSpelling()) ); - connect( actionCollection()->action( QLatin1String("composer_search") ), SIGNAL(triggered(bool)), m_composerBase->editor(), SLOT(slotFind()) ); - connect( actionCollection()->action( QLatin1String("composer_search_next") ), SIGNAL(triggered(bool)), m_composerBase->editor(), SLOT(slotFindNext()) ); - connect( actionCollection()->action( QLatin1String("composer_replace") ), SIGNAL(triggered(bool)), m_composerBase->editor(), SLOT(slotReplace()) ); -} - -void ComposerView::setRecipientsEditor( MessageComposer::RecipientsEditor *editor ) -{ - m_composerBase->setRecipientsEditor( editor ); -} - -void ComposerView::closeEvent( QCloseEvent * event ) -{ - if ( m_composerBase->editor()->document()->isModified() || m_composerBase->recipientsEditor()->isModified() || !m_subject.isEmpty() ) { - const QString saveButton = i18n("&Save as Draft"); - const QString saveText = i18n("Save this message in the Drafts folder. "); - - const int rc = KMessageBox::warningYesNoCancel( this, - i18n("Do you want to save the message for later or discard it?"), - i18n("Close Composer"), - KGuiItem(saveButton, QLatin1String("document-save"), QString(), saveText), - KStandardGuiItem::discard(), - KStandardGuiItem::cancel() ); - - if ( rc == KMessageBox::Yes ) { - connect( m_composerBase, SIGNAL(sentSuccessfully()), this, SLOT(deleteLater()) ); - saveDraft(); - event->ignore(); - return; - } else if (rc == KMessageBox::Cancel ) { - event->ignore(); - return; - } else { - // remove autosaves if the message was discarded - m_composerBase->cleanupAutoSave(); - } - } else { - // discard empty autosave files as well - m_composerBase->cleanupAutoSave(); - } - - event->accept(); -} - -void ComposerView::sendLater() -{ - const MessageComposer::MessageSender::SendMethod method = MessageComposer::MessageSender::SendLater; - const MessageComposer::MessageSender::SaveIn saveIn = MessageComposer::MessageSender::SaveInNone; - send ( method, saveIn ); -} - -void ComposerView::saveDraft() -{ - const MessageComposer::MessageSender::SendMethod method = MessageComposer::MessageSender::SendLater; - const MessageComposer::MessageSender::SaveIn saveIn = MessageComposer::MessageSender::SaveInDrafts; - m_draft = true; - send ( method, saveIn ); -} - -void ComposerView::saveAsTemplate() -{ - const MessageComposer::MessageSender::SendMethod method = MessageComposer::MessageSender::SendLater; - const MessageComposer::MessageSender::SaveIn saveIn = MessageComposer::MessageSender::SaveInTemplates; - send ( method, saveIn ); -} - -bool ComposerView::isSigned() const -{ - return m_sign; -} - -bool ComposerView::isEncrypted() const -{ - return m_encrypt; -} - -bool ComposerView::tooManyRecipients() const -{ - const int threshold = Settings::self()->recipientThreshold(); - return (recipientsCount() > threshold); -} - -int ComposerView::recipientsCount() const -{ - if ( !Settings::self()->tooManyRecipients() ) - return 0; - - if ( !m_composerBase->recipientsEditor() ) - return 0; - - return m_composerBase->recipientsEditor()->recipients().count(); -} - -void ComposerView::setIdentity( uint identity ) -{ - // cache the value here, because the QML identity combobox has not been created yet - m_presetIdentity = identity; -} - -void ComposerView::signEmail( bool sign ) -{ - m_sign = sign; - emit cryptoStateChanged(); -} - -void ComposerView::encryptEmail( bool encrypt ) -{ - m_encrypt = encrypt; - emit cryptoStateChanged(); -} - -void ComposerView::toggleUseFixedFont( bool use ) -{ - m_composerBase->editor()->setFontForWholeText( use ? KGlobalSettings::fixedFont() : KGlobalSettings::generalFont() ); -} - -void ComposerView::toggleAutomaticWordWrap( bool use ) -{ - if ( use ) - m_composerBase->editor()->enableWordWrap( MessageComposer::MessageComposerSettings::self()->lineWrapWidth() ); - else - m_composerBase->editor()->disableWordWrap(); -} - -void ComposerView::setCryptoFormat() -{ - CryptoFormatSelectionDialog dlg( this ); - dlg.setCryptoFormat( m_cryptoFormat ); - - if ( dlg.exec() ) - m_cryptoFormat = dlg.cryptoFormat(); -} - -void ComposerView::enableHtml() -{ - m_composerBase->editor()->enableRichTextMode(); - m_composerBase->editor()->updateActionStates(); - m_composerBase->editor()->setActionsEnabled( true ); -} - -void ComposerView::disableHtml( MessageComposer::ComposerViewBase::Confirmation confirmation ) -{ - if ( confirmation == MessageComposer::ComposerViewBase::LetUserConfirm && m_composerBase->editor()->isFormattingUsed() ) { - int choice = KMessageBox::warningContinueCancel( this, i18n( "Turning HTML mode off " - "will cause the text to lose the formatting. Are you sure?" ), - i18n( "Lose the formatting?" ), KGuiItem( i18n( "Lose Formatting" ) ), KStandardGuiItem::cancel(), - QLatin1String("LoseFormattingWarning") ); - if ( choice != KMessageBox::Continue ) { - enableHtml(); - return; - } - } - - m_composerBase->editor()->switchToPlainText(); - m_composerBase->editor()->setActionsEnabled( false ); -} - -void ComposerView::setAutoSaveFileName(const QString &fileName) -{ - m_fileName = fileName; - //###: the idea is to set the filename directly in ComposerViewBase, - // but it is not working as expected yet. - //m_composerBase->setAutoSaveFileName( fileName ); -} - - -#include "composerview.moc" - diff --git a/kdepim/mobile/mail/composerview.h b/kdepim/mobile/mail/composerview.h deleted file mode 100644 index 35d0dd63..00000000 --- a/kdepim/mobile/mail/composerview.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef COMPOSERVIEW_H -#define COMPOSERVIEW_H - -#include "kdeclarativefullscreenview.h" -#include -#include -#include -#include - - -namespace KPIMIdentities -{ - class IdentityCombo; -} - -namespace Message -{ - class KMeditor; -} - -namespace MessageComposer -{ - class RecipientsEditor; -} - -class SnippetsEditor; - -/** The new KMMainWidget ;-) */ -class ComposerView : public KDeclarativeFullScreenView -{ - Q_OBJECT - Q_PROPERTY( QString subject READ subject WRITE setSubject NOTIFY changed ) - Q_PROPERTY( bool busy READ busy WRITE setBusy NOTIFY busyChanged ) - Q_PROPERTY( bool isSigned READ isSigned NOTIFY cryptoStateChanged ) - Q_PROPERTY( bool isEncrypted READ isEncrypted NOTIFY cryptoStateChanged ) - Q_PROPERTY( bool tooManyRecipients READ tooManyRecipients NOTIFY recipientsCountChanged ) - Q_PROPERTY( int recipientsCount READ recipientsCount NOTIFY recipientsCountChanged ) - - public: - explicit ComposerView(QWidget* parent = 0); - - void setIdentityCombo( KPIMIdentities::IdentityCombo* combo ); - - void setEditor( MessageComposer::KMeditor* editor ); - void setRecipientsEditor( MessageComposer::RecipientsEditor *editor ); - - QString subject() const; - void setSubject( const QString &subject ); - - bool busy() const; - void setBusy(bool busy); - void setAutoSaveFileName(const QString &fileName); - - bool isSigned() const; - bool isEncrypted() const; - - bool tooManyRecipients() const; - int recipientsCount() const; - - void setIdentity( uint ); - - public slots: - void setMessage( const KMime::Message::Ptr &msg, bool mayAutoSign = true ); - QObject* getAction( const QString &name ) const; - - /// Send clicked in the user interface - void send( MessageComposer::MessageSender::SendMethod method = MessageComposer::MessageSender::SendDefault, - MessageComposer::MessageSender::SaveIn saveIn = MessageComposer::MessageSender::SaveInNone ); - - void configureIdentity(); - void configureTransport(); - void sendSuccessful(); - - void enableHtml(); - void disableHtml( MessageComposer::ComposerViewBase::Confirmation confirmation ); - void addAttachment( KMime::Content* part ); - - signals: - void changed(); - void busyChanged(); - void cryptoStateChanged(); - void recipientsCountChanged(); - - private slots: - void qmlLoaded ( QDeclarativeView::Status ); - void success(); - void failed( const QString &errorMessage ); - void transportsChanged(); - void identityChanged( uint ); - - void signEmail( bool sign ); - void encryptEmail( bool encrypt ); - void urgentEmail ( bool urgent ) { m_urgent = urgent; } - void requestMdn( bool value ) { m_mdnRequested = value; } - - void toggleUseFixedFont( bool ); - void toggleAutomaticWordWrap( bool ); - void setCryptoFormat(); - - void sendLater(); - void saveDraft(); - void saveAsTemplate(); - - protected: - void doDelayedInit(); - void closeEvent ( QCloseEvent * event ); - - private: - MessageComposer::ComposerViewBase* m_composerBase; - QString m_subject; - KMime::Message::Ptr m_message; - int m_jobCount; - bool m_sign; - bool m_encrypt; - bool m_busy; - bool m_draft; - bool m_urgent; - bool m_mdnRequested; - QString m_fileName; - SnippetsEditor *m_snippetsEditor; - Kleo::CryptoMessageFormat m_cryptoFormat; - uint m_presetIdentity; - uint m_currentIdentity; - bool m_mayAutoSign; -}; - -#endif diff --git a/kdepim/mobile/mail/configwidget.cpp b/kdepim/mobile/mail/configwidget.cpp deleted file mode 100644 index 1a9692a5..00000000 --- a/kdepim/mobile/mail/configwidget.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "configwidget.h" - -#include "messagecomposer/settings/messagecomposersettings.h" -#include "messagelistsettings.h" -#include "messageviewer/settings/globalsettings.h" -#include "settings.h" -#include "stylesheetloader.h" -#include "templateparser/globalsettings_base.h" -#include "ui_configwidget.h" - -#include -#include -#include -#include -#include - -#include - -using namespace MessageComposer; - -ConfigWidget::ConfigWidget( QWidget *parent ) - : QWidget( parent ) -{ - Ui_ConfigWidget ui; - ui.setupUi( this ); - - ui.kcfg_ComposerTemplatesNewMessage->setProperty( "kcfg_property", QByteArray( "plainText" ) ); - ui.kcfg_ComposerTemplatesReplyToSender->setProperty( "kcfg_property", QByteArray( "plainText" ) ); - ui.kcfg_ComposerTemplatesReplyToAll->setProperty( "kcfg_property", QByteArray( "plainText" ) ); - ui.kcfg_ComposerTemplatesForwardMessage->setProperty( "kcfg_property", QByteArray( "plainText" ) ); - - { - QLineEdit *lineEdit = ui.kcfg_ComposerWordWrapColumn->findChild(); - if ( lineEdit ) - lineEdit->setReadOnly( true ); - } - - mManager = new KConfigDialogManager( this, Settings::self() ); - - connect( ui.configureCompletionOrderButton, SIGNAL(clicked()), - this, SLOT(configureCompletionOrder()) ); - connect( ui.editRecentAddressesButton, SIGNAL(clicked()), - this, SLOT(editRecentAddresses()) ); - - ui.howDoesThisWorkLabel->setText( i18n( "
How does this work?" ) ); - connect( ui.howDoesThisWorkLabel, SIGNAL(linkActivated(QString)), - this, SIGNAL(showTemplatesHelp()) ); - - ui.helpLabel->setVisible( false ); -} - -void ConfigWidget::load() -{ - loadFromExternalSettings(); - mManager->updateWidgets(); -} - -void ConfigWidget::save() -{ - mManager->updateSettings(); - saveToExternalSettings(); - - emit configChanged(); -} - -void ConfigWidget::configureCompletionOrder() -{ - KLDAP::LdapClientSearch search; - KPIM::CompletionOrderEditor editor( &search, 0 ); - editor.exec(); -} - -void ConfigWidget::editRecentAddresses() -{ - KPIM::RecentAddressDialog dlg( 0 ); - dlg.setAddresses( KPIM::RecentAddresses::self( MessageComposer::MessageComposerSettings::self()->config() )->addresses() ); - if ( dlg.exec() ) { - KPIM::RecentAddresses::self( MessageComposer::MessageComposerSettings::self()->config() )->clear(); - foreach ( const QString &address, dlg.addresses() ) { - KPIM::RecentAddresses::self( MessageComposer::MessageComposerSettings::self()->config() )->add( address ); - } - } -} - -void ConfigWidget::loadFromExternalSettings() -{ - // Appearance - Settings::self()->setAppearanceShowHtmlStatusBar( MessageViewer::GlobalSettings::showColorBar() ); - Settings::self()->setAppearanceReplaceSmileys( MessageViewer::GlobalSettings::showEmoticons() ); - Settings::self()->setAppearanceReduceQuotedFontSize( MessageViewer::GlobalSettings::shrinkQuotes() ); - - // Composer - Settings::self()->setComposerInsertSignature( MessageComposerSettings::self()->autoTextSignature() == QLatin1String( "auto" ) ); - Settings::self()->setComposertInsertSignatureAboveQuote( MessageComposerSettings::self()->prependSignature() ); - Settings::self()->setComposerPrependSeparator( MessageComposerSettings::self()->dashDashSignature() ); - Settings::self()->setComposerUseSmartQuoting( TemplateParser::GlobalSettings::self()->smartQuote() ); - Settings::self()->setComposerUseRecentAddressCompletion( MessageComposerSettings::self()->showRecentAddressesInComposer() ); - Settings::self()->setComposerWordWrapAtColumn( MessageComposerSettings::self()->wordWrap() ); - Settings::self()->setComposerWordWrapColumn( MessageComposerSettings::self()->lineWrapWidth() ); - Settings::self()->setComposerReplaceReplyPrefixes( MessageComposerSettings::self()->replaceReplyPrefix() ); - Settings::self()->setComposerReplaceForwardPrefixes( MessageComposerSettings::self()->replaceForwardPrefix() ); - Settings::self()->setComposerOutlookCompatibleNaming( MessageComposerSettings::self()->outlookCompatibleAttachments() ); - Settings::self()->setComposerTemplatesNewMessage( TemplateParser::GlobalSettings::self()->templateNewMessage() ); - Settings::self()->setComposerTemplatesReplyToSender( TemplateParser::GlobalSettings::self()->templateReply() ); - Settings::self()->setComposerTemplatesReplyToAll( TemplateParser::GlobalSettings::self()->templateReplyAll() ); - Settings::self()->setComposerTemplatesForwardMessage( TemplateParser::GlobalSettings::self()->templateForward() ); - - // Invitations - Settings::self()->setInvitationsOutlookCompatible( MessageViewer::GlobalSettings::self()->legacyMangleFromToHeaders() && - MessageViewer::GlobalSettings::self()->legacyBodyInvites() && - MessageViewer::GlobalSettings::self()->exchangeCompatibleInvitations() && - MessageViewer::GlobalSettings::self()->outlookCompatibleInvitationReplyComments() && - MessageViewer::GlobalSettings::self()->outlookCompatibleInvitationComparisons() ); - Settings::self()->setInvitationsAutomaticSending( MessageViewer::GlobalSettings::self()->automaticSending() ); - Settings::self()->setInvitationsDeleteAfterReply( MessageViewer::GlobalSettings::self()->deleteInvitationEmailsAfterSendingReply() ); - - // MDN - Settings::self()->setMDNPolicy( MessageViewer::GlobalSettings::self()->defaultPolicy() ); - Settings::self()->setMDNQuoteType( MessageViewer::GlobalSettings::self()->quoteMessage() ); -} - -void ConfigWidget::saveToExternalSettings() -{ - // Appearance - MessageViewer::GlobalSettings::self()->setShowColorBar( Settings::self()->appearanceShowHtmlStatusBar() ); - MessageViewer::GlobalSettings::self()->setShowEmoticons( Settings::self()->appearanceReplaceSmileys() ); - MessageViewer::GlobalSettings::self()->setShrinkQuotes( Settings::self()->appearanceReduceQuotedFontSize() ); - - // Composer - MessageComposerSettings::self()->setAutoTextSignature( Settings::self()->composerInsertSignature() ? QLatin1String("auto") : QLatin1String("manual") ); - MessageComposerSettings::self()->setPrependSignature( Settings::self()->composertInsertSignatureAboveQuote() ); - MessageComposerSettings::self()->setDashDashSignature( Settings::self()->composerPrependSeparator() ); - TemplateParser::GlobalSettings::self()->setSmartQuote( Settings::self()->composerUseSmartQuoting() ); - MessageComposerSettings::self()->setShowRecentAddressesInComposer( Settings::self()->composerUseRecentAddressCompletion() ); - MessageComposerSettings::self()->setWordWrap( Settings::self()->composerWordWrapAtColumn() ); - MessageComposerSettings::self()->setLineWrapWidth( Settings::self()->composerWordWrapColumn() ); - MessageComposerSettings::self()->setReplaceReplyPrefix( Settings::self()->composerReplaceReplyPrefixes() ); - MessageComposerSettings::self()->setReplaceForwardPrefix( Settings::self()->composerReplaceForwardPrefixes() ); - MessageComposerSettings::self()->setOutlookCompatibleAttachments( Settings::self()->composerOutlookCompatibleNaming() ); - TemplateParser::GlobalSettings::self()->setTemplateNewMessage( Settings::self()->composerTemplatesNewMessage() ); - TemplateParser::GlobalSettings::self()->setTemplateReply( Settings::self()->composerTemplatesReplyToSender() ); - TemplateParser::GlobalSettings::self()->setTemplateReplyAll( Settings::self()->composerTemplatesReplyToAll() ); - TemplateParser::GlobalSettings::self()->setTemplateForward( Settings::self()->composerTemplatesForwardMessage() ); - - // Invitations - MessageViewer::GlobalSettings::self()->setLegacyMangleFromToHeaders( Settings::self()->invitationsOutlookCompatible() ); - MessageViewer::GlobalSettings::self()->setLegacyBodyInvites( Settings::self()->invitationsOutlookCompatible() ); - MessageViewer::GlobalSettings::self()->setExchangeCompatibleInvitations( Settings::self()->invitationsOutlookCompatible() ); - MessageViewer::GlobalSettings::self()->setOutlookCompatibleInvitationReplyComments( Settings::self()->invitationsOutlookCompatible() ); - MessageViewer::GlobalSettings::self()->setOutlookCompatibleInvitationComparisons( Settings::self()->invitationsOutlookCompatible() ); - MessageViewer::GlobalSettings::self()->setAutomaticSending( Settings::self()->invitationsAutomaticSending() ); - MessageViewer::GlobalSettings::self()->setDeleteInvitationEmailsAfterSendingReply( Settings::self()->invitationsDeleteAfterReply() ); - - // MDN - MessageViewer::GlobalSettings::self()->setDefaultPolicy( Settings::self()->mDNPolicy() ); - MessageViewer::GlobalSettings::self()->setQuoteMessage( Settings::self()->mDNQuoteType() ); - - Settings::self()->writeConfig(); - MessageViewer::GlobalSettings::self()->writeConfig(); - TemplateParser::GlobalSettings::self()->writeConfig(); -} - - -DeclarativeConfigWidget::DeclarativeConfigWidget( QGraphicsItem *parent ) - : DeclarativeWidgetBase( parent ) -{ - connect( this, SIGNAL(configChanged()), widget(), SIGNAL(configChanged()) ); -} - -DeclarativeConfigWidget::~DeclarativeConfigWidget() -{ -} - -void DeclarativeConfigWidget::load() -{ - widget()->load(); -} - -void DeclarativeConfigWidget::save() -{ - widget()->save(); -} - diff --git a/kdepim/mobile/mail/configwidget.h b/kdepim/mobile/mail/configwidget.h deleted file mode 100644 index a1c43c02..00000000 --- a/kdepim/mobile/mail/configwidget.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef CONFIGWIDGET_H -#define CONFIGWIDGET_H - -#include "declarativewidgetbase.h" -#include "mainview.h" - -#include -#include - -class KConfigDialogManager; - -class ConfigWidget : public QWidget -{ - Q_OBJECT - - public: - explicit ConfigWidget( QWidget *parent = 0 ); - - public Q_SLOTS: - void load(); - void save(); - - private Q_SLOTS: - void configureCompletionOrder(); - void editRecentAddresses(); - - Q_SIGNALS: - void configChanged(); - void showTemplatesHelp(); - - private: - void loadFromExternalSettings(); - void saveToExternalSettings(); - - KConfigDialogManager *mManager; -}; - -class DeclarativeConfigWidget : -#ifndef Q_MOC_RUN -public DeclarativeWidgetBase -#else -public QGraphicsProxyWidget -#endif -{ - Q_OBJECT - - public: - explicit DeclarativeConfigWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeConfigWidget(); - - public Q_SLOTS: - void load(); - void save(); - - Q_SIGNALS: - void configChanged(); - - private: - ConfigWidget *mConfigWidget; -}; - -#endif diff --git a/kdepim/mobile/mail/configwidget.ui b/kdepim/mobile/mail/configwidget.ui deleted file mode 100644 index e2c6d8e8..00000000 --- a/kdepim/mobile/mail/configwidget.ui +++ /dev/null @@ -1,651 +0,0 @@ - - - ConfigWidget - - - - 0 - 0 - 450 - 1452 - - - - - - - - - - 75 - true - - - - Appearance - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - - Show HTML statusbar - - - - - - - Replace smileys by emoticons - - - - - - - Reduce font size for quoted text - - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - 75 - true - - - - Composer - - - - - - - - - Automatically insert signature - - - - - - - Insert signature above quoted text - - - - - - - Prepend separator to signature - - - - - - - Use smart quoting - - - - - - - Automatically request MDN - - - - - - - Use recent addresses for autocompletion - - - - - - - - - Word wrap at column - - - - - - - false - - - 30 - - - 998 - - - 78 - - - - - - - - - Configure completion order - - - - - - - Edit recent addresses - - - - - - - - - - - Replace recognized reply prefixes - - - - - - - Replace recognized forward prefixes - - - - - - - Outlook compatible attachment naming - - - - - - - Enable detection of missing attachments - - - - - - - - - - - - 75 - true - - - - Templates - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - New Message: - - - - - - - - 0 - 0 - - - - - 16777215 - 80 - - - - QTextEdit::NoWrap - - - false - - - - - - - - 0 - 0 - - - - - 16777215 - 80 - - - - QTextEdit::NoWrap - - - false - - - - - - - Reply to All / Reply to List: - - - - - - - - 0 - 0 - - - - - 16777215 - 80 - - - - QTextEdit::NoWrap - - - false - - - - - - - Forward Message: - - - - - - - - 0 - 0 - - - - - 16777215 - 80 - - - - QTextEdit::NoWrap - - - false - - - - - - - - - How does this work? - - - Qt::TextBrowserInteraction - - - - - - - - - - - - - - - - Reply to Sender: - - - - - - - - - - - - - - 75 - true - - - - Invitations - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - - Outlook compatible invitations - - - - - - - Automatic invitation sending - - - - - - - Delete invitation emails after the reply -to them has been sent - - - - - - - - - - - - - - 75 - true - - - - Misc - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Empty local trash folder on program exit - - - - - - - - - Close to quota threshold: - - - - - - - % - - - 1 - - - 100 - - - - - - - - - - - - - - 75 - true - - - - Message Disposition Notifications - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Send policy: - - - - - - - - Ignore - - - - - Ask - - - - - Deny - - - - - Always send - - - - - - - - Quote original message: - - - - - - - - Nothing - - - - - Full message - - - - - Only headers - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 40 - - - - - - - - - KTextEdit - QTextEdit -
ktextedit.h
-
-
- - - - kcfg_ComposerWordWrapAtColumn - toggled(bool) - kcfg_ComposerWordWrapColumn - setEnabled(bool) - - - 155 - 382 - - - 222 - 379 - - - - -
diff --git a/kdepim/mobile/mail/cryptoformatselectiondialog.cpp b/kdepim/mobile/mail/cryptoformatselectiondialog.cpp deleted file mode 100644 index edf6f4a9..00000000 --- a/kdepim/mobile/mail/cryptoformatselectiondialog.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "cryptoformatselectiondialog.h" - -#include -#include - -CryptoFormatSelectionDialog::CryptoFormatSelectionDialog( QWidget *parent ) - : KDialog( parent ) -{ - setButtons( Ok | Cancel ); - - mCryptoFormatCombo = new KComboBox; - setMainWidget( mCryptoFormatCombo ); - - for ( int i = 0; i < numCryptoMessageFormats; ++i ) { - if ( cryptoMessageFormats[ i ] != Kleo::InlineOpenPGPFormat ) // deprecated - mCryptoFormatCombo->addItem( Kleo::cryptoMessageFormatToLabel( cryptoMessageFormats[ i ] ), static_cast( cryptoMessageFormats[ i ] ) ); - } -} - -CryptoFormatSelectionDialog::~CryptoFormatSelectionDialog() -{ -} - -void CryptoFormatSelectionDialog::setCryptoFormat( Kleo::CryptoMessageFormat format ) -{ - mCryptoFormatCombo->setCurrentIndex( mCryptoFormatCombo->findData( static_cast( format ) ) ); -} - -Kleo::CryptoMessageFormat CryptoFormatSelectionDialog::cryptoFormat() const -{ - return static_cast( mCryptoFormatCombo->itemData( mCryptoFormatCombo->currentIndex() ).toInt() ); -} diff --git a/kdepim/mobile/mail/cryptoformatselectiondialog.h b/kdepim/mobile/mail/cryptoformatselectiondialog.h deleted file mode 100644 index 1601ec4a..00000000 --- a/kdepim/mobile/mail/cryptoformatselectiondialog.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef CRYPTOFORMATSELECTIONDIALOG_H -#define CRYPTOFORMATSELECTIONDIALOG_H - -#include - -#include - -class KComboBox; - -/** - * @short A dialog to select a crypto format. - * - * This dialog is used to select a crypto format - * for the message viewer. - */ -class CryptoFormatSelectionDialog : public KDialog -{ - public: - /** - * Creates a new crypto format selection dialog. - * - * @param parent The parent widget. - */ - explicit CryptoFormatSelectionDialog( QWidget *parent = 0 ); - - /** - * Destroys the crypto format selection dialog. - */ - ~CryptoFormatSelectionDialog(); - - /** - * Sets the currently selected @p crypto format. - */ - void setCryptoFormat( Kleo::CryptoMessageFormat format ); - - /** - * Returns the currently selected crypto format. - */ - Kleo::CryptoMessageFormat cryptoFormat() const; - - private: - KComboBox *mCryptoFormatCombo; -}; - -#endif diff --git a/kdepim/mobile/mail/declarativeidentitycombobox.cpp b/kdepim/mobile/mail/declarativeidentitycombobox.cpp deleted file mode 100644 index 7349d49b..00000000 --- a/kdepim/mobile/mail/declarativeidentitycombobox.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#include "declarativeidentitycombobox.h" -#include "mobilekernel.h" - -#include - -#include - -DeclarativeIdentityComboBox::DeclarativeIdentityComboBox ( QDeclarativeItem* parent ) : - DeclarativeWidgetBase< KPIMIdentities::IdentityCombo, ComposerView, &ComposerView::setIdentityCombo> - ( new KPIMIdentities::IdentityCombo( MobileKernel::self()->identityManager(), 0 ), parent ) -{ -} - diff --git a/kdepim/mobile/mail/declarativeidentitycombobox.h b/kdepim/mobile/mail/declarativeidentitycombobox.h deleted file mode 100644 index 24a5da83..00000000 --- a/kdepim/mobile/mail/declarativeidentitycombobox.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef DECLARATIVEIDENTITYCOMBOBOX_H -#define DECLARATIVEIDENTITYCOMBOBOX_H - -#include "declarativewidgetbase.h" -#include "composerview.h" - -#include - -class QDeclarativeItem; - -class DeclarativeIdentityComboBox : public DeclarativeWidgetBase -{ - Q_OBJECT - public: - explicit DeclarativeIdentityComboBox( QDeclarativeItem *parent = 0 ); -}; - -#endif // DECLRARATIVEIDENTITYCOMBOBOX_H - diff --git a/kdepim/mobile/mail/docs/CMakeLists.txt b/kdepim/mobile/mail/docs/CMakeLists.txt deleted file mode 100644 index 29471ce8..00000000 --- a/kdepim/mobile/mail/docs/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -install(FILES en/templateshelp.html DESTINATION ${DATA_INSTALL_DIR}/kontact-touch/en/mail/) -install(FILES de/templateshelp.html DESTINATION ${DATA_INSTALL_DIR}/kontact-touch/de/mail/) diff --git a/kdepim/mobile/mail/docs/de/templateshelp.html b/kdepim/mobile/mail/docs/de/templateshelp.html deleted file mode 100644 index 22933910..00000000 --- a/kdepim/mobile/mail/docs/de/templateshelp.html +++ /dev/null @@ -1,313 +0,0 @@ - - -

Hier können Sie Vorlagen erstellen und verwalten, die beim
- Erstellen, Antworten und Weiterleiten von Nachrichten verwendet werden.

-

Die Nachrichtenvorlagen unterstützen Ersetzungsbefehle, die zusammen mit
- den benutzerdefinierten Texten in die oberen Textfelder eingesetzt werden können.

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ursprüngliche Nachricht
BefehlBeschreibung
%QUOTEZitierter Nachrichtentext
%TEXTOriginal-Nachrichtentext
%OMSGIDNachrichtenkennung (Message ID)
%ODATEDatum
%ODATESHORTDatum im Kurzformat
%ODATEENDatum in C-Lokalisierung
%ODOWWochentag
%OTIMEUhrzeit
%OTIMELONGZeit im Langformat
%OTIMELONGENZeit im Langformat
%OTOADDRAdresse im „An“-Feld
%OTONAMEName im „An“-Feld
%OTOFNAMEVorname im „An“-Feld
%OTOLNAMENachname im „An“-Feld
%OCCADDRAdresse im „Kopie“-Feld
%OCCNAMEName im „Kopie“-Feld
%OCCFNAMEVorname im „Kopie“-Feld
%OCCLNAMENachname im „Kopie“-Feld
%OFROMADDRAdresse im „Von“-Feld
%OFROMNAMEName im „Von“-Feld
%OFROMFNAMEVorname im „Von“-Feld
%OFROMLNAMENachname im „Von“-Feld
%OADDRESSEESADDRAdressen aller Empfänger
%OFULLSUBJECTBetreff
%QHEADERSNachrichtenvorspann (als Zitat)
%HEADERSNachrichtenvorspann (unverändert)
%OHEADER=header-nameInhalt des Nachrichtenvorspanns
Aktuelle Nachricht
BefehlBeschreibung
%MSGIDNachrichtenkennung (Message ID)
%DATEDatum
%DATESHORTDatum im Kurzformat
%DATEENDatum in C-Lokalisierung
%DOWWochentag
%TIMEUhrzeit
%TIMELONGZeit im Langformat
%TIMELONGENZeit in C-Lokalisierung
%TOADDRAdresse im „An“-Feld
%TONAMEName im „An“-Feld
%TOFNAMEVorname im „An“-Feld
%TOLNAMENachname im „An“-Feld
%CCADDRAdresse im „Kopie“-Feld
%CCNAMEName im „Kopie“-Feld
%CCFNAMEVorname im „Kopie“-Feld
%CCLNAMENachname im „Kopie“-Feld
%FROMADDRAdresse im „Von“-Feld
%FROMNAMEName im „Von“-Feld
%FROMFNAMEVorname im „Von“-Feld
%FROMLNAMENachname im „Von“-Feld
%FULLSUBJECTBetreff
%HEADER=header-nameInhalt des Nachrichtenvorspanns
Mit externem Programm vorverarbeiten
BefehlBeschreibung
%SYSTEM=commandAusgabe des Programms einsetzen
%QUOTEPIPE=commandText der Originalnachricht an Programm übergeben und Ergebnis als Zitat einfügen
%TEXTPIPE=commandText der Originalnachricht an Programm übergeben und Ergebnis einfügen
%MSGPIPE=commandOriginalnachricht mit Vorspann an Programm übergeben und Ergebnis einfügen
%BODYPIPE=commandText dieser Nachricht an Programm übergeben und Ergebnis einfügen
%CLEARPIPE=commandText dieser Nachricht an Programm übergeben und durch Ergebnis ersetzen
Diverses
BefehlBeschreibung
%SIGNATURESignatur
%INSERT=file nameDateiinhalt einfügen
%-Verwerfen bis zur nächsten Zeile
%REM=commentKommentar zur Vorlage
%NOPKeine Aktion
%CLEARErzeugte Nachricht löschen
%DEBUGFehlersuche einschalten
%DEBUGOFFFehlersuche ausschalten
- - diff --git a/kdepim/mobile/mail/docs/en/templateshelp.html b/kdepim/mobile/mail/docs/en/templateshelp.html deleted file mode 100644 index a55fb338..00000000 --- a/kdepim/mobile/mail/docs/en/templateshelp.html +++ /dev/null @@ -1,313 +0,0 @@ - - -

Here you can create and manage templates to use when
- composing new messages, replies or forwarded messages.

-

The message templates support substitution commands,
- which can be used together with custom text inside the above text fields.

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Original Message
CommandDescription
%QUOTEQuoted Message Text
%TEXTMessage Text as Is
%OMSGIDMessage Id
%ODATEDate
%ODATESHORTDate in Short Format
%ODATEENDate in C Locale
%ODOWDay of Week
%OTIMETime
%OTIMELONGTime in Long Format
%OTIMELONGENTime in C Locale
%OTOADDRTo Field Address
%OTONAMETo Field Name
%OTOFNAMETo Field First Name
%OTOLNAMETo Field Last Name
%OCCADDRCC Field Address
%OCCNAMECC Field Name
%OCCFNAMECC Field First Name
%OCCLNAMECC Field Last Name
%OFROMADDRFrom Field Address
%OFROMNAMEFrom Field Name
%OFROMFNAMEFrom Field First Name
%OFROMLNAMEFrom Field Last Name
%OADDRESSEESADDRAddresses of all recipients
%OFULLSUBJECTSubject
%QHEADERSQuoted Headers
%HEADERSHeaders as Is
%OHEADER=header-nameHeader Content
Current Message
CommandDescription
%MSGIDMessage Id
%DATEDate
%DATESHORTDate in Short Format
%DATEENDate in C Locale
%DOWDay of Week
%TIMETime
%TIMELONGTime in Long Format
%TIMELONGENTime in C Locale
%TOADDRTo Field Address
%TONAMETo Field Name
%TOFNAMETo Field First Name
%TOLNAMETo Field Last Name
%CCADDRCC Field Address
%CCNAMECC Field Name
%CCFNAMECC Field First Name
%CCLNAMECC Field Last Name
%FROMADDRFrom Field Address
%FROMNAMEFrom Field Name
%FROMFNAMEFrom Field First Name
%FROMLNAMEFrom Field Last Name
%FULLSUBJECTSubject
%HEADER=header-nameHeader Content
Process with External Program
CommandDescription
%SYSTEM=commandArbitrary Command
%QUOTEPIPE=commandPipe Original Message Body and Insert Result as Quoted Text
%TEXTPIPE=commandPipe Original Message Body and Insert Result as Is
%MSGPIPE=commandPipe Original Message with Headers and Insert Result as Is
%BODYPIPE=commandPipe Current Message Body and Insert Result as Is
%CLEARPIPE=commandPipe Current Message Body and Replace with Result
Miscellaneous
CommandDescription
%SIGNATURESignature
%INSERT=file nameInsert File Content
%-Discard to Next Line
%REM=commentTemplate Comment
%NOPNo Operation
%CLEARClear Generated Message
%DEBUGTurn Debug On
%DEBUGOFFTurn Debug Off
- - diff --git a/kdepim/mobile/mail/dummy-avatar.png b/kdepim/mobile/mail/dummy-avatar.png deleted file mode 100644 index 7eff69dd7dca1909e98adcbdcf464747dbe85a5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2213 zcmV;W2wL}vP)vUa&CSiv&(G4*($&?~+S=OWlLt=(Kw}({|S(wumKtkMJK`*3D9u34$O9f*=TjAP9mW2!bF8f*=TjAP9mW z2m%I1Df0l~u?5@`+QWMXukKGUc&%6MSXLOC|DrQp#4l?FfHn=!_h$A6Tu+ z-FAZi;8H0oLOrBXS$iJge;9X}$Ys^ObKrwJWV|27hg7>8_~LezRoXB;U@GhUrTYFb zZa0T2(@L`w%;?s^d?t53wWZ}Hm@0aBnQ^;m_*i_ajsq;ioeCau>3t8&8BTi!zP+j( z1mSidZ@N@FLMZyZrmaNtP2+G*fRZDFkFw;TFxni%D>L3DBL($5s_8vnl z7z%m`30;j4hYLBeY~~;qJ8EW2<*xmy9F?T0>Z5A~w>=HDY%#_cYba=l z6(=)8R4lU#g38yq}B8!*@A3HfiD*cDz zI1ou_*qJ2;Q-g@*ZQqX|*KlR_9dZhB!)xjWegtt!y19^8|!8zSCA3O}9Da_|JY*--u((n!HS$Msay#x~>zQOEo6bhY$$GsN=ahmzo0EE8#z9nER*aXizW z=Hz^Rki@%xJRPH!-;rHl5xzX_GOAmOB6tr+x_e}TJEl}-lcJdTobWoQ;GNzrE# zMXS}m?FV=>kGq(FQdyJVUZ71hul6pQr&12q#7f^qqinr0r9STB zX}>bL%)?DMxjU?qVOOZt*e-=f#U^(+p3QcC^M>(Z4P^?5X_2xneS;arZ7=g}e=DpRk>Nq_Bm z?Ar|CIzA57aeIgKai=n}_hnR>`l0&eI`&P(K-;J)AAu5=Hj-RcmH7nJxHLL~?b6w4 z1d8;*>)2K`4u~>zCg|ZZc5?^1oQr^#OBWX)&8-f06?N%=IAf?)1-iTed8ROGnY{xB zjCBaR6>;^%y6jefk$70k30L57Exw2-E74X$v-BdyZeU*%O9!?@*$uE-7EV1y+IhJW zPRp!T2U||8#9B1?)UbLC7Y_4O2VP<=ig?t9 zmsr~+zJs~)5^G#AC)SiBFR_+bcwYYdlO?MQ95=CEAFInJ?-$}dbo|76^=PRM81kys zx^Wci{!#{z=fQgQXgQu@y<)X=15DY>e-QCTSF8;u<~^o~=X(oZ$ZByau6||qRxNYk zE7shFKAc({erIOgg0sn*U76;W$y(sVtDdu1b7##v&SK4rcx*9p77N-r_t3Dm?=#&} zjtS*onU!4TR$TqctYWL~d5blxQ44Df>uR6F87uDWe&8+EoPftLYs>nb857erbI)N` zbjaOv0LZn3(ca9+|M4wW{A5Pag3GVDzcV9Q%H7SH(-F_D`~8oOmXQRFHwRw}Z|XaH zvAkEl>XyA${tXXYn~gqYw6tWi{4-isN<01;E%{gBkN;l_Ct~@2F6Z6n@DtB!n5o3g z@^-Yu&6?q8iJSGrvpGbvSx-DOTKXbV`De7mb9iv~>ZFkb%?#f`>R=yuRl}qXHY4vK zIfog~p^?YXJCv4c#ZNq%LnJbs5gnRZWcpwyVuck;+$?{wY;hF6Q+Wi3RteupYq_!@ n2!bF8f*=TjAP52z{t;jR+5Gpnfqhs}00000NkvXXu0mjfbFWYp diff --git a/kdepim/mobile/mail/emailsexporthandler.cpp b/kdepim/mobile/mail/emailsexporthandler.cpp deleted file mode 100644 index f29ea344..00000000 --- a/kdepim/mobile/mail/emailsexporthandler.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "emailsexporthandler.h" - -#include -#include -#include -#include -#include - -QString EmailsExportHandler::dialogText() const -{ - return i18n( "Which emails shall be exported?" ); -} - -QString EmailsExportHandler::dialogAllText() const -{ - return i18n( "All Emails" ); -} - -QString EmailsExportHandler::dialogLocalOnlyText() const -{ - return i18n( "Emails in current folder" ); -} - -QStringList EmailsExportHandler::mimeTypes() const -{ - return QStringList( KMime::Message::mimeType() ); -} - -bool EmailsExportHandler::exportItems( const Akonadi::Item::List &items ) -{ - QList messages; - - foreach ( const Akonadi::Item &item, items ) { - if ( item.hasPayload() ) - messages << item.payload(); - } - - const QString fileName = KFileDialog::getSaveFileName( KUrl( QLatin1String( "emails.mbox" ) ), QLatin1String( "*.mbox" ) ); - if ( fileName.isEmpty() ) // user canceled export - return true; - - KMBox::MBox mbox; - if ( !mbox.load( fileName ) ) { - KMessageBox::error( 0, i18n( "Unable to open MBox file %1", fileName ) ); - return false; - } - - foreach ( const KMime::Message::Ptr &message, messages ) { - mbox.appendMessage( message ); - } - - if ( !mbox.save() ) { - KMessageBox::error( 0, i18n( "Unable to save emails to MBox file %1", fileName ) ); - return false; - } - - return true; -} diff --git a/kdepim/mobile/mail/emailsexporthandler.h b/kdepim/mobile/mail/emailsexporthandler.h deleted file mode 100644 index 27e6edbf..00000000 --- a/kdepim/mobile/mail/emailsexporthandler.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EMAILSEXPORTHANDLER_H -#define EMAILSEXPORTHANDLER_H - -#include "../lib/exporthandlerbase.h" - -class EmailsExportHandler : public ExportHandlerBase -{ - protected: - virtual QString dialogText() const; - virtual QString dialogAllText() const; - virtual QString dialogLocalOnlyText() const; - - virtual QStringList mimeTypes() const; - virtual bool exportItems( const Akonadi::Item::List &items ); -}; - -#endif diff --git a/kdepim/mobile/mail/emailsfilterproxymodel.cpp b/kdepim/mobile/mail/emailsfilterproxymodel.cpp deleted file mode 100644 index 34d5d3c1..00000000 --- a/kdepim/mobile/mail/emailsfilterproxymodel.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "emailsfilterproxymodel.h" - -#include -#include - -static bool emailMatchesFilter( const KMime::Message::Ptr &message, const QString &filterString ); - -using namespace Akonadi; - -class EmailsFilterProxyModel::Private -{ - public: - QString mFilter; -}; - -EmailsFilterProxyModel::EmailsFilterProxyModel( QObject *parent ) - : QSortFilterProxyModel( parent ), d( new Private ) -{ - setSortLocaleAware( true ); - setDynamicSortFilter( true ); -} - -EmailsFilterProxyModel::~EmailsFilterProxyModel() -{ - delete d; -} - -void EmailsFilterProxyModel::setFilterString( const QString &filter ) -{ - d->mFilter = filter; - invalidateFilter(); -} - -bool EmailsFilterProxyModel::filterAcceptsRow( int row, const QModelIndex &parent ) const -{ - if ( d->mFilter.isEmpty() ) - return true; - - const QModelIndex index = sourceModel()->index( row, 0, parent ); - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.hasPayload() ) { - const KMime::Message::Ptr message = item.payload(); - return emailMatchesFilter( message, d->mFilter ); - } - - return true; -} - -static bool emailMatchesFilter( const KMime::Message::Ptr &message, const QString &filterString ) -{ - if ( message->subject()->asUnicodeString().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - foreach ( const KMime::Types::Mailbox &mailbox, message->from()->mailboxes() ) { - if ( mailbox.hasName() ) { - if ( mailbox.name().contains( filterString, Qt::CaseInsensitive ) ) - return true; - } else { - if ( mailbox.addrSpec().asPrettyString().contains( filterString, Qt::CaseInsensitive ) ) - return true; - } - } - - return false; -} - diff --git a/kdepim/mobile/mail/emailsfilterproxymodel.h b/kdepim/mobile/mail/emailsfilterproxymodel.h deleted file mode 100644 index 892b4cbf..00000000 --- a/kdepim/mobile/mail/emailsfilterproxymodel.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EMAILSFILTERPROXYMODEL_H -#define EMAILSFILTERPROXYMODEL_H - -#include - -namespace Akonadi { - -/** - * @short A proxy model for \a EntityTreeModel based email models. - * - * This class provides a filter proxy model for a EntityTreeModel. - * The list of shown emails can be limited by settings a filter pattern. - * Only emails that contain this pattern as part of their data will be listed. - * - * Example: - * - * @code - * - * Akonadi::EmailsFilterProxyModel *filter = new Akonadi::EmailsFilterProxyModel; - * filter->setSourceModel( model ); - * - * Akonadi::EntityTreeView *view = new Akonadi::EntityTreeView; - * view->setModel( filter ); - * - * QLineEdit *filterEdit = new QLineEdit; - * connect( filterEdit, SIGNAL( textChanged( const QString& ) ), - * filter, SLOT( setFilterString( const QString& ) ) ); - * - * @endcode - * - * @author Tobias Koenig - */ -class EmailsFilterProxyModel : public QSortFilterProxyModel -{ - Q_OBJECT - - public: - /** - * Creates a new emails filter proxy model. - * - * @param parent The parent object. - */ - explicit EmailsFilterProxyModel( QObject *parent = 0 ); - - /** - * Destroys the emails filter proxy model. - */ - ~EmailsFilterProxyModel(); - - public Q_SLOTS: - /** - * Sets the @p filter that is used to filter for matching emails. - */ - void setFilterString( const QString &filter ); - - protected: - //@cond PRIVATE - virtual bool filterAcceptsRow( int row, const QModelIndex &parent ) const; - //@endcond - - private: - //@cond PRIVATE - class Private; - Private* const d; - //@endcond -}; - -} - -#endif diff --git a/kdepim/mobile/mail/emailsimporthandler.cpp b/kdepim/mobile/mail/emailsimporthandler.cpp deleted file mode 100644 index 7e622acd..00000000 --- a/kdepim/mobile/mail/emailsimporthandler.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "emailsimporthandler.h" - -#include -#include -#include -#include - -QString EmailsImportHandler::fileDialogNameFilter() const -{ - return QLatin1String( "*.mbox|MBox" ); -} - -QString EmailsImportHandler::fileDialogTitle() const -{ - return i18n( "Select MBox to Import" ); -} - -QString EmailsImportHandler::collectionDialogText() const -{ - return i18n( "Select the folder the imported email(s) shall be saved in:" ); -} - -QString EmailsImportHandler::collectionDialogTitle() const -{ - return i18n( "Select Folder" ); -} - -QString EmailsImportHandler::importDialogText( int count, const QString &collectionName ) const -{ - return i18np( "Importing one email to %2", "Importing %1 emails to %2", count, collectionName ); -} - -QString EmailsImportHandler::importDialogTitle() const -{ - return i18n( "Import Emails" ); -} - -QStringList EmailsImportHandler::mimeTypes() const -{ - return QStringList( KMime::Message::mimeType() ); -} - -Akonadi::Item::List EmailsImportHandler::createItems( const QStringList &fileNames, bool *ok ) -{ - *ok = true; - - Akonadi::Item::List items; - - QList messages; - - foreach ( const QString &fileName, fileNames ) { - KMBox::MBox mbox; - - if ( mbox.load( fileName ) ) { - - const KMBox::MBoxEntry::List entries = mbox.entries(); - mbox.lock(); - foreach ( const KMBox::MBoxEntry &entry, entries ) { - KMime::Message *message = mbox.readMessage( entry ); - if ( message ) - messages << KMime::Message::Ptr( message ); - } - mbox.unlock(); - } else { - const QString caption( i18n( "MBox Import Failed" ) ); - const QString msg = i18nc( "@info", - "When trying to read the MBox, there was an error opening the file %1:", - fileName ); - KMessageBox::error( 0, msg, caption ); - *ok = false; - } - } - - if ( messages.isEmpty() ) { - if ( !(*ok) && fileNames.count() > 1 ) - KMessageBox::information( 0, i18n( "No emails were imported, due to errors with the MBox." ) ); - else if ( *ok ) - KMessageBox::information( 0, i18n( "The MBox does not contain any emails." ) ); - - return items; // nothing to import - } - - foreach ( const KMime::Message::Ptr &message, messages ) { - Akonadi::Item item; - item.setPayload( message ); - item.setMimeType( KMime::Message::mimeType() ); - - items << item; - } - - return items; -} diff --git a/kdepim/mobile/mail/emailsimporthandler.h b/kdepim/mobile/mail/emailsimporthandler.h deleted file mode 100644 index 4796eb59..00000000 --- a/kdepim/mobile/mail/emailsimporthandler.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef EMAILSIMPORTHANDLER_H -#define EMAILSIMPORTHANDLER_H - -#include "../lib/importhandlerbase.h" - -class EmailsImportHandler : public ImportHandlerBase -{ - protected: - virtual QString fileDialogNameFilter() const; - virtual QString fileDialogTitle() const; - virtual QString collectionDialogText() const; - virtual QString collectionDialogTitle() const; - virtual QString importDialogText( int count, const QString &collectionName ) const; - virtual QString importDialogTitle() const; - - virtual QStringList mimeTypes() const; - virtual Akonadi::Item::List createItems( const QStringList &fileNames, bool *ok ); -}; - -#endif diff --git a/kdepim/mobile/mail/filtereditor.cpp b/kdepim/mobile/mail/filtereditor.cpp deleted file mode 100644 index db47c8ac..00000000 --- a/kdepim/mobile/mail/filtereditor.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "filtereditor.h" - -#include -#include - -#include -#include - -FilterEditor::FilterEditor( KActionCollection *actionCollection, QObject *parent ) - : QObject( parent ), mFilterController( new MailCommon::FilterController( this ) ) -{ - actionCollection->addAction( QLatin1String("filtereditor_add"), mFilterController->addAction() ); - actionCollection->addAction( QLatin1String("filtereditor_edit"), mFilterController->editAction() ); - actionCollection->addAction( QLatin1String("filtereditor_delete"), mFilterController->removeAction() ); - - actionCollection->addAction( QLatin1String("filtereditor_moveup"), mFilterController->moveUpAction() ); - actionCollection->addAction( QLatin1String("filtereditor_movedown"), mFilterController->moveDownAction() ); -} - -QAbstractItemModel* FilterEditor::model() const -{ - return mFilterController->model(); -} - -void FilterEditor::setRowSelected( int row ) -{ - QItemSelectionModel *selectionModel = mFilterController->selectionModel(); - - selectionModel->select( mFilterController->model()->index( row, 0 ), QItemSelectionModel::ClearAndSelect ); -} - diff --git a/kdepim/mobile/mail/filtereditor.h b/kdepim/mobile/mail/filtereditor.h deleted file mode 100644 index b0d6722c..00000000 --- a/kdepim/mobile/mail/filtereditor.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef FILTEREDITOR_H -#define FILTEREDITOR_H - -#include - -namespace MailCommon { -class FilterController; -} - -class KActionCollection; -class QAbstractItemModel; -class QItemSelectionModel; - -/** - * @short The C++ part of the filter editor for mobile apps. - * - * This class encapsulates the logic of the filter viewing/editing - * and the UI is provided by FilterEditor.qml. - */ -class FilterEditor : public QObject -{ - Q_OBJECT - - public: - /** - * Creates a new filter editor. - * - * @param actionCollection The action collection to register the manipulation - * actions (e.g. add, edit, delete) at - * @param parent The parent object. - */ - explicit FilterEditor( KActionCollection *actionCollection, QObject *parent = 0 ); - - public Q_SLOTS: - /** - * Returns the filter list model. - */ - QAbstractItemModel* model() const; - - /** - * Sets the row of the filter the user has selected in the UI. - */ - void setRowSelected( int row ); - - private: - MailCommon::FilterController *mFilterController; -}; - -#endif diff --git a/kdepim/mobile/mail/hi48-apps-kmail-mobile.png b/kdepim/mobile/mail/hi48-apps-kmail-mobile.png deleted file mode 100644 index 8bb685d120bd668f7d1802187e28c6c35e1bc831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3043 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 diff --git a/kdepim/mobile/mail/hi80-apps-kmail-mobile-harmattan.png b/kdepim/mobile/mail/hi80-apps-kmail-mobile-harmattan.png deleted file mode 100644 index a23060852e57bc58a7aa87189ef28607121c89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7253 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 diff --git a/kdepim/mobile/mail/kmail-composer.qml b/kdepim/mobile/mail/kmail-composer.qml deleted file mode 100644 index 73d1b2e8..00000000 --- a/kdepim/mobile/mail/kmail-composer.qml +++ /dev/null @@ -1,167 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.messagecomposer 4.5 as MessageComposer -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde.plasma.extras 0.1 as PlasmaExtras - -KPIM.MainView { - id: root - - PlasmaExtras.ScrollArea { - id: flick - anchors.fill: parent - - flickableItem: Flickable { - - contentHeight: editorView.contentHeight; - - contentItem.children: [ - EditorView { - id: editorView - enabled: !window.busy - anchors.fill: parent - screenHeight: root.height - } - ] - } - } - - SlideoutPanelContainer { - enabled: !window.busy - anchors.fill: parent - - SlideoutPanel { - anchors.fill: parent - id: folderPanel - titleText: KDE.i18n( "Recipients" ) - handleHeight: 150 - handlePosition: 40 - content: [ - PlasmaExtras.ScrollArea { - - id: flickablerecipients - anchors.fill: parent - - flickableItem: Flickable { - contentHeight: recipientsEditor.height; - - contentItem.children: [ - Item { - id: recipientswrapper - anchors.top: parent.top - anchors.left: parent.left - anchors.right: parent.right - - MessageComposer.RecipientsEditor { - id: recipientsEditor - anchors.top: parent.top - anchors.left: parent.left - anchors.right: parent.right - } - } - ] - } - } - ] - } - - SlideoutPanel { - anchors.fill: parent - id: actionPanel - titleText: KDE.i18n( "Actions" ) - handleHeight: 150 - handlePosition: folderPanel.handlePosition + folderPanel.handleHeight - - Component.onCompleted: { - kmailComposerActions.showOnlyCategory( "composer" ) - actionPanel.expanded.connect( kmailComposerActions, kmailComposerActions.refresh ); - } - - content: [ - KMailComposerActions { - id : kmailComposerActions - anchors.fill : parent - - scriptActions : [ - - KPIM.ScriptAction { - name: "composer_configure_identity" - script: { - actionPanel.collapse(); - window.configureIdentity(); - } - }, - KPIM.ScriptAction { - name: "composer_configure_transport" - script: { - actionPanel.collapse(); - window.configureTransport(); - } - }, - KPIM.ScriptAction { - name: "composer_close" - script: { - actionPanel.collapse(); - window.close(); - } - } - ] - onDoCollapse : { - actionPanel.collapse(); - } - } - ] - } - - SlideoutPanel { - anchors.fill: parent - id: attachmentPanel - handleHeight: 100 - handlePosition: actionPanel.handlePosition + actionPanel.handleHeight - titleIcon: KDE.iconPath( "mail-attachment", 48 ); - contentWidth: attachmentEditorView.width - content: [ - AttachmentEditor { - id: attachmentEditorView - anchors.fill: parent - } - ] - } - } - - // ### Make it a general processing screen? - Rectangle { - id: busyView - visible: window.busy; - z: 99 - - PlasmaComponents.BusyIndicator { - anchors.centerIn: parent - running: parent.visible - } - - color: "grey" - opacity: 0.5 - anchors.fill: parent - } -} diff --git a/kdepim/mobile/mail/kmail-mobile.desktop b/kdepim/mobile/mail/kmail-mobile.desktop deleted file mode 100644 index 8260f0de..00000000 --- a/kdepim/mobile/mail/kmail-mobile.desktop +++ /dev/null @@ -1,81 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Mail -Name[af]=Pos -Name[ar]=البريد -Name[be]=Пошта -Name[bg]=Mail -Name[br]=Lizher -Name[bs]=Elektronska pošta -Name[ca]=Correu -Name[ca@valencia]=Correu -Name[cs]=Pošta -Name[cy]=Ebost -Name[da]=E-mail -Name[de]=E-Mail -Name[el]=Αλληλογραφία -Name[en_GB]=Mail -Name[eo]=Retpoŝto -Name[es]=Correo -Name[et]=E-post -Name[eu]=Posta -Name[fa]=نامه -Name[fi]=Sähköposti -Name[fr]=Messages -Name[fy]=E-post -Name[ga]=Ríomhphost -Name[gl]=Correo electrónico -Name[he]=דוא"ל -Name[hr]=Pošta -Name[hu]=E-mail -Name[ia]=Posta -Name[is]=Póstur -Name[it]=Posta -Name[ja]=メール -Name[ka]=ფოსტა -Name[kk]=Пошта -Name[km]=សំបុត្រ -Name[ko]=이메일 -Name[lt]=Paštas -Name[lv]=Pasts -Name[mai]=डाक -Name[mk]=Е-пошта -Name[mr]=मेल -Name[ms]=Mel -Name[nb]=E-post -Name[nds]=Nettpost -Name[ne]=पत्र -Name[nl]=E-mail -Name[nn]=E-post -Name[oc]=Corrièl -Name[pa]=ਮੇਲ -Name[pl]=Poczta -Name[pt]=E-mail -Name[pt_BR]=E-mail -Name[ro]=Poștă -Name[ru]=Почта -Name[se]=E-boasta -Name[sk]=Pošta -Name[sl]=Pošta -Name[sr]=Пошта -Name[sr@ijekavian]=Пошта -Name[sr@ijekavianlatin]=Pošta -Name[sr@latin]=Pošta -Name[sv]=Brev -Name[ta]=அஞ்சல் -Name[tg]=Мактуб -Name[th]=จดหมาย -Name[tr]=E-Posta -Name[ug]=خەت -Name[uk]=Пошта -Name[uz]=Xat-xabar -Name[uz@cyrillic]=Хат-хабар -Name[wa]=Emile -Name[x-test]=xxMailxx -Name[zh_CN]=邮件 -Name[zh_TW]=郵件 -Exec=kmail-mobile - -Icon=kmail-mobile -Type=Application -Categories=Qt;KDE;Network;Email; diff --git a/kdepim/mobile/mail/kmail-mobile.ico b/kdepim/mobile/mail/kmail-mobile.ico deleted file mode 100644 index 8b133d527498c96c023750848df21eb5a358e3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7926 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 diff --git a/kdepim/mobile/mail/kmail-mobile.notifyrc b/kdepim/mobile/mail/kmail-mobile.notifyrc deleted file mode 100644 index a6aa98e4..00000000 --- a/kdepim/mobile/mail/kmail-mobile.notifyrc +++ /dev/null @@ -1,180 +0,0 @@ -[Global] -IconName=mail-mobile -Comment=KDE Kontact Touch e-mail client -Comment[bs]=KDE Kontact Touch klijent za elektronsku poštu -Comment[ca]=Client de correu del Kontact Touch pel KDE -Comment[ca@valencia]=Client de correu del Kontact Touch del KDE -Comment[da]=KDE Kontact Touch e-mail-klient -Comment[de]=E-Mail-Programm für KDE Kontact Touch -Comment[el]=KDE Kontact Touch πελάτης αλληλογραφίας -Comment[en_GB]=KDE Kontact Touch e-mail client -Comment[es]=Cliente de correo KDE Kontact táctil -Comment[et]=KDE Kontact Touchi e-posti klient -Comment[fi]=KDE Kontact Touch -sähköpostiohjelma -Comment[fr]=Logiciel de courriel KDE Kontact Touch -Comment[ga]=Cliant ríomhphoist KDE Kontact Touch -Comment[gl]=Cliente de correo Touch do Kontact do KDE -Comment[hu]=KDE Kontact Touch e-mail -Comment[ia]=Cliente de e-posta de Touch de Kontact de KDE -Comment[it]=Programma per la posta elettronica di KDE Kontact Touch -Comment[ja]=KDE Kontact Touch メールクライアント -Comment[kk]=KDE Kontact Touch эл.пошта клиенті -Comment[km]=កម្មវិធី​អ៊ីមែល​របស់ Kontact Touch របស់ KDE -Comment[lt]=KDE Kontact Touch el. pašto klientas -Comment[mr]=केडीई कॉन्टेक्ट टच इ-मेल ग्राहक -Comment[nb]=KDE Kontact Touch e-postklient -Comment[nds]=Nettpostprogramm för Anröögschirm-Kontact för KDE -Comment[nl]=Aanraak-e-mailclient van KDE Kontact -Comment[pl]=Klient poczty Kontact Touch dla KDE -Comment[pt]=Cliente de e-mail do Kontact Touch para o KDE -Comment[pt_BR]=Cliente de e-mail do Kontact Touch para o KDE -Comment[ro]=Client de poștă Kontact Touch pentru KDE -Comment[ru]=Почтовый клиент KDE Kontact Touch -Comment[sk]=KDE Kontact Touch Poštový klient -Comment[sl]=KDE-jev poštni odjemalec Kontact Touch -Comment[sr]=КДЕ клијент е‑поште из Контакта додирног -Comment[sr@ijekavian]=КДЕ клијент е‑поште из Контакта додирног -Comment[sr@ijekavianlatin]=KDE klijent e‑pošte iz Kontacta dodirnog -Comment[sr@latin]=KDE klijent e‑pošte iz Kontacta dodirnog -Comment[sv]=KDE Kontact Touch e-postklient -Comment[tr]=KDE Kontact Touch e-posta istemcisi -Comment[uk]=Клієнт електронної пошти KDE Kontact Touch -Comment[wa]=Cliyint d' emilaedje KDE Kontact po toutchî -Comment[x-test]=xxKDE Kontact Touch e-mail clientxx -Comment[zh_CN]=KDE Kontach 触摸版邮件客户端 -Comment[zh_TW]=KDE Kontact Touch 收發信軟體 -Name=Kontact Touch Mail -Name[bs]=Kontact Touch pošta -Name[ca]=Correu del Kontact Touch -Name[ca@valencia]=Correu del Kontact Touch -Name[da]=Kontact Touch E-mail -Name[de]=Mail-Modul für Kontact Touch -Name[el]=Αλληλογραφία Kontact Touch -Name[en_GB]=Kontact Touch Mail -Name[es]=Correo Kontact táctil -Name[et]=Kontact Touchi e-post -Name[fi]=Kontact Touch Mail -Name[fr]=Messagerie Kontact Touch -Name[ga]=Ríomhphost Kontact Touch -Name[gl]=Correo Touch do Kontact -Name[hu]=Kontact Touch levelező -Name[ia]=Posta de Touch de Kontact -Name[it]=Kontact Touch Mail -Name[ja]=Kontact Touch メール -Name[kk]=Kontact Touch поштасы -Name[km]=សំបុត្រ​របស់ Kontact Touch -Name[lt]=Kontact Touch Paštas -Name[mr]=कॉन्टेक्ट टच मेल -Name[nb]=Kontact Touch e-post -Name[nds]=Nettpost för Anröögschirm-Kontact -Name[nl]=Aanraak-e-mail van Kontact -Name[pl]=Poczta Kontact Touch -Name[pt]=Correio do Kontact Touch -Name[pt_BR]=E-mail do Kontact Touch -Name[ro]=Poștă Kontact Touch -Name[ru]=Почта Kontact Touch -Name[sk]=Kontact Touch Mail -Name[sl]=Pošta Kontact Touch -Name[sr]=Поште Контакта додирног -Name[sr@ijekavian]=Поште Контакта додирног -Name[sr@ijekavianlatin]=Pošte Kontacta dodirnog -Name[sr@latin]=Pošte Kontacta dodirnog -Name[sv]=Kontact Touch e-post -Name[tr]=Kontact Touch Posta -Name[ug]=Kontact Touch خېتى -Name[uk]=Пошта Kontact Touch -Name[wa]=Kontact toutche -Name[x-test]=xxKontact Touch Mailxx -Name[zh_CN]=Kontact 触摸版邮件 -Name[zh_TW]=Kontact Touch Mail - -[Event/sendfailed] -Name=Error while sending email -Name[bs]=Greška u slanju pošte -Name[ca]=Error en enviar correu -Name[ca@valencia]=Error en enviar correu -Name[cs]=Chyba při odesílání emailu -Name[da]=Fejl ved afsendelsen af e-mail -Name[de]=Fehler beim Versenden der E-Mail -Name[el]=Σφάλμα κατά την αποστολή της αλληλογραφίας -Name[en_GB]=Error while sending email -Name[es]=Error al enviar correo -Name[et]=Viga kirja saatmisel -Name[fi]=Virhe lähetettäessä sähköpostia -Name[fr]=Erreur lors de l'envoi du courriel -Name[gl]=Produciuse un erro ao enviar o correo -Name[hu]=Hiba az e-mail küldése közben -Name[ia]=Error durante expedition de e-posta -Name[it]=Errore durante l'invio della posta elettronica -Name[ja]=メール送信中にエラー -Name[kk]=Поштаны жолдағанда қате орын алды -Name[km]=កំហុស​ពេល​ផ្ញើ​អ៊ីមែល -Name[lt]=Klaida siunčiant laišką -Name[mr]=मेल पाठवताना त्रुटी आढळली -Name[nb]=Feil under sending av e-post -Name[nds]=Fehler bi't Loosstüern vun'n Nettbreef -Name[nl]=Fout bij verzenden van e-mail -Name[pa]=ਮੇਲ ਭੇਜਣ ਦੌਰਾਨ ਗਲਤੀ -Name[pl]=Błąd podczas wysyłania e-maila -Name[pt]=Erro ao enviar o e-mail -Name[pt_BR]=Erro ao enviar o e-mail -Name[ro]=Eroare la trimiterea poștei -Name[ru]=Ошибка отправки электронной почты -Name[sk]=Chyba pri odosielaní e-mailu -Name[sl]=Napaka med pošiljanjem e-pošte -Name[sr]=Грешка при слању е‑поште -Name[sr@ijekavian]=Грешка при слању е‑поште -Name[sr@ijekavianlatin]=Greška pri slanju e‑pošte -Name[sr@latin]=Greška pri slanju e‑pošte -Name[sv]=Fel när e-post skulle skickas -Name[tr]=E-posta gönderilirken hata oldu -Name[uk]=Помилка під час спроби надсилання пошти -Name[wa]=Åk n' a nén stî come dj' evoyive l' emile -Name[x-test]=xxError while sending emailxx -Name[zh_CN]=发送邮件时出错 -Name[zh_TW]=傳送郵件時發生錯誤 -Comment=There was an error while trying to send the e-mail. -Comment[bs]=Desila se greška pri pokušaju slanja elektronske pošte -Comment[ca]=S'ha produït un error en provar d'enviar el correu electrònic. -Comment[ca@valencia]=S'ha produït un error en provar d'enviar el correu electrònic. -Comment[cs]=Nastala chyba při odesílání emailu. -Comment[da]=Der opstod en fejl under forsøg på at afsende e-mailen. -Comment[de]=Beim Senden der E-Mail ist ein Fehler aufgetreten. -Comment[el]=Παρουσιάστηκε ένα σφάλμα κατά την προσπάθεια αποστολής της αλληλογραφίας. -Comment[en_GB]=There was an error while trying to send the e-mail. -Comment[es]=Ocurrió un error mientras se intentaba enviar el correo. -Comment[et]=Kirja saatmisel tekkis viga. -Comment[fi]=Yritettäessä lähettää sähköpostia sattui virhe. -Comment[fr]=Il y a eu une erreur lors de l'envoi du courriel. -Comment[gl]=Produciuse un erro ao comprobar o correo novo -Comment[hu]=Hiba történt az e-mail küldése közben. -Comment[ia]=Un error occurreva durante le expedition del e-posta. -Comment[it]=Si è verificato un errore durante l'invio del messaggio di posta. -Comment[ja]=メールの送信中にエラーが発生しました -Comment[kk]=Эл.поштаны жолдау талпыныс кезде бір қате орын алды -Comment[km]=មាន​កំហុស​មួយ​ពេល​ព្យាយាម​ផ្ញើ​អ៊ីមែល ។ -Comment[lt]=Siunčiant laišką įvyko klaida -Comment[mr]=इ-मेल पाठविण्याचा प्रयत्न करताना त्रुटी आढळली. -Comment[nb]=Det oppsto en feil mens det ble forsøkt å sende e-posten. -Comment[nds]=Bi't Loosstüern vun'n Nettbreef hett dat en Fehler geven. -Comment[nl]=Er was een fout bij het proberen om e-mail te verzenden. -Comment[pa]=ਈਮੇਲ ਭੇਜਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਸੀ। -Comment[pl]=Wystąpił błąd podczas próby wysłania e-maila. -Comment[pt]=Ocorreu um erro ao tentar enviar o e-mail. -Comment[pt_BR]=Ocorreu um erro ao tentar enviar o e-mail. -Comment[ro]=A avut loc o eroare la expedierea scrisorii. -Comment[ru]=Во время отправки письма произошла ошибка. -Comment[sk]=Došlo k chybe pri pokuse o odoslanie e-mailu. -Comment[sl]=Med poskusom pošiljanja e-pošte je prišlo do napake. -Comment[sr]=Грешка при покушају слања е‑поште. -Comment[sr@ijekavian]=Грешка при покушају слања е‑поште. -Comment[sr@ijekavianlatin]=Greška pri pokušaju slanja e‑pošte. -Comment[sr@latin]=Greška pri pokušaju slanja e‑pošte. -Comment[sv]=Ett fel uppstod vid försök att skicka e-post. -Comment[tr]=E-posta gönderilmeye çalışılırken hata oldu. -Comment[uk]=Під час спроби надсилання пошти сталася помилка. -Comment[wa]=Åk n' a nén stî come dji sayive d' evoyî l' emile. -Comment[x-test]=xxThere was an error while trying to send the e-mail.xx -Comment[zh_CN]=尝试发送邮件时发生错误。 -Comment[zh_TW]=傳送郵件時發生錯誤。 -Action=Popup diff --git a/kdepim/mobile/mail/kmail-mobile.qml b/kdepim/mobile/mail/kmail-mobile.qml deleted file mode 100644 index c5d8afa5..00000000 --- a/kdepim/mobile/mail/kmail-mobile.qml +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2013 Michael Bohlender - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License or (at your option) version 3 or any later version - * accepted by the membership of KDE e.V. (or its successor approved - * by the membership of KDE e.V.), which shall act as a proxy - * defined in Section 14 of version 3 of the license. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 1.1 -import org.kde.plasma.components 0.1 as PlasmaComponents -import org.kde.plasma.extras 0.1 as PlasmaExtras -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.MainView { - id: app - - PlasmaComponents.ToolBar { - id: toolBar - - anchors { - top: parent.top - left: parent.left - right: parent.right - } - } - - PlasmaExtras.PageRow { - id: pageRow - - anchors { - top: toolBar.bottom - left: parent.left - right: parent.right - bottom: parent.bottom - } - - clip: true - - toolBar: toolBar - - initialPage: Qt.resolvedUrl("FolderPage.qml") - } -} diff --git a/kdepim/mobile/mail/kmail-mobile.rc b/kdepim/mobile/mail/kmail-mobile.rc deleted file mode 100644 index ba920751..00000000 --- a/kdepim/mobile/mail/kmail-mobile.rc +++ /dev/null @@ -1 +0,0 @@ -KMAIL_MOBILE_ICON ICON "kmail-mobile.ico" diff --git a/kdepim/mobile/mail/kmailmobileoptions.h b/kdepim/mobile/mail/kmailmobileoptions.h deleted file mode 100644 index c6528498..00000000 --- a/kdepim/mobile/mail/kmailmobileoptions.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -* Copyright 2011 Lamarque Souza -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301  USA -*/ - -#ifndef KMAIL_MOBILE_OPTIONS_H -#define KMAIL_MOBILE_OPTIONS_H - -#include -#include - -static KCmdLineOptions kmailMobileOptions() -{ - KCmdLineOptions options; - options.add("t

", ki18n("Send message to 'address'")); - options.add("s ", ki18n("Set subject of message")); - options.add("c
", ki18n("Send CC: to 'address'")); - options.add("b
", ki18n("Send BCC: to 'address'")); - options.add("B ", ki18n("Set body of message")); - options.add("A ", ki18n("Add an attachment to the mail. This can be repeated")); - return options; -} - -#endif diff --git a/kdepim/mobile/mail/mailactionmanager.cpp b/kdepim/mobile/mail/mailactionmanager.cpp deleted file mode 100644 index 283fa0e4..00000000 --- a/kdepim/mobile/mail/mailactionmanager.cpp +++ /dev/null @@ -1,171 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "mailactionmanager.h" - -#include - -#include -#include -#include - -#include -#include - -MailActionManager::MailActionManager( KActionCollection *actionCollection, QObject *parent ) - : QObject( parent ), - m_actionCollection( actionCollection ), - m_itemSelectionModel( 0 ), - m_itemActionSelectionModel( 0 ) -{ - KAction *action; - action = actionCollection->addAction( QLatin1String("mark_message_important") ); - action->setText( i18n( "Important" ) ); - action->setIcon( KIcon( QLatin1String("emblem-important") ) ); - action->setCheckable(true); - - action = actionCollection->addAction( QLatin1String("mark_message_action_item") ); - action->setText( i18n( "Action Item" ) ); - action->setIcon( KIcon( QLatin1String("mail-mark-task") ) ); - action->setCheckable( true ); - - action = actionCollection->addAction( QLatin1String("write_new_email") ); - action->setText( i18n( "Write New Email" ) ); - - action = actionCollection->addAction( QLatin1String("send_queued_emails") ); - action->setText( i18n( "Send All Unsent Emails" ) ); - - action = actionCollection->addAction( QLatin1String("send_queued_emails_via") ); - action->setText( i18n( "Send All Unsent Emails" ) ); - - action = actionCollection->addAction( QLatin1String("message_reply") ); - action->setText( i18n( "Reply" ) ); - - action = actionCollection->addAction( QLatin1String("message_reply_to_list") ); - action->setText( i18n( "Reply to Mailing List" ) ); - - action = actionCollection->addAction( QLatin1String("message_reply_without_quoting") ); - action->setText( i18n( "Reply Without Quoting" ) ); - - action = actionCollection->addAction( QLatin1String("message_reply_variants") ); - - action = actionCollection->addAction( QLatin1String("message_forward_as_attachment") ); - action->setText( i18n( "Forward as Attachment" ) ); - - action = actionCollection->addAction( QLatin1String("message_redirect") ); - action->setText( i18n( "Redirect" ) ); - - action = actionCollection->addAction( QLatin1String("save_favorite") ); - action->setText( i18n( "Save Favorite" ) ); - - action = actionCollection->addAction( QLatin1String("message_send_again") ); - action->setText( i18n( "Send Again" ) ); - - action = actionCollection->addAction( QLatin1String("message_save_as") ); - action->setText( i18n( "Save Email As" ) ); - - action = actionCollection->addAction( QLatin1String("message_edit") ); - action->setText( i18n( "Edit Email" ) ); - - action = actionCollection->addAction( QLatin1String("message_find_in") ); - action->setText( i18n( "Find in Email" ) ); - - action = actionCollection->addAction( QLatin1String("prefer_html_to_plain") ); - action->setText( i18n( "Prefer HTML To Plain Text" ) ); - action->setCheckable( true ); - action->setChecked( false ); - - action = actionCollection->addAction( QLatin1String("prefer_html_to_plain_viewer") ); - action->setText( i18n( "Prefer HTML To Plain Text" ) ); - action->setCheckable(true); - action->setChecked(false); - - action = actionCollection->addAction( QLatin1String("load_external_ref") ); - action->setText( i18n( "Load External References" ) ); - action->setCheckable( true ); - action->setChecked( false ); - - action = actionCollection->addAction( QLatin1String("message_fixed_font") ); - action->setText( i18n( "Use Fixed Font" ) ); - action->setCheckable( true ); - action->setChecked( false ); - - action = actionCollection->addAction( QLatin1String("move_all_to_trash") ); - action->setText( i18n( "Move Displayed Emails To Trash" ) ); - - action = actionCollection->addAction( QLatin1String("apply_filters") ); - action->setText( i18n( "Apply Filters" ) ); - - action = actionCollection->addAction( QLatin1String("apply_filters_bulk_action") ); - action->setText( i18n( "Apply Filters" ) ); - action->setEnabled( false ); - - action = actionCollection->addAction( QLatin1String("new_filter") ); - action->setText( i18n( "New Filter" ) ); -} - -void MailActionManager::setItemSelectionModel( QItemSelectionModel *selectionModel ) -{ - m_itemSelectionModel = selectionModel; - connect( m_itemSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(updateActions()) ); - updateActions(); -} - -void MailActionManager::setItemActionSelectionModel( QItemSelectionModel *selectionModel ) -{ - m_itemActionSelectionModel = selectionModel; - connect( m_itemActionSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(updateActions()) ); - updateActions(); -} - -void MailActionManager::updateActions() -{ - if ( m_itemActionSelectionModel ) - m_actionCollection->action( QLatin1String("apply_filters_bulk_action") )->setEnabled( m_itemActionSelectionModel->hasSelection() ); - - if ( !m_itemSelectionModel->hasSelection() ) { - m_actionCollection->action( QLatin1String("mark_message_important") )->setEnabled( false ); - m_actionCollection->action( QLatin1String("mark_message_action_item") )->setEnabled( false ); - return; - } - - const QModelIndexList list = m_itemSelectionModel->selectedRows(); - if ( list.size() != 1 ) - return; - - const QModelIndex index = list.first(); - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return; - - if ( !item.hasPayload() ) - return; - - Akonadi::MessageStatus status; - status.setStatusFromFlags( item.flags() ); - - m_actionCollection->action( QLatin1String("mark_message_important") )->setEnabled( true ); - m_actionCollection->action( QLatin1String("mark_message_action_item") )->setEnabled( true ); - m_actionCollection->action( QLatin1String("mark_message_important") )->setChecked( status.isImportant() ); - m_actionCollection->action( QLatin1String("mark_message_action_item") )->setChecked( status.isToAct() ); -} diff --git a/kdepim/mobile/mail/mailactionmanager.h b/kdepim/mobile/mail/mailactionmanager.h deleted file mode 100644 index 06e3ff5a..00000000 --- a/kdepim/mobile/mail/mailactionmanager.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MAILACTIONMANAGER_H -#define MAILACTIONMANAGER_H - -#include - -#include "kactioncollection.h" - -class MailActionManager : public QObject -{ - Q_OBJECT - - public: - explicit MailActionManager( KActionCollection *actionCollection, QObject *parent = 0 ); - - void setItemSelectionModel( QItemSelectionModel *selectionModel ); - void setItemActionSelectionModel( QItemSelectionModel *selectionModel ); - - private slots: - void updateActions(); - - private: - KActionCollection *m_actionCollection; - QItemSelectionModel *m_itemSelectionModel; - QItemSelectionModel *m_itemActionSelectionModel; -}; - -#endif // MAILACTIONMANAGER_H - diff --git a/kdepim/mobile/mail/mailthreadgroupercomparator.cpp b/kdepim/mobile/mail/mailthreadgroupercomparator.cpp deleted file mode 100644 index 5b214fe4..00000000 --- a/kdepim/mobile/mail/mailthreadgroupercomparator.cpp +++ /dev/null @@ -1,380 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "mailthreadgroupercomparator.h" - -#include -#include - -#include -#include -#include - -MailThreadGrouperComparator::MailThreadGrouperComparator() - : mSortingOption( SortByDateTimeMostRecent ), - mIsOutboundCollection( false ) -{ -} - -MailThreadGrouperComparator::~MailThreadGrouperComparator() -{ -} - -QByteArray MailThreadGrouperComparator::identifierForItem( const Akonadi::Item &item ) const -{ - Q_ASSERT( item.hasPayload() ); - - return identifierForMessage( item.payload(), item.id() ); -} - -QByteArray MailThreadGrouperComparator::parentIdentifierForItem( const Akonadi::Item &item ) const -{ - Q_ASSERT( item.hasPayload() ); - - const KMime::Message::Ptr message = item.payload(); - - if ( !message->inReplyTo()->isEmpty() ) { - const QByteArray inReplyTo = message->inReplyTo()->as7BitString( false ); - return inReplyTo.mid( 1, inReplyTo.size() -2 ); // strip '<' and '>' - } - - return QByteArray(); -} - -bool MailThreadGrouperComparator::lessThan( const Akonadi::Item &leftItem, const Akonadi::Item &rightItem ) const -{ - Q_ASSERT( leftItem.isValid() ); - Q_ASSERT( rightItem.isValid() ); - - const Akonadi::Item leftThreadRootItem = threadItem( leftItem ); - const Akonadi::Item rightThreadRootItem = threadItem( rightItem ); - - Q_ASSERT( rightThreadRootItem.isValid() ); - Q_ASSERT( leftThreadRootItem.isValid() ); - - const bool leftItemIsThreadLeader = (leftThreadRootItem == leftItem); - const bool rightItemIsThreadLeader = (rightThreadRootItem == rightItem); - if ( leftItemIsThreadLeader && rightItemIsThreadLeader ) { - Q_ASSERT( leftThreadRootItem.hasPayload() ); - Q_ASSERT( rightThreadRootItem.hasPayload() ); - - const KMime::Message::Ptr leftThreadRootMessage = messageForItem( leftThreadRootItem ); - const KMime::Message::Ptr rightThreadRootMessage = messageForItem( rightThreadRootItem ); - - switch ( mSortingOption ) { - case SortByDateTime: - { - const KDateTime leftThreadRootDateTime = leftThreadRootMessage->date()->dateTime(); - const KDateTime rightThreadRootDateTime = rightThreadRootMessage->date()->dateTime(); - if ( leftThreadRootDateTime != rightThreadRootDateTime ) { - return leftThreadRootDateTime > rightThreadRootDateTime; - } - } - break; - case SortByDateTimeMostRecent: - { - const KDateTime leftNewest = mostRecentDateTimeInThread( leftThreadRootMessage, leftThreadRootItem.id() ); - const KDateTime rightNewest = mostRecentDateTimeInThread( rightThreadRootMessage, rightThreadRootItem.id() ); - - if ( leftNewest != rightNewest ) { - return leftNewest > rightNewest; - } - } - break; - case SortBySenderReceiver: - { - const QString leftSender = (mIsOutboundCollection ? leftThreadRootMessage->to()->asUnicodeString() - : leftThreadRootMessage->from()->asUnicodeString()); - const QString rightSender = (mIsOutboundCollection ? rightThreadRootMessage->to()->asUnicodeString() - : rightThreadRootMessage->sender()->asUnicodeString()); - - if ( leftSender != rightSender ) - return (leftSender.localeAwareCompare( rightSender ) < 0); - } - break; - case SortBySubject: - { - const QString leftSubject = MessageCore::StringUtil::stripOffPrefixes( leftThreadRootMessage->subject()->asUnicodeString() ); - const QString rightSubject = MessageCore::StringUtil::stripOffPrefixes( rightThreadRootMessage->subject()->asUnicodeString() ); - - if ( leftSubject != rightSubject ) - return (leftSubject.compare( rightSubject, Qt::CaseInsensitive ) < 0); - } - break; - case SortBySize: - { - const qint64 leftSize = leftThreadRootItem.size(); - const qint64 rightSize = rightThreadRootItem.size(); - - if ( leftSize != rightSize ) - return leftSize < rightSize; - } - break; - case SortByActionItem: - { - const bool leftIsActionItem = leftThreadRootItem.flags().contains( Akonadi::MessageFlags::ToAct ); - const bool rightIsActionItem = rightThreadRootItem.flags().contains( Akonadi::MessageFlags::ToAct ); - - if ( leftIsActionItem != rightIsActionItem ) - return leftIsActionItem; - } - break; - } - - return leftThreadRootItem.id() < rightThreadRootItem.id(); - - } else if ( leftItemIsThreadLeader && !rightItemIsThreadLeader ) { - if ( leftThreadRootItem == rightThreadRootItem ) - return true; // right item is in thread of left thread leader -> right item located below left item - else - return lessThan( leftThreadRootItem, rightThreadRootItem ); // based on thread leaders order - } else if ( !leftItemIsThreadLeader && rightItemIsThreadLeader ) { - if ( leftThreadRootItem == rightThreadRootItem ) - return false; // left item is in thread of right thread leader -> left item must be located below right item - else - return lessThan( leftThreadRootItem, rightThreadRootItem ); // based on thread leaders order - } else if ( !leftItemIsThreadLeader && !rightItemIsThreadLeader ) { - if ( leftThreadRootItem == rightThreadRootItem ) { // both in the same thread - Q_ASSERT( leftItem.hasPayload() ); - Q_ASSERT( rightItem.hasPayload() ); - - const KMime::Message::Ptr leftMessage = messageForItem( leftItem ); - const KMime::Message::Ptr rightMessage = messageForItem( rightItem ); - - const KDateTime leftDateTime = leftMessage->date()->dateTime(); - const KDateTime rightDateTime = rightMessage->date()->dateTime(); - - // Messages in the same thread are ordered most recent last. - if ( leftDateTime != rightDateTime ) { - return leftDateTime < rightDateTime; - } - - return leftItem.id() < rightItem.id(); // default - } else - return lessThan( leftThreadRootItem, rightThreadRootItem ); // based on thread leaders order - } - - return leftItem.id() < rightItem.id(); -} - -void MailThreadGrouperComparator::setSortingOption( SortingOption option ) -{ - mSortingOption = option; -} - -MailThreadGrouperComparator::SortingOption MailThreadGrouperComparator::sortingOption() const -{ - return mSortingOption; -} - -void MailThreadGrouperComparator::setGroupingOption( GroupingOption option ) -{ - mGroupingOption = option; -} - -MailThreadGrouperComparator::GroupingOption MailThreadGrouperComparator::groupingOption() const -{ - return mGroupingOption; -} - -void MailThreadGrouperComparator::setIsOutboundCollection( bool outbound ) -{ - mIsOutboundCollection = outbound; -} - -void MailThreadGrouperComparator::invalidateModel() -{ - invalidate(); -} - -QString MailThreadGrouperComparator::grouperString( const Akonadi::Item &item ) const -{ - KMime::Message::Ptr msg; - - if ( mSortingOption == SortByDateTimeMostRecent ) { - const Akonadi::Item rootItem = threadItem( item ); - const Akonadi::Item::Id newestItem = mostRecentIdInThread( messageForItem( rootItem ), rootItem.id() ); - msg = messageForItem( Akonadi::Item( newestItem ) ); - } else { - const Akonadi::Item rootItem = threadItem( item ); - msg = messageForItem( rootItem ); - } - - if ( mGroupingOption == GroupByDate ) { - // simplified version taken from libmessagelist - const KDateTime& dt = msg->date()->dateTime(); - const QDate dDate = dt.date(); - const KCalendarSystem *calendar = KGlobal::locale()->calendar(); - int daysAgo = -1; - if ( calendar->isValid( dDate ) && calendar->isValid( QDate::currentDate() ) ) { - daysAgo = dDate.daysTo( QDate::currentDate() ); - } - - if ( daysAgo < 0 || !dt.isValid() ) // In the future or invalid - return i18n( "Unknown" ); - else if( daysAgo == 0 ) // Today - return i18n( "Today" ); - else if ( daysAgo == 1 ) // Yesterday - return i18n( "Yesterday" ); - else if ( daysAgo > 1 && daysAgo < calendar->daysInWeek( QDate::currentDate() ) ) // Within last seven days - return KGlobal::locale()->calendar()->weekDayName( dDate ); - else if( calendar->month( dDate ) == calendar->month( QDate::currentDate() ) && calendar->year( dDate ) == calendar->year( QDate::currentDate() ) ) { // within this month - const int startOfWeekDaysAgo = ( calendar->daysInWeek( QDate::currentDate() ) + calendar->dayOfWeek( QDate::currentDate() ) - - KGlobal::locale()->weekStartDay() ) % calendar->daysInWeek( QDate::currentDate() ); - const int weeksAgo = ( ( daysAgo - startOfWeekDaysAgo ) / calendar->daysInWeek( QDate::currentDate() ) ) + 1; - if ( weeksAgo == 0 ) - return KGlobal::locale()->calendar()->weekDayName( dDate ); - else - return i18np( "One Week Ago", "%1 Weeks Ago", weeksAgo ); - } else if ( calendar->year( dDate ) == calendar->year( QDate::currentDate() ) ) { // within this year - return calendar->monthName( dDate ); - } else { // in previous years - static QHash yearNameHash; - - QString yearName; - if ( yearNameHash.contains( dDate.year() ) ) { - yearName = yearNameHash.value( dDate.year() ); - } else { - yearName = calendar->formatDate( dDate, KLocale::Year, KLocale::LongNumber ); - yearNameHash.insert( dDate.year(), yearName ); - } - return i18nc( "Message Aggregation Group Header: Month name and Year number", "%1 %2", calendar->monthName( dDate ), yearName ); - } - } else if ( mGroupingOption == GroupBySenderReceiver ) { - QStringList l; - foreach ( const KMime::Types::Mailbox &mbox, msg->from()->mailboxes() ) { - if ( mbox.hasName() ) - l.append( mbox.name() ); - else - l.append( mbox.addrSpec().asPrettyString() ); - } - return l.join( QLatin1String(", ") ); - } else { - return QLatin1String( "dummy" ); - } -} - -void MailThreadGrouperComparator::resetCaches() -{ - mMessageCache.clear(); - mMostRecentCache.clear(); -} - -QByteArray MailThreadGrouperComparator::identifierForMessage( const KMime::Message::Ptr &message, Akonadi::Item::Id id ) const -{ - QByteArray identifier = message->messageID()->identifier(); - if ( identifier.isEmpty() ) - identifier = QByteArray::number( id ); - - return identifier; -} - -KDateTime MailThreadGrouperComparator::mostRecentDateTimeInThread( const KMime::Message::Ptr &threadRoot, Akonadi::Item::Id itemId ) const -{ - const QHash::const_iterator it = mMostRecentCache.constFind( itemId ); - if ( it != mMostRecentCache.constEnd() ) - return (*it).dateTime; - - const QSet messageIds = threadDescendants( identifierForMessage( threadRoot, itemId ) ); - - KDateTime newest = threadRoot->date()->dateTime(); - Akonadi::Item::Id newestId = itemId; - - if ( messageIds.isEmpty() ) { - MostRecentEntry entry; - entry.id = newestId; - entry.dateTime = newest; - mMostRecentCache.insert( itemId, entry ); - return newest; - } - - foreach ( const QByteArray &messageId, messageIds ) { - const Akonadi::Item item = itemForIdentifier( messageId ); - Q_ASSERT( item.isValid() ); - Q_ASSERT( item.hasPayload() ); - - const KMime::Message::Ptr message = messageForItem( item ); - const KDateTime messageDateTime = message->date()->dateTime(); - if ( messageDateTime > newest ) { - newest = messageDateTime; - newestId = item.id(); - } - } - - MostRecentEntry entry; - entry.id = newestId; - entry.dateTime = newest; - - mMostRecentCache.insert( itemId, entry ); - return newest; -} - -Akonadi::Item::Id MailThreadGrouperComparator::mostRecentIdInThread( const KMime::Message::Ptr &threadRoot, Akonadi::Item::Id itemId ) const -{ - const QHash::const_iterator it = mMostRecentCache.constFind( itemId ); - if ( it != mMostRecentCache.constEnd() ) - return (*it).id; - - const QSet messageIds = threadDescendants( identifierForMessage( threadRoot, itemId ) ); - - KDateTime newest = threadRoot->date()->dateTime(); - Akonadi::Item::Id newestId = itemId; - - if ( messageIds.isEmpty() ) { - MostRecentEntry entry; - entry.id = newestId; - entry.dateTime = newest; - mMostRecentCache.insert( itemId, entry ); - return itemId; - } - - foreach ( const QByteArray &messageId, messageIds ) { - const Akonadi::Item item = itemForIdentifier( messageId ); - Q_ASSERT( item.isValid() ); - Q_ASSERT( item.hasPayload() ); - - const KMime::Message::Ptr message = messageForItem( item ); - const KDateTime messageDateTime = message->date()->dateTime(); - if ( messageDateTime > newest ) - newest = messageDateTime; - newestId = item.id(); - } - - MostRecentEntry entry; - entry.id = newestId; - entry.dateTime = newest; - - mMostRecentCache.insert( itemId, entry ); - return itemId; -} - -KMime::Message::Ptr MailThreadGrouperComparator::messageForItem( const Akonadi::Item &item ) const -{ - const QHash::const_iterator it = mMessageCache.constFind( item.id() ); - if ( it != mMessageCache.constEnd() ) - return *it; - - KMime::Message::Ptr message = item.payload(); - mMessageCache.insert( item.id(), message ); - - return message; -} - diff --git a/kdepim/mobile/mail/mailthreadgroupercomparator.h b/kdepim/mobile/mail/mailthreadgroupercomparator.h deleted file mode 100644 index 4a3cde8a..00000000 --- a/kdepim/mobile/mail/mailthreadgroupercomparator.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MAILTHREADGROUPERCOMPARATOR_H -#define MAILTHREADGROUPERCOMPARATOR_H - -#include "threadgroupermodel.h" - -#include - -class MailThreadGrouperComparator : public ThreadGrouperComparator -{ - public: - enum SortingOption - { - SortByDateTime, - SortByDateTimeMostRecent, - SortBySenderReceiver, - SortBySubject, - SortBySize, - SortByActionItem - }; - - enum GroupingOption - { - GroupByNone, - GroupByDate, - GroupBySenderReceiver - }; - - /** - * Creates a new mail thread grouper comparator. - */ - MailThreadGrouperComparator(); - - /** - * Destroys the mail thread grouper comparator. - */ - ~MailThreadGrouperComparator(); - - /** - * Returns the unique identifier for the given message @p item. - */ - QByteArray identifierForItem( const Akonadi::Item &item ) const; - - /** - * Returns the parent identifier for the given message @p item. - */ - QByteArray parentIdentifierForItem( const Akonadi::Item &item ) const; - - /** - * Returns if the @p left message item is smaller than the @p right message item. - */ - bool lessThan( const Akonadi::Item &left, const Akonadi::Item &right ) const; - - /** - * Sets the sorting @p option. - * - * @note invalidateModel must be called afterwards to trigger an update - */ - void setSortingOption( SortingOption option ); - - /** - * Returns the sorting option. - */ - SortingOption sortingOption() const; - - /** - * Sets the grouping option. - * - * @note invalidateModel must be called afterwards to trigger an update - */ - void setGroupingOption( GroupingOption option ); - - /** - * Returns the grouping option. - */ - GroupingOption groupingOption() const; - - /** - * Sets whether the currently compared items come from an outbound mail collection - * (e.g. outbox, sent or drafts). - * - * @note invalidateModel must be called afterwards to trigger an update - */ - void setIsOutboundCollection( bool outbound ); - - /** - * Returns the string that shall be used as grouping key for the given @p item. - */ - virtual QString grouperString( const Akonadi::Item &item ) const; - - /** - * Triggers an invalidation of the ThreadGrouperModel this comparator belongs to. - * - * This method exists for performance reasons. Since a model invalidation always - * causes the modelReset() signal to be emitted, this method should be executed - * after all configuration changes (e.g. sorting/grouping option) have been done. - */ - void invalidateModel(); - - protected: - virtual void resetCaches(); - - private: - QByteArray identifierForMessage( const KMime::Message::Ptr&, Akonadi::Item::Id ) const; - KDateTime mostRecentDateTimeInThread( const KMime::Message::Ptr&, Akonadi::Item::Id ) const; - Akonadi::Item::Id mostRecentIdInThread( const KMime::Message::Ptr&, Akonadi::Item::Id ) const; - KMime::Message::Ptr messageForItem( const Akonadi::Item &item ) const; - - SortingOption mSortingOption; - GroupingOption mGroupingOption; - bool mIsOutboundCollection; - mutable QHash mMessageCache; - - struct MostRecentEntry - { - Akonadi::Item::Id id; - KDateTime dateTime; - }; - - mutable QHash mMostRecentCache; -}; - -#endif diff --git a/kdepim/mobile/mail/main.cpp b/kdepim/mobile/mail/main.cpp deleted file mode 100644 index 91ee1d5d..00000000 --- a/kdepim/mobile/mail/main.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* -* This file is part of Akonadi -* -* Copyright 2010 Stephen Kelly -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ - -#include "mainview.h" -#include "kmailmobileoptions.h" - -#include -#include - -#include - -#ifdef MAIL_SERIALIZER_PLUGIN_STATIC -#include - -Q_IMPORT_PLUGIN(akonadi_serializer_mail) -Q_IMPORT_PLUGIN(akonadi_serializer_addressee) -Q_IMPORT_PLUGIN(akonadi_serializer_contactgroup) -Q_IMPORT_PLUGIN(akonadi_serializer_kcalcore) -#endif - -#ifdef KDEPIM_STATIC_LIBS -extern bool ___MailTransport____INIT(); -#endif - -class KMailMobileApplication : public KDeclarativeApplication -{ -public: - KMailMobileApplication(); - explicit KMailMobileApplication( const KCmdLineOptions &applicationOptions ); - virtual int newInstance(); -}; - -KMailMobileApplication::KMailMobileApplication(): KDeclarativeApplication() -{ -} - -KMailMobileApplication::KMailMobileApplication( const KCmdLineOptions &applicationOptions ): KDeclarativeApplication( applicationOptions ) -{ -} - -int KMailMobileApplication::newInstance() -{ - KDeclarativeApplication::newInstance(); - if ( m_mainView ) { - m_mainView->handleCommandLine(); - } - return 0; -} - -int main( int argc, char **argv ) -{ - kWarning() << "Starting main function" << QDateTime::currentDateTime(); - -#ifdef KDEPIM_STATIC_LIBS - ___MailTransport____INIT(); -#endif - - const QByteArray& ba = QByteArray( "kmail-mobile" ); - const KLocalizedString name = ki18n( "Kontact Touch Mail" ); - KAboutData aboutData( ba, ba, name, ba, name ); - aboutData.setProductName( "KMail Mobile" ); //has to match the bugzilla product name - - KCmdLineArgs::init( argc, argv, &aboutData ); - KMailMobileApplication app( kmailMobileOptions() ); - - if ( !KMailMobileApplication::start() ) { - return 0; - } - - KGlobal::locale()->insertCatalog( QLatin1String("libakonadi-kmime") ); - KGlobal::locale()->insertCatalog( QLatin1String("libmessagecore") ); - KGlobal::locale()->insertCatalog( QLatin1String("libmessagecomposer") ); - KGlobal::locale()->insertCatalog( QLatin1String("libmessageviewer") ); - KGlobal::locale()->insertCatalog( QLatin1String("libtemplateparser" )); - KGlobal::locale()->insertCatalog( QLatin1String("libmailcommon") ); - KGlobal::locale()->insertCatalog( QLatin1String("kmail") ); // for identity dialog - KGlobal::locale()->insertCatalog( QLatin1String("libksieve") ); // for out of office reply dialog - KGlobal::locale()->insertCatalog( QLatin1String("akonadi_imap_resource") ); // for account status indicators - KGlobal::locale()->insertCatalog( QLatin1String("libkcalutils") ); // for invitation handling - KGlobal::locale()->insertCatalog( QLatin1String("libkleopatra") ); // for Krypto format settings in identity dialog - KGlobal::locale()->insertCatalog( QLatin1String("libkpimidentities") ); // for signature settings in identity dialog - KGlobal::locale()->insertCatalog( QLatin1String("calendarsupport") ); // for error messages while updating events and tasks - KGlobal::locale()->insertCatalog( QLatin1String("akonadicontact") ); //for identity + vcard - KGlobal::locale()->insertCatalog( QLatin1String("kabc") ); //need for addressbook - KGlobal::locale()->insertCatalog( QLatin1String("libpimcommon") ); //Need for acl - - return app.exec(); -} diff --git a/kdepim/mobile/mail/mainview.cpp b/kdepim/mobile/mail/mainview.cpp deleted file mode 100644 index 755ff639..00000000 --- a/kdepim/mobile/mail/mainview.cpp +++ /dev/null @@ -1,1924 +0,0 @@ -/* - Copyright (c) 2010 Stephen Kelly - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "mainview.h" - -#include "acleditor.h" -#include "actionhelper.h" -#include "breadcrumbnavigation.h" -#include "calendar/groupwareuidelegate.h" -#include "charsetselectiondialog.h" -#include "collectionfetchwatcher.h" -#include "composerview.h" -#include "configwidget.h" -#include "declarativewidgetbase.h" -#include "filtereditor.h" -#include "emailsexporthandler.h" -#include "emailsfilterproxymodel.h" -#include "emailsimporthandler.h" -#include "mailactionmanager.h" -#include "mailcommon/collectionpage/collectiongeneralpage.h" -#include "mailcommon/collectionpage/collectionexpirypage.h" -#include "mailcommon/filter/filtermanager.h" -#include "mailcommon/kernel/mailkernel.h" -#include "mailcommon/widgets/redirectdialog.h" -#include "mailcommon/mdn/sendmdnhandler.h" -#include "mailthreadgroupercomparator.h" -#include "messagecomposer/helper/messagehelper.h" -#include "messagecomposer/settings/messagecomposersettings.h" -#include "messagecore/helpers/messagehelpers.h" -#include "messagelistproxy.h" -#include "messagelistsettingscontroller.h" -#include "messageviewer/settings/globalsettings.h" -#include "messageviewer/header/headerstrategy.h" -#include "messageviewer/header/headerstyle.h" -#include "messageviewer/viewer/nodehelper.h" -#include "messageviewer/viewer/viewer.h" -#include "messageviewitem.h" -#include "mobilekernel.h" -#include "savemailcommand_p.h" -#include "searchwidget.h" -#include "settings.h" -#include "templateemailmodel.h" -#include "threadgroupermodel.h" -#include "threadmodel.h" -#include "threadselectionmodel.h" -#include "vacationmanager.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef KDEQMLPLUGIN_STATIC -#include "runtime/qml/kde/kdeintegration.h" -#endif - -Q_DECLARE_METATYPE( KMime::Content* ) -QML_DECLARE_TYPE( MessageViewer::MessageViewItem ) -QML_DECLARE_TYPE( DeclarativeConfigWidget ) -QML_DECLARE_TYPE( DeclarativeSearchWidget ) - -using namespace Akonadi; - -static bool workOffline() -{ - KConfig config( QLatin1String( "akonadikderc" ) ); - const KConfigGroup group( &config, QLatin1String( "Actions" ) ); - - return group.readEntry( "WorkOffline", false ); -} - -MainView::MainView(QWidget* parent) - : KDeclarativeMainView( QLatin1String( "kmail-mobile" ), new MessageListProxy, parent ), - mAskingToGoOnline( false ), - mTransportDialog( 0 ), - m_grouperComparator( 0 ), - mQuotaColorProxyModel( new QuotaColorProxyModel( this ) ) -{ - qRegisterMetaType(); - - updateConfig(); - - QDBusConnection::sessionBus().registerService( QLatin1String("org.kde.kmailmobile.composer") ); - QDBusConnection::sessionBus().registerObject( QLatin1String("/composer"), this, QDBusConnection::ExportScriptableSlots ); - - Akonadi::CollectionPropertiesDialog::registerPage( new MailCommon::CollectionGeneralPageFactory ); - Akonadi::CollectionPropertiesDialog::registerPage( new MailCommon::CollectionExpiryPageFactory ); -} - -MainView::~MainView() -{ - delete m_grouperComparator; - - const Akonadi::Collection trashCollection = CommonKernel->trashCollectionFolder(); - if ( trashCollection.isValid() ) { - if ( Settings::self()->miscEmptyTrashAtExit() ) { - if ( trashCollection.statistics().count() > 0 ) { - qDebug( "Emptying trash..." ); - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( trashCollection, this ); - if ( job->exec() ) { - const Akonadi::Item::List items = job->items(); - if ( !items.isEmpty() ) { - Akonadi::ItemDeleteJob *deleteJob = new Akonadi::ItemDeleteJob( items, this ); - deleteJob->exec(); - qDebug( "done" ); - } - } - } - } - } -} - -void MainView::handleCommandLine() -{ - KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); - - if ( args->isSet("A") ) { - QMetaObject::invokeMethod( this, "openComposerAndAttach", Qt::QueuedConnection, - Q_ARG(QString, args->getOption("t")), - Q_ARG(QString, args->getOption("c")), - Q_ARG(QString, args->getOption("b")), - Q_ARG(QString, args->getOption("s")), - Q_ARG(QString, args->getOption("B")), - Q_ARG(QStringList, QStringList() << args->getOptionList("A")) ); - } else if ( args->isSet("t") ) { - QMetaObject::invokeMethod( this, "openComposer", Qt::QueuedConnection, - Q_ARG(QString, args->getOption("t")), - Q_ARG(QString, args->getOption("c")), - Q_ARG(QString, args->getOption("b")), - Q_ARG(QString, args->getOption("s")), - Q_ARG(QString, args->getOption("B")) ); - } -} - -void MainView::setConfigWidget( ConfigWidget *configWidget ) -{ - Q_ASSERT( configWidget ); - connect( configWidget, SIGNAL(configChanged()), this, SLOT(updateConfig()) ); - connect( configWidget, SIGNAL(showTemplatesHelp()), this, SLOT(showTemplatesHelp()) ); -} - -bool MainView::collectionIsSentMail() const -{ - return (SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::SentMail ) == mCurrentCollection); -} - -int MainView::openComposer( const QString &to, const QString &cc, const QString &bcc, - const QString &subject, const QString &body ) -{ - KMime::Message::Ptr message = KMime::Message::Ptr( new KMime::Message ); - message->to()->fromUnicodeString( to, "utf-8" ); - message->cc()->fromUnicodeString( cc, "utf-8" ); - message->bcc()->fromUnicodeString( bcc, "utf-8" ); - message->date()->setDateTime( KDateTime::currentLocalDateTime() ); - message->subject()->fromUnicodeString( subject, "utf-8" ); - - KMime::Content *bodyMessage = message->mainBodyPart(); - bodyMessage->setBody( body.toUtf8() ); - message->assemble(); - - ComposerView *composer = new ComposerView; - composer->setMessage( message ); - composer->show(); - - composer->setIdentity( currentFolderIdentity() ); - - return 0; -} - -int MainView::openComposerAndAttach( const QString &to, const QString &cc, const QString &bcc, - const QString &subject, const QString &body, - const QStringList &attachments ) -{ - if (attachments.isEmpty()) { - return openComposer( to, cc, bcc, subject, body ); - } - - // Set the multipart message. - KMime::Message::Ptr message = KMime::Message::Ptr( new KMime::Message ); - KMime::Headers::ContentType *ct = message->contentType(); - ct->setMimeType( "multipart/mixed" ); - ct->setBoundary( KMime::multiPartBoundary() ); - ct->setCategory( KMime::Headers::CCcontainer ); - message->contentTransferEncoding()->clear(); - - // Set the headers. - message->to()->fromUnicodeString( to, "utf-8" ); - message->cc()->fromUnicodeString( cc, "utf-8" ); - message->bcc()->fromUnicodeString( bcc, "utf-8" ); - message->date()->setDateTime( KDateTime::currentLocalDateTime() ); - message->subject()->fromUnicodeString( subject, "utf-8" ); - - // Set the first multipart, the body message. - KMime::Content *bodyMessage = new KMime::Content; - bodyMessage->contentType()->setMimeType( "text/plain" ); - bodyMessage->setBody( body.toUtf8() + "\n\n" ); - message->addContent( bodyMessage ); - - KUrl::List attachURLs = KUrl::List( attachments ); - for ( KUrl::List::ConstIterator it = attachURLs.constBegin(); it != attachURLs.constEnd(); ++it ) { - KMime::Content * a = createAttachment( (*it) ); - if ( a ) { - message->addContent( a ); - } - } - - message->assemble(); - - ComposerView *composer = new ComposerView; - composer->setMessage( message ); - composer->show(); - composer->setIdentity( currentFolderIdentity() ); - - return 0; -} - -KMime::Content *MainView::createAttachment( const KUrl &url ) const -{ - KMimeType::Ptr mimeType = KMimeType::findByUrl(url, 0, true); - QString fileName = url.toLocalFile(); - QFile file(fileName); - - if ( !file.open(QIODevice::ReadOnly) ) { - kWarning() << "Error opening file" << fileName << "for attaching: " << file.errorString(); - return 0; - } - - // TODO: abort in case of huge file. - qint64 size = file.size(); - QByteArray contents = file.readAll(); - file.close(); - - if ( contents.size() < size ) { - kDebug() << "Short read while attaching file" << fileName; - } - - QByteArray coded = KCodecs::base64Encode( contents, true ); - KMime::Headers::ContentDisposition *d = new KMime::Headers::ContentDisposition; - d->setDisposition( KMime::Headers::CDattachment ); - d->setFilename( fileName.section(QLatin1Char('/'), -1) ); - d->setDisposition( KMime::Headers::CDattachment ); - - KMime::Content *a = new KMime::Content(); - a->contentType()->fromUnicodeString( mimeType->name(), "utf-8" ); - a->setHeader( d ); - a->contentTransferEncoding()->setEncoding( KMime::Headers::CEbase64 ); - a->contentTransferEncoding()->setDecoded( false ); - a->setBody( coded + "\n\n" ); - - return a; -} - -#define VIEW(model) { \ - QTreeView *view = new QTreeView( this ); \ - view->setWindowFlags( Qt::Window ); \ - view->setAttribute(Qt::WA_DeleteOnClose); \ - view->setModel(model); \ - view->setWindowTitle(#model); \ - view->show(); \ -} \ - -QAbstractItemModel* MainView::createItemModelContext(QDeclarativeContext* context, QAbstractItemModel* model) -{ - m_grouperComparator = new MailThreadGrouperComparator; - m_threadGrouperModel = new ThreadGrouperModel( m_grouperComparator, this ); - m_threadGrouperModel->setSourceModel( model ); - - model = m_threadGrouperModel; - - QAbstractProxyModel *itemFilterModel = createItemFilterModel(); - if ( itemFilterModel ) { - setItemFilterModel( itemFilterModel ); - itemFilterModel->setSourceModel( model ); - model = itemFilterModel; - } - - QMLCheckableItemProxyModel *qmlCheckable = new QMLCheckableItemProxyModel( this ); - qmlCheckable->setSourceModel( model ); - - QItemSelectionModel *itemActionCheckModel = new QItemSelectionModel( model, this ); - qmlCheckable->setSelectionModel( itemActionCheckModel ); - - KSelectionProxyModel *checkedItems = new KSelectionProxyModel( itemActionCheckModel, this ); - checkedItems->setFilterBehavior( KSelectionProxyModel::ExactSelection ); - checkedItems->setSourceModel( model ); - - QItemSelectionModel *itemNavigationModel = new QItemSelectionModel( model, this ); - - QAbstractProxyModel *_listProxy = listProxy(); - - if ( _listProxy ) { - _listProxy->setParent( this ); // Make sure the proxy gets deleted when this gets deleted. - - _listProxy->setSourceModel( qmlCheckable ); - } - KLinkItemSelectionModel *itemNavigationSelectionModel = new KLinkItemSelectionModel( _listProxy, itemNavigationModel, this ); - - KLinkItemSelectionModel *itemActionSelectionModel = new KLinkItemSelectionModel( _listProxy, itemActionCheckModel, this ); - setItemNaigationAndActionSelectionModels(itemNavigationSelectionModel, itemActionSelectionModel); - - if ( _listProxy ) { - context->setContextProperty( QLatin1String("itemModel"), _listProxy ); - - QMLListSelectionModel *qmlItemNavigationSelectionModel = new QMLListSelectionModel( itemNavigationSelectionModel, this ); - QMLListSelectionModel *qmlItemActionSelectionModel = new QMLListSelectionModel( itemActionSelectionModel, this ); - - context->setContextProperty( QLatin1String("_itemNavigationModel"), QVariant::fromValue( static_cast( qmlItemNavigationSelectionModel ) ) ); - context->setContextProperty( QLatin1String("_itemActionModel"), QVariant::fromValue( static_cast( qmlItemActionSelectionModel ) ) ); - - Akonadi::BreadcrumbNavigationFactory *bulkActionBnf = new Akonadi::BreadcrumbNavigationFactory( this ); - bulkActionBnf->createCheckableBreadcrumbContext( entityTreeModel(), this ); - context->setContextProperty( QLatin1String("_bulkActionBnf"), QVariant::fromValue( static_cast( bulkActionBnf ) ) ); - } - - m_threadsModel = new ThreadModel(_listProxy, this); - - context->setContextProperty(QLatin1String( "_threads"), m_threadsModel ); - - QItemSelectionModel *itemThreadModel = new QItemSelectionModel( model, this ); - - m_threadContentsModel = new KSelectionProxyModel(itemThreadModel, this); - m_threadContentsModel->setSourceModel(_listProxy); - m_threadContentsModel->setObjectName(QLatin1String("threadContentsModel")); - - context->setContextProperty( QLatin1String("_threadContents"), m_threadContentsModel ); - - ThreadSelectionModel *threadSelector = new ThreadSelectionModel(m_threadsModel, itemThreadModel, itemNavigationModel, this); - - QMLListSelectionModel *qmlThreadSelector = new QMLListSelectionModel(threadSelector, this); - - context->setContextProperty(QLatin1String("_threadSelector"), qmlThreadSelector ); - - KLinkItemSelectionModel *threadMailSelector = new KLinkItemSelectionModel(m_threadContentsModel, itemNavigationModel, this); - - QMLListSelectionModel *qmlThreadMailSelector = new QMLListSelectionModel(threadMailSelector, this); - - context->setContextProperty(QLatin1String("_threadMailSelector"), qmlThreadMailSelector ); - - connect( this, SIGNAL(collectionSelectionChanged()), - this, SLOT(slotCollectionSelectionChanged()) ); - -#if 0 - { - QTreeView *view = new QTreeView; - view->setAttribute(Qt::WA_DeleteOnClose); - view->setModel(m_threadsModel); - view->setSelectionModel(threadSelector); - view->setWindowTitle("threads"); - view->show(); - } -#endif - - return model; -} - -bool MainView::doNotUseFilterLineEditInCurrentState() const -{ - // do not use filter line edit when in thread contents view - return (m_threadContentsModel->rowCount() > 0); -} - -void MainView::doDelayedInit() -{ - static const bool debugTiming = KCmdLineArgs::parsedArgs()->isSet( "timeit" ); - MobileKernel::self()->setFolderCollectionMonitor( monitor() ); - - mCollectionModel = new Akonadi::EntityMimeTypeFilterModel( this ); - mCollectionModel->setSourceModel( entityTreeModel() ); - mCollectionModel->addMimeTypeInclusionFilter( Akonadi::Collection::mimeType() ); - mCollectionModel->setHeaderGroup( Akonadi::EntityTreeModel::CollectionTreeHeaders ); - mCollectionModel->setDynamicSortFilter( true ); - mCollectionModel->setSortCaseSensitivity( Qt::CaseInsensitive ); - - MobileKernel::self()->setCollectionModel( mCollectionModel ); - - mTemplateSelectionModel = new QItemSelectionModel( entityTreeModel(), this ); - - mEmailTemplateModel = new TemplateEmailModel( mTemplateSelectionModel, this ); - mEmailTemplateModel->setSourceModel( entityTreeModel() ); - mEmailTemplateModel->setFilterBehavior( KSelectionProxyModel::ChildrenOfExactSelection ); - rootContext()->setContextProperty( QLatin1String("_emailTemplateModel"), mEmailTemplateModel ); - - FilterEditor *filterEditor = new FilterEditor( actionCollection(), this ); - rootContext()->setContextProperty( QLatin1String("filterEditor"), filterEditor ); - rootContext()->setContextProperty( QLatin1String("filterModel"), filterEditor->model() ); - - mAclEditor = new AclEditor( actionCollection(), this ); - rootContext()->setContextProperty( QLatin1String("aclEditor"), mAclEditor ); - rootContext()->setContextProperty( QLatin1String("aclModel"), mAclEditor->model() ); - - VacationManager *vacationManager = new VacationManager( actionCollection(), this, this ); - rootContext()->setContextProperty( QLatin1String("vacationManager"), vacationManager ); - - mMessageListSettingsController = new MessageListSettingsController( this ); - actionCollection()->addAction( QLatin1String("messagelist_change_settings"), mMessageListSettingsController->editAction() ); - actionCollection()->action( QLatin1String("messagelist_change_settings") )->setText( i18n( "Messagelist Display Format" ) ); - rootContext()->setContextProperty( QLatin1String("messageListSettings"), mMessageListSettingsController ); - connect( mMessageListSettingsController, SIGNAL(settingsChanged(MessageListSettings)), - this, SLOT(messageListSettingsChanged(MessageListSettings)) ); - - QTime time; - if ( debugTiming ) { - time.start(); - kWarning() << "Start MainView ctor" << &time << " - " << QDateTime::currentDateTime(); - } - - qmlRegisterType( "org.kde.messageviewer", 4, 5, "MessageView" ); - qmlRegisterType( "org.kde.akonadi.mail", 4, 5, "ConfigWidget" ); - qmlRegisterType( "org.kde.akonadi.mail", 4, 5, "SearchWidget" ); -#ifdef KDEQMLPLUGIN_STATIC - rootContext()->setContextProperty( QLatin1String( "KDE" ), new KDEIntegration( this ) ); -#endif - - addMimeType( KMime::Message::mimeType() ); - itemFetchScope().fetchPayloadPart( MessagePart::Envelope ); - setWindowTitle( i18n( "Mail" ) ); - - MailActionManager *mailActionManager = new MailActionManager( actionCollection(), this ); - mailActionManager->setItemSelectionModel( itemSelectionModel() ); - mailActionManager->setItemActionSelectionModel( itemActionModel() ); - - connect( actionCollection()->action( QLatin1String("mark_message_important") ), SIGNAL(triggered(bool)), SLOT(markImportant(bool)) ); - connect( actionCollection()->action( QLatin1String("mark_message_action_item") ), SIGNAL(triggered(bool)), SLOT(markMailTask(bool)) ); - connect( actionCollection()->action( QLatin1String("send_queued_emails") ), SIGNAL(triggered(bool)), SLOT(sendQueued()) ); - connect( actionCollection()->action( QLatin1String("send_queued_emails_via") ), SIGNAL(triggered(bool)), SLOT(sendQueuedVia()) ); - connect( actionCollection()->action( QLatin1String("message_reply") ), SIGNAL(triggered(bool)), SLOT(replyToMessage()) ); - connect( actionCollection()->action( QLatin1String("message_reply_to_list") ), SIGNAL(triggered(bool)), SLOT(replyToMailingList()) ); - connect( actionCollection()->action( QLatin1String("message_reply_without_quoting") ), SIGNAL(triggered(bool)), SLOT(replyWithoutQuoting()) ); - connect( actionCollection()->action( QLatin1String("message_forward_as_attachment") ), SIGNAL(triggered(bool)), SLOT(forwardAsAttachment()) ); - connect( actionCollection()->action( QLatin1String("message_redirect") ), SIGNAL(triggered(bool)), SLOT(redirect()) ); - connect( actionCollection()->action( QLatin1String("message_send_again" )), SIGNAL(triggered(bool)), SLOT(sendAgain()) ); - connect( actionCollection()->action( QLatin1String("message_edit") ), SIGNAL(triggered(bool)), SLOT(sendAgain()) ); //do the same under a different name - connect( actionCollection()->action( QLatin1String("message_find_in") ), SIGNAL(triggered(bool)), SLOT(findInMessage()) ); - connect( actionCollection()->action( QLatin1String("message_save_as") ), SIGNAL(triggered(bool)), SLOT(saveMessage()) ); - connect( actionCollection()->action( QLatin1String("message_fixed_font") ), SIGNAL(triggered(bool)), SLOT(useFixedFont()) ); - connect( actionCollection()->action( QLatin1String("save_favorite") ), SIGNAL(triggered(bool)), SLOT(saveFavorite()) ); - connect( actionCollection()->action( QLatin1String("prefer_html_to_plain") ), SIGNAL(triggered(bool)), SLOT(preferHTML(bool)) ); - connect( actionCollection()->action( QLatin1String("prefer_html_to_plain_viewer") ), SIGNAL(triggered(bool)), SLOT(preferHtmlViewer(bool)) ); - connect( actionCollection()->action( QLatin1String("load_external_ref") ), SIGNAL(triggered(bool)), SLOT(loadExternalReferences(bool)) ); - connect( actionCollection()->action( QLatin1String("move_all_to_trash") ), SIGNAL(triggered(bool)), SLOT(moveToOrEmptyTrash()) ); - connect( actionCollection()->action( QLatin1String("apply_filters") ), SIGNAL(triggered(bool)), SLOT(applyFilters()) ); - connect( actionCollection()->action( QLatin1String("apply_filters_bulk_action") ), SIGNAL(triggered(bool)), SLOT(applyFiltersBulkAction()) ); - - connect( itemSelectionModel()->model(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(dataChanged()) ); - - KAction *action = new KAction( i18n( "New Email" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(startComposer()) ); - actionCollection()->addAction( QLatin1String("add_new_mail"), action ); - - action = new KAction( i18n( "Import Emails" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(importItems()) ); - actionCollection()->addAction( QLatin1String( "import_emails" ), action ); - - action = new KAction( i18n( "Export Emails From This Account" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_account_emails" ), action ); - - action = new KAction( i18n( "Export Displayed Emails" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_selected_emails" ), action ); - - action = new KAction( i18n( "Show Source" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(showMessageSource()) ); - actionCollection()->addAction( QLatin1String( "show_message_source" ), action ); - - action = new KAction( i18n( "Email Encoding" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(selectOverrideEncoding()) ); - actionCollection()->addAction( QLatin1String( "change_message_encoding" ), action ); - - action = new KAction( i18n( "Show All Recipients" ), this ); - action->setCheckable( true ); - connect( action, SIGNAL(triggered(bool)), SLOT(toggleShowExtendedHeaders(bool)) ); - actionCollection()->addAction( QLatin1String( "show_extended_headers" ), action ); - - // lazy load of the default single folders - QTimer::singleShot( 3000, this, SLOT(initDefaultFolders()) ); - - // Is there messages to recover? Do it if needed. - recoverAutoSavedMessages(); - - if ( debugTiming ) { - kWarning() << "Finished MainView ctor: " << time.elapsed() << " - "<< &time; - } - - connect( this, SIGNAL(statusChanged(QDeclarativeView::Status)), - this, SLOT(qmlInitialized(QDeclarativeView::Status)) ); - - if ( !workOffline() ) { - const Akonadi::AgentInstance::List lst = MailCommon::Util::agentInstances(); - foreach ( Akonadi::AgentInstance type, lst ) { - const QString identifier = type.identifier(); - if ( PimCommon::Util::isImapResource(identifier) || - identifier.contains( POP3_RESOURCE_IDENTIFIER ) ) { - type.setIsOnline( true ); - } - } - } -} - -void MainView::qmlInitialized(QDeclarativeView::Status status) -{ - if ( status != Ready ) - return; - - MessageViewer::MessageViewItem* item = messageViewerItem(); - - if ( item ) { - // register the send MDN handler - item->viewer()->addMessageLoadedHandler( new MailCommon::SendMdnHandler( MobileKernel::self(), this ) ); - - const bool fixedFont = MessageViewer::GlobalSettings::self()->useFixedFont(); - item->viewer()->setUseFixedFont( fixedFont ); - actionCollection()->action( QLatin1String("message_fixed_font") )->setChecked( fixedFont ); - - actionCollection()->action( QLatin1String("show_extended_headers") )->setChecked( true ); - toggleShowExtendedHeaders( true ); - - connect( item->viewer(), SIGNAL(deleteMessage(Akonadi::Item)), - this, SLOT(slotDeleteMessage(Akonadi::Item)) ); - } -} - -void MainView::slotDeleteMessage( const Akonadi::Item &item ) -{ - if ( !item.isValid() ) - return; - - Akonadi::ItemDeleteJob *job = new Akonadi::ItemDeleteJob( item ); - job->start(); -} - -void MainView::recoverAutoSavedMessages() -{ - kDebug() << "Any message to recover?"; - QDir autoSaveDir( KStandardDirs::locateLocal( "data", QLatin1String( "kmail2/" ) ) + QLatin1String( "autosave" ) ); - //### move directory creation to here - - const QFileInfoList savedMessages = autoSaveDir.entryInfoList( QDir::Files ); - - if ( savedMessages.empty() ) { - kDebug() << "No messages to recover"; - return; - } - - foreach ( const QFileInfo& savedMessage, savedMessages ) { - QFile file( savedMessage.absoluteFilePath() ); - - if ( file.open( QIODevice::ReadOnly ) ) { - const KMime::Message::Ptr messagePtr ( new KMime::Message() ); - messagePtr->setContent( file.readAll() ); - messagePtr->parse(); - - // load the autosaved message in a new composer - ComposerView *composer = new ComposerView; - composer->setMessage( messagePtr, false ); - composer->setAutoSaveFileName( savedMessage.fileName() ); - composer->show(); - - file.close(); - } else { - kDebug() << "error!!"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Could not recover a saved message." ), - i18n( "Recover Message Error" ) ); - } - } -} - -void MainView::startComposer() -{ - KMime::Message::Ptr msg( new KMime::Message() ); - - const uint identity = currentFolderIdentity(); - MessageHelper::initHeader( msg, MobileKernel::self()->identityManager(), identity ); - - ComposerView *composer = new ComposerView; - composer->setMessage( msg ); - composer->show(); - - composer->setIdentity( identity ); -} - -uint MainView::currentFolderIdentity() const -{ - // preset the folder/account identity of the current collection - const QModelIndexList indexes = regularSelectionModel()->selectedIndexes(); - if ( indexes.isEmpty() ) - return 0; - - const QModelIndex index = indexes.first(); - const Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( !collection.isValid() ) - return 0; - - QSharedPointer folderCollection = MailCommon::FolderCollection::forCollection( collection ); - if ( folderCollection.isNull() ) - return 0; - - return folderCollection->identity(); -} - -void MainView::restoreDraft( quint64 id ) -{ - ItemFetchJob *job = new ItemFetchJob( Item( id ), this ); - job->fetchScope().fetchFullPayload(); - job->fetchScope().setAncestorRetrieval( ItemFetchScope::Parent ); - connect( job, SIGNAL(result(KJob*)), SLOT(composeFetchResult(KJob*)) ); -} - -void MainView::composeFetchResult( KJob *job ) -{ - const ItemFetchJob *fetchJob = qobject_cast( job ); - if ( job->error() || fetchJob->items().isEmpty() ) { - kDebug() << "error:" << job->errorText(); - //###: review error string - KMessageBox::sorry( this, - i18n( "Could not restore a draft." ), - i18n( "Restore Draft Error" ) ); - return; - } - - const Item item = fetchJob->items().first(); - if ( !item.isValid() && !item.parentCollection().isValid() ) { - //###: review error string - KMessageBox::sorry( this, - i18n( "Invalid draft message." ), - i18n( "Restore Draft Error" ) ); - return; - } - - const KMime::Message::Ptr msg = MessageCore::Util::message( item ); - if ( !msg ) { - //###: review error string - KMessageBox::sorry( this, - i18n( "Message content error" ), - i18n( "Restore Draft Error" ) ); - return; - } - - // delete from the drafts folder - // ###: do we need an option for this?) - ItemDeleteJob *deleteJob = new ItemDeleteJob( item ); - connect( deleteJob, SIGNAL(result(KJob*)), this, SLOT(deleteItemResult(KJob*)) ); - - // create the composer and fill it with the retrieved message - ComposerView *composer = new ComposerView; - composer->setMessage( msg, false ); - composer->show(); -} - -void MainView::sendAgain() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - ItemFetchJob *job = new ItemFetchJob( Item( item.id() ), this ); - job->fetchScope().fetchFullPayload(); - connect( job, SIGNAL(result(KJob*)), SLOT(sendAgainFetchResult(KJob*)) ); -} - -void MainView::sendAgainFetchResult( KJob *job ) -{ - const ItemFetchJob *fetchJob = qobject_cast( job ); - if ( job->error() || fetchJob->items().isEmpty() ) - return; - - const Item item = fetchJob->items().first(); - if ( !item.hasPayload() ) - return; - - const KMime::Message::Ptr msg = MessageCore::Util::message( item ); - MessageComposer::MessageFactory factory( msg, item.id() ); - factory.setIdentityManager( MobileKernel::self()->identityManager() ); - - KMime::Message::Ptr newMsg = factory.createResend(); - newMsg->contentType()->setCharset( MessageViewer::NodeHelper::charset( msg.get() ) ); - - ComposerView *composer = new ComposerView; - composer->setMessage( newMsg, false ); - composer->show(); -} - -bool MainView::askToGoOnline() -{ - // already asking means we are offline and need to wait anyhow - if ( mAskingToGoOnline ) { - return false; - } - - if ( workOffline() ) { - mAskingToGoOnline = true; - int rc = - KMessageBox::questionYesNo( this, - i18n( "KMail is currently in offline mode. " - "How do you want to proceed?" ), - i18n( "Online/Offline" ), - KGuiItem( i18n( "Work Online" ) ), - KGuiItem( i18n( "Work Offline" ) ) ); - - mAskingToGoOnline = false; - if ( rc == KMessageBox::No ) { - return false; - } else { - ///emulate turning off offline mode - QAction *workOffLineAction = mMailActionManager->action( StandardActionManager::ToggleWorkOffline ); - workOffLineAction->setChecked( true ); - workOffLineAction->trigger(); - } - } - - return true; -} - -void MainView::sendQueued() -{ - if ( !askToGoOnline() ) - return; - - KernelIf->msgSender()->sendQueued(); -} - -void MainView::sendQueuedVia() -{ - if ( !askToGoOnline() ) - return; - - const QStringList availTransports= MailTransport::TransportManager::self()->transportNames(); - - delete mTransportDialog; - mTransportDialog = new QWidget( this, Qt::Dialog ); //not a real dialog though, should be done in QML - mTransportDialog->setWindowTitle( i18n( "Send Queued Email Via" ) ); - - QPalette palette = mTransportDialog->palette(); - palette.setColor( QPalette::Window, Qt::darkGray ); //make sure the label is readable... - mTransportDialog->setPalette( palette ); - - QVBoxLayout *layout = new QVBoxLayout( mTransportDialog ); - QLabel *label = new QLabel( i18n( "Send Queued Email Via" ) ); - layout->addWidget( label ); - QSignalMapper *mapper = new QSignalMapper( mTransportDialog ); - - Q_FOREACH( const QString &transport, availTransports ) { - QPushButton *button = new QPushButton( transport ); - layout->addWidget( button ); - mapper->setMapping( button, transport ); - connect( button, SIGNAL(clicked()), mapper, SLOT(map()) ); - } - - connect( mapper, SIGNAL(mapped(QString)), this, SLOT(sendQueuedVia(QString))); - - QPushButton *button = new QPushButton( i18n( "Discard" ) ); - layout->addWidget( button ); - connect( button, SIGNAL(clicked(bool)), mTransportDialog, SLOT(close()) ); - - mTransportDialog->show(); -} - -void MainView::sendQueuedVia( const QString &transport ) -{ - KernelIf->msgSender()->sendQueued( transport ); - delete mTransportDialog; - mTransportDialog = 0; -} - -void MainView::replyToAuthor() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - reply( item.id(), MessageComposer::ReplyAuthor ); -} - -void MainView::replyToMailingList() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - reply( item.id(), MessageComposer::ReplyList ); -} - -void MainView::reply( quint64 id, MessageComposer::ReplyStrategy replyStrategy, bool quoteOriginal ) -{ - ItemFetchJob *job = new ItemFetchJob( Item( id ), this ); - job->fetchScope().fetchFullPayload(); - job->setProperty( "replyStrategy", QVariant::fromValue( replyStrategy ) ); - job->setProperty( "quoteOriginal", QVariant::fromValue( quoteOriginal ) ); - connect( job, SIGNAL(result(KJob*)), SLOT(replyFetchResult(KJob*)) ); -} - -void MainView::replyFetchResult( KJob *job ) -{ - const ItemFetchJob *fetchJob = qobject_cast( job ); - if ( job->error() || fetchJob->items().isEmpty() ) - return; - - const Item item = fetchJob->items().first(); - if ( !item.hasPayload() ) - return; - - MessageComposer::MessageFactory factory( item.payload(), item.id() ); - factory.setIdentityManager( MobileKernel::self()->identityManager() ); - factory.setReplyStrategy( fetchJob->property( "replyStrategy" ).value() ); - - factory.setQuote( fetchJob->property( "quoteOriginal" ).toBool() ); - - ComposerView *composer = new ComposerView; - composer->setMessage( factory.createReply().msg ); - composer->show(); - - composer->setIdentity( currentFolderIdentity() ); -} - -void MainView::forward( quint64 id, ForwardMode mode ) -{ - ItemFetchJob *job = new ItemFetchJob( Item( id ), this ); - job->fetchScope().fetchFullPayload(); - job->setProperty( "forwardMode", QVariant::fromValue( mode ) ); - connect( job, SIGNAL(result(KJob*)), SLOT(forwardFetchResult(KJob*)) ); -} - -void MainView::forwardFetchResult( KJob* job ) -{ - const ItemFetchJob *fetchJob = qobject_cast( job ); - if ( job->error() || fetchJob->items().isEmpty() ) - return; - - const Item item = fetchJob->items().first(); - if ( !item.hasPayload() ) - return; - - MessageComposer::MessageFactory factory( item.payload(), item.id() ); - factory.setIdentityManager( MobileKernel::self()->identityManager() ); - - const ForwardMode mode = fetchJob->property( "forwardMode" ).value(); - if ( mode == Redirect ) { - const MailCommon::RedirectDialog::SendMode sendMode = MessageComposer::MessageComposerSettings::self()->sendImmediate() - ? MailCommon::RedirectDialog::SendNow - : MailCommon::RedirectDialog::SendLater; - - MailCommon::RedirectDialog dlg( sendMode, this ); - if ( !dlg.exec() ) - return; - - if ( !MailTransport::TransportManager::self()->showTransportCreationDialog( this, MailTransport::TransportManager::IfNoTransportExists ) ) - return; - - factory.setFolderIdentity( MailCommon::Util::folderIdentity( item ) ); - const KMime::Message::Ptr redirectMessage = factory.createRedirect( dlg.to(), dlg.cc(), dlg.bcc() ); - if ( !redirectMessage ) - return; - - MessageStatus status; - status.setStatusFromFlags( item.flags() ); - if ( !status.isRead() ) - MailCommon::FilterAction::sendMDN( item, KMime::MDN::Dispatched ); - - const MessageComposer::MessageSender::SendMethod method = (dlg.sendMode() == MailCommon::RedirectDialog::SendNow) - ? MessageComposer::MessageSender::SendImmediate - : MessageComposer::MessageSender::SendLater; - - MobileKernel::self()->msgSender()->send( redirectMessage, method ); - - } else { - ComposerView *composer = new ComposerView; - switch ( mode ) { - case InLine: - composer->setMessage( factory.createForward() ); - break; - - case AsAttachment: { - QPair< KMime::Message::Ptr, QList< KMime::Content* > > forwardMessage = - factory.createAttachedForward( QList< Akonadi::Item >() << item); - - // the invokeMethods are there to be sure setMessage and addAttachment - // are called after composer->delayedInit - QMetaObject::invokeMethod( composer, "setMessage", Qt::QueuedConnection, - Q_ARG( KMime::Message::Ptr, forwardMessage.first ) ); - foreach ( KMime::Content* attach, forwardMessage.second ) { - QMetaObject::invokeMethod( composer, "addAttachment", Qt::QueuedConnection, - Q_ARG( KMime::Content*, attach ) ); - } - break; - } - - case Redirect: - break; // to make compilers happy. the Redirect case is handled above. - } - - composer->show(); - composer->setIdentity( currentFolderIdentity() ); - } - -} - -void MainView::markImportant( bool checked ) -{ - Item item = currentItem(); - if ( !item.isValid() ) - return; - - MessageStatus status; - status.setStatusFromFlags( item.flags() ); - if ( checked && status.isImportant() ) - return; - - if ( checked ) - status.setImportant(); - else - status.setImportant( false ); - - item.setFlags( status.statusFlags() ); - - ItemModifyJob *job = new ItemModifyJob( item ); - job->disableRevisionCheck(); - job->setIgnorePayload( true ); - connect( job, SIGNAL(result(KJob*)), SLOT(modifyDone(KJob*)) ); -} - -void MainView::markMailTask( bool checked ) -{ - Item item = currentItem(); - if ( !item.isValid() ) - return; - - MessageStatus status; - status.setStatusFromFlags( item.flags() ); - if ( checked && status.isToAct() ) - return; - - if ( checked ) - status.setToAct(); - else - status.setToAct( false ); - - item.setFlags( status.statusFlags() ); - - ItemModifyJob *job = new ItemModifyJob( item ); - job->disableRevisionCheck(); - job->setIgnorePayload( true ); - connect( job, SIGNAL(result(KJob*)), SLOT(modifyDone(KJob*)) ); -} - -void MainView::replyToMessage() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - reply( item.id(), MessageComposer::ReplySmart ); -} - -void MainView::replyWithoutQuoting() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - reply( item.id(), MessageComposer::ReplySmart, false); -} - -void MainView::replyToAll() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - reply( item.id(), MessageComposer::ReplyAll ); -} - -void MainView::forwardMessage() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - forward( item.id(), InLine ); -} - -void MainView::forwardAsAttachment() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - forward( item.id(), AsAttachment ); -} - -void MainView::redirect() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - forward( item.id(), Redirect ); -} - -Item MainView::currentItem() const -{ - const QModelIndexList list = itemSelectionModel()->selectedRows(); - - if ( list.size() != 1 ) - return Item(); - - const QModelIndex index = list.first(); - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - if ( !item.hasPayload() ) - return Item(); - - return item; -} - -void MainView::modifyDone( KJob *job ) -{ - if ( job->error() ) { - kWarning() << "Modify error: " << job->errorString(); - //###: review error string - //## Use a notification instead? - KMessageBox::sorry( this, - i18n( "Error trying to set item status" ), - i18n( "Messages status error" ) ); - return; - } -} - -void MainView::dataChanged() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - - MessageStatus status; - status.setStatusFromFlags( item.flags() ); - - actionCollection()->action( QLatin1String("mark_message_important") )->setChecked( status.isImportant() ); - actionCollection()->action( QLatin1String("mark_message_action_item") )->setChecked( status.isToAct() ); -} - -void MainView::configureIdentity() -{ - KCMultiDialog dlg; - dlg.addModule( QLatin1String("kcm_kpimidentities") ); - dlg.currentPage()->setHeader( QLatin1String( "" ) ); // hide header to save space - dlg.setButtons( KDialog::Ok | KDialog::Cancel ); - dlg.exec(); -} - -bool MainView::isDraftThreadContent( int row ) -{ - static const int column = 0; - const QModelIndex index = m_threadContentsModel->index( row, column ); - - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - - return folderIsDrafts( item.parentCollection() ); -} - -bool MainView::isDraftThreadRoot( int row ) -{ - static const int column = 0; - const QModelIndex index = m_threadsModel->index( row, column ); - - const int threadSize = index.data( ThreadModel::ThreadSizeRole ).toInt(); - if ( threadSize != 1 ) - return false; - - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - - return folderIsDrafts( item.parentCollection() ); -} - -bool MainView::isSingleMessage(int row) -{ - static const int column = 0; - const QModelIndex index = m_threadsModel->index( row, column ); - - const int threadSize = index.data(ThreadModel::ThreadSizeRole).toInt(); - return threadSize == 1; -} - -bool MainView::isTemplateThreadContent( int row ) -{ - static const int column = 0; - const QModelIndex index = m_threadContentsModel->index( row, column ); - - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - - return folderIsTemplates( item.parentCollection() ); -} - -bool MainView::isTemplateThreadRoot( int row ) -{ - static const int column = 0; - const QModelIndex index = m_threadsModel->index( row, column ); - - const int threadSize = index.data( ThreadModel::ThreadSizeRole ).toInt(); - if ( threadSize != 1 ) - return false; - - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - - return folderIsTemplates( item.parentCollection() ); -} - -// ############################################################# -// ### Share the code between these marks with KMail Desktop? - -void MainView::initDefaultFolders() -{ - findCreateDefaultCollection( SpecialMailCollections::Inbox ); - findCreateDefaultCollection( SpecialMailCollections::Outbox ); - findCreateDefaultCollection( SpecialMailCollections::SentMail ); - findCreateDefaultCollection( SpecialMailCollections::Drafts ); - findCreateDefaultCollection( SpecialMailCollections::Trash ); - findCreateDefaultCollection( SpecialMailCollections::Templates ); - -} - -void MainView::findCreateDefaultCollection( SpecialMailCollections::Type type ) -{ - if ( SpecialMailCollections::self()->hasDefaultCollection( type ) ) { - const Collection collection = SpecialMailCollections::self()->defaultCollection( type ); - if ( !( collection.rights() & Collection::AllRights ) ) - kDebug() << "You do not have read/write permission to your inbox folder"; - } else { - SpecialMailCollectionsRequestJob *job = - new SpecialMailCollectionsRequestJob( this ); - - connect( job, SIGNAL(result(KJob*)), - this, SLOT(createDefaultCollectionDone(KJob*)) ); - job->requestDefaultCollection( type ); - job->setProperty("TYPE", (int) type ); - } -} - -void MainView::createDefaultCollectionDone( KJob *job ) -{ - if ( job->error() ) { - kDebug() << "Error creating default collection: " << job->errorText(); - //###: review error string - // disabled for now, triggers too often without good reason on the n900 (too short timeouts probably) -/* KMessageBox::sorry( this, - i18n("Error creating default collection."), - i18n("Internal Error"));*/ - return; - } - - if ( (SpecialMailCollections::Type)( job->property("TYPE").toInt() ) == SpecialMailCollections::Templates ) { - mTemplateSelectionModel->select( EntityTreeModel::modelIndexForCollection( entityTreeModel(), CommonKernel->templatesCollectionFolder() ), QItemSelectionModel::Select ); - } - - SpecialMailCollectionsRequestJob *requestJob = - qobject_cast( job ); - - const Collection collection = requestJob->collection(); - if ( !( collection.rights() & Collection::AllRights ) ) - kDebug() << "You do not have read/write permission to your inbox folder."; - - connect( SpecialMailCollections::self(), SIGNAL(defaultCollectionsChanged()), - this, SLOT(initDefaultFolders()), Qt::UniqueConnection ); - - folderChanged(); //call here, as e.g trash folders cannot be detected before the special collections are set up -} - -bool MainView::folderIsDrafts( const Collection &collection ) -{ - const Collection defaultDraftCollection = SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Drafts ); - - // check if this is the default draft folder - if ( collection == defaultDraftCollection ) - return true; - - // check for invalid collection - const QString idString = QString::number( collection.id() ); - if ( idString.isEmpty() ) - return false; - - // search the identities if the folder matches the drafts-folder - const KPIMIdentities::IdentityManager *im = MobileKernel::self()->identityManager(); - for ( KPIMIdentities::IdentityManager::ConstIterator it = im->begin(); it != im->end(); ++it ) { - if ( (*it).drafts() == idString ) - return true; - } - - return false; -} - -bool MainView::folderIsTemplates( const Collection &collection ) -{ - const Collection defaultTemplatesCollection = SpecialMailCollections::self()->defaultCollection( SpecialMailCollections::Templates ); - - // check if this is the default templates folder - if ( collection == defaultTemplatesCollection ) - return true; - - // check for invalid collection - const QString idString = QString::number( collection.id() ); - if ( idString.isEmpty() ) - return false; - - // search the identities if the folder matches the drafts-folder - const KPIMIdentities::IdentityManager *im = MobileKernel::self()->identityManager(); - for ( KPIMIdentities::IdentityManager::ConstIterator it = im->begin(); it != im->end(); ++it ) { - if ( (*it).templates() == idString ) - return true; - } - - return false; -} - -void MainView::deleteItemResult( KJob *job ) -{ - if ( job->error() ) { - kDebug() << "Error trying to delete item"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Cannot delete draft." ), - i18n( "Delete Draft Error" ) ); - } -} - -void MainView::setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ) -{ - mMailActionManager = new StandardMailActionManager( actionCollection(), this ); - mMailActionManager->setCollectionSelectionModel( collectionSelectionModel ); - mMailActionManager->setItemSelectionModel( itemSelectionModel ); - - //Don't use mMailActionManager->createAllActions() to save memory by not - //creating actions that doesn't make sense in mobile. - QList standardActions; - standardActions << StandardActionManager::CreateCollection << StandardActionManager::CopyCollections - << StandardActionManager::DeleteCollections << StandardActionManager::SynchronizeCollections - << StandardActionManager::CollectionProperties << StandardActionManager::CopyItems - << StandardActionManager::Paste << StandardActionManager::DeleteItems - << StandardActionManager::ManageLocalSubscriptions << StandardActionManager::AddToFavoriteCollections - << StandardActionManager::RemoveFromFavoriteCollections << StandardActionManager::RenameFavoriteCollection - << StandardActionManager::CutItems << StandardActionManager::CutCollections - << StandardActionManager::CreateResource << StandardActionManager::DeleteResources - << StandardActionManager::ResourceProperties << StandardActionManager::SynchronizeResources - << StandardActionManager::ToggleWorkOffline << StandardActionManager::CopyCollectionToDialog - << StandardActionManager::MoveCollectionToDialog << StandardActionManager::CopyItemToDialog - << StandardActionManager::MoveItemToDialog; - - Q_FOREACH( StandardActionManager::Type standardAction, standardActions ) { - mMailActionManager->createAction( standardAction ); - } - - QList mailActions; - mailActions << StandardMailActionManager::MarkMailAsRead << StandardMailActionManager::MarkMailAsUnread - << StandardMailActionManager::MarkMailAsImportant << StandardMailActionManager::MarkMailAsActionItem - << StandardMailActionManager::MarkAllMailAsRead << StandardMailActionManager::MarkAllMailAsUnread - << StandardMailActionManager::MarkAllMailAsImportant << StandardMailActionManager::MarkAllMailAsActionItem - << StandardMailActionManager::MoveToTrash << StandardMailActionManager::MoveAllToTrash - << StandardMailActionManager::RemoveDuplicates << StandardMailActionManager::EmptyAllTrash << StandardMailActionManager::EmptyTrash; - - Q_FOREACH( StandardMailActionManager::Type mailAction, mailActions ) { - mMailActionManager->createAction( mailAction ); - } - - mMailActionManager->interceptAction( StandardActionManager::CreateResource ); - - connect( mMailActionManager->action( StandardActionManager::CreateResource ), SIGNAL(triggered(bool)), - this, SLOT(launchAccountWizard()) ); - - const QStringList pages = QStringList() << QLatin1String( "MailCommon::CollectionGeneralPage" ) - << QLatin1String( "Akonadi::CachePolicyPage" ) - << QLatin1String( "MailCommon::CollectionExpiryPage" ); - - mMailActionManager->setCollectionPropertiesPageNames( pages ); - - ActionHelper::adaptStandardActionTexts( mMailActionManager ); - - mMailActionManager->action( StandardMailActionManager::MarkAllMailAsRead )->setText( i18n( "Mark Displayed Emails As Read" ) ); - mMailActionManager->action( StandardMailActionManager::MoveAllToTrash )->setText( i18n( "Move Displayed Emails To Trash" ) ); - mMailActionManager->action( StandardMailActionManager::MoveToTrash )->setText( i18n( "Move To Trash" ) ); - mMailActionManager->action( StandardMailActionManager::RemoveDuplicates )->setText( i18n( "Remove Duplicate Emails" ) ); - mMailActionManager->action( StandardMailActionManager::MarkMailAsRead )->setText( i18n( "Read" ) ); - mMailActionManager->action( StandardMailActionManager::MarkMailAsUnread )->setText( i18n( "Unread" ) ); - mMailActionManager->action( StandardMailActionManager::MarkMailAsImportant )->setText( i18n( "Important" ) ); - mMailActionManager->action( StandardMailActionManager::MarkMailAsActionItem )->setText( i18n( "Action Item" ) ); - - mMailActionManager->action( StandardActionManager::CopyItemToDialog )->setText( i18n( "Copy To" ) ); - mMailActionManager->action( StandardActionManager::MoveItemToDialog )->setText( i18n( "Move To" ) ); - - mMailActionManager->action( StandardActionManager::CreateCollection )->setText( i18n( "New Subfolder" ) ); - mMailActionManager->setActionText( StandardActionManager::SynchronizeCollections, ki18np( "Synchronize This Folder", "Synchronize These Folders" ) ); - mMailActionManager->action( StandardActionManager::CollectionProperties )->setText( i18n( "Folder Properties" ) ); - mMailActionManager->setActionText( StandardActionManager::DeleteCollections, ki18np( "Delete Folder", "Delete Folders" ) ); - mMailActionManager->action( StandardActionManager::MoveCollectionToDialog )->setText( i18n( "Move Folder To" ) ); - mMailActionManager->action( StandardActionManager::CopyCollectionToDialog )->setText( i18n( "Copy Folder To" ) ); - - connect(mMailActionManager, SIGNAL(actionStateUpdated()), this, SLOT(mailActionStateUpdated()) ); - - actionCollection()->action( QLatin1String("synchronize_all_items") )->setText( i18n( "Synchronize All Accounts" ) ); - - connect( collectionSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(folderChanged()) ); -} - -void MainView::mailActionStateUpdated() -{ - const Akonadi::Item::List selectedItems = mMailActionManager->selectedItems(); - bool itemIsSelected = !selectedItems.isEmpty(); - - if ( itemIsSelected ) { - bool allMarkedAsImportant = true; - bool allMarkedAsRead = true; - bool allMarkedAsActionItem = true; - - foreach ( const Akonadi::Item &item, selectedItems ) { - Akonadi::MessageStatus status; - status.setStatusFromFlags( item.flags() ); - if ( !status.isImportant() ) - allMarkedAsImportant = false; - if ( !status.isRead() ) - allMarkedAsRead = false; - if ( !status.isToAct() ) - allMarkedAsActionItem = false; - } - - QAction *action = mMailActionManager->action( Akonadi::StandardMailActionManager::MarkMailAsRead ); - if ( action ) { - if ( allMarkedAsRead ) - action->setText( i18n( "Unread" ) ); - else - action->setText( i18n( "Read" ) ); - } - - action = mMailActionManager->action( Akonadi::StandardMailActionManager::MarkMailAsImportant ); - if ( action ) { - if ( allMarkedAsImportant ) - action->setText( i18n( "Unimportant" ) ); - else - action->setText( i18n( "Important" ) ); - } - - action = mMailActionManager->action( Akonadi::StandardMailActionManager::MarkMailAsActionItem ); - if ( action ) { - if ( allMarkedAsActionItem ) - action->setText( i18n( "No Action Item" ) ); - else - action->setText( i18n( "Action Item" ) ); - } - } -} - -void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel ) -{ - AgentActionManager *manager = createAgentActionManager( selectionModel ); - - manager->setContextText( AgentActionManager::CreateAgentInstance, AgentActionManager::DialogTitle, - i18nc( "@title:window", "New Account" ) ); - manager->setContextText( AgentActionManager::CreateAgentInstance, AgentActionManager::ErrorMessageText, - ki18n( "Could not create account: %1" ) ); - manager->setContextText( AgentActionManager::CreateAgentInstance, AgentActionManager::ErrorMessageTitle, - i18n( "Account creation failed" ) ); - - manager->setContextText( AgentActionManager::DeleteAgentInstance, AgentActionManager::MessageBoxTitle, - i18nc( "@title:window", "Delete Account?" ) ); - manager->setContextText( AgentActionManager::DeleteAgentInstance, AgentActionManager::MessageBoxText, - i18n( "Do you really want to delete the selected account?" ) ); -} - -QAbstractProxyModel* MainView::createMainProxyModel() const -{ - return mQuotaColorProxyModel; -} - -QAbstractProxyModel* MainView::createItemFilterModel() const -{ - return new EmailsFilterProxyModel(); -} - -ImportHandlerBase* MainView::importHandler() const -{ - return new EmailsImportHandler(); -} - -ExportHandlerBase* MainView::exportHandler() const -{ - return new EmailsExportHandler(); -} - -void MainView::saveMessage() -{ - const Item item = currentItem(); - if ( !item.isValid() ) - return; - -//See the header file for SaveMailCommand why is it here - SaveMailCommand *command = new SaveMailCommand( item, this ); - command->execute(); -} - -QString MainView::itemStorageCollectionAsPath( const Akonadi::Item &item ) const -{ - QModelIndex index = EntityTreeModel::modelIndexForCollection( entityTreeModel(), Akonadi::Collection( item.storageCollectionId() ) ); - Q_ASSERT( index.isValid() ); - - QString path; - while ( index.isValid() ) { - path.prepend( index.data().toString() ); - index = index.parent(); - if ( index.isValid() ) - path.prepend( QLatin1String(" / ") ); - } - - return path; -} - -void MainView::itemSelectionChanged() -{ - const QModelIndexList list = itemSelectionModel()->selectedRows(); - if ( list.size() != 1 ) { - // TODO Clear messageViewerItem - return; - } - - const QModelIndex itemIdx = list.first(); - const Akonadi::Item item = itemIdx.data(EntityTreeModel::ItemRole).value(); - - const QString path = itemStorageCollectionAsPath( item ); - - if ( messageViewerItem() ) { - messageViewerItem()->setItem( item ); - messageViewerItem()->setMessagePath( path ); - } -} - -void MainView::slotCollectionSelectionChanged() -{ - const QModelIndexList indexes = regularSelectionModel()->selectedIndexes(); - if ( indexes.isEmpty() ) - return; - - const QModelIndex index = indexes.first(); - const Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) { - mAclEditor->setCollection( collection ); - m_grouperComparator->setIsOutboundCollection( collection.hasAttribute() && - collection.attribute()->isOutboundFolder() ); - mMessageListSettingsController->setCollection( collection ); - } - - mCurrentCollection = collection; - emit currentCollectionChanged(); -} - -MessageViewer::MessageViewItem* MainView::messageViewerItem() -{ - MessageViewer::MessageViewItem* item = 0; - - QList items = rootObject()->findChildren(); - if ( !items.isEmpty() ) - item = items.first(); - - return item; -} - - -void MainView::findInMessage() -{ - MessageViewer::MessageViewItem* item = messageViewerItem(); - if ( item ) { - item->viewer()->slotFind(); - } -} - -void MainView::preferHTML(bool useHtml) -{ - MessageViewer::MessageViewItem* item = messageViewerItem(); - - if ( item ) { - const QItemSelectionModel *collectionSelectionModel = regularSelectionModel(); - if ( collectionSelectionModel->selection().indexes().isEmpty() ) - return; - - const QModelIndexList selectedIndexes = collectionSelectionModel->selection().indexes(); - Q_FOREACH( const QModelIndex &index, selectedIndexes ) { - Q_ASSERT( index.isValid() ); - - const Collection collection = index.data( CollectionModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - KSharedConfigPtr config = KSharedConfig::openConfig( QLatin1String("kmail-mobilerc") ); - KConfigGroup group( config, QString::fromLatin1( "c%1" ).arg( collection.id() ) ); - group.writeEntry( "htmlMailOverride", useHtml ); - } - - item->viewer()->setDisplayFormatMessageOverwrite( useHtml ? MessageViewer::Viewer::Html : MessageViewer::Viewer::Text ); - item->viewer()->update( MessageViewer::Viewer::Force ); - } - - // update the viewer specific state according to the folder wide state - QAction *action = actionCollection()->action( QLatin1String("prefer_html_to_plain_viewer") ); - disconnect( action, SIGNAL(triggered(bool)), this, SLOT(preferHtmlViewer(bool)) ); - action->setChecked( useHtml ); - connect( action, SIGNAL(triggered(bool)), this, SLOT(preferHtmlViewer(bool)) ); -} - -void MainView::preferHtmlViewer( bool useHtml ) -{ - MessageViewer::MessageViewItem* item = messageViewerItem(); - - if ( item ) { - item->viewer()->setDisplayFormatMessageOverwrite( useHtml ? MessageViewer::Viewer::Html : MessageViewer::Viewer::Text ); - item->viewer()->update( MessageViewer::Viewer::Force ); - } -} - -void MainView::loadExternalReferences(bool load) -{ - MessageViewer::MessageViewItem* item = messageViewerItem(); - - if ( item ) { - const QItemSelectionModel *collectionSelectionModel = regularSelectionModel(); - if ( collectionSelectionModel->selection().indexes().isEmpty() ) - return; - - const QModelIndexList selectedIndexes = collectionSelectionModel->selection().indexes(); - Q_FOREACH( const QModelIndex &index, selectedIndexes ) { - Q_ASSERT( index.isValid() ); - - const Collection collection = index.data( CollectionModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - KSharedConfigPtr config = KSharedConfig::openConfig( QLatin1String("kmail-mobilerc") ); - KConfigGroup group( config, QString::fromLatin1("c%1" ).arg( collection.id() ) ); - group.writeEntry( "htmlLoadExternalOverride", load ); - } - - item->viewer()->setHtmlLoadExtOverride( load ); - item->viewer()->update( MessageViewer::Viewer::Force ); - } -} - -void MainView::folderChanged() -{ - const QItemSelectionModel* collectionSelectionModel = regularSelectionModel(); - const QModelIndexList indexes = collectionSelectionModel->selection().indexes(); - if ( indexes.isEmpty() ) - return; - - //NOTE: not exactly correct if multiple folders are selected, although I don't know what to do then, as the action is not - //a tri-state one (checked, unchecked, for some folders checked) - bool htmlMailOverrideInAll = true; - bool htmlLoadExternalOverrideInAll = true; - - KSharedConfigPtr config = KSharedConfig::openConfig( QLatin1String("kmail-mobilerc") ); - Q_FOREACH( const QModelIndex &index, collectionSelectionModel->selectedRows() ) { - Q_ASSERT( index.isValid() ); - - const Collection collection = index.data( CollectionModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - KConfigGroup group( config, QString::fromLatin1( "c%1" ).arg( collection.id() ) ); - if ( group.readEntry( "htmlMailOverride", false ) == false ) - htmlMailOverrideInAll = false; - - if ( group.readEntry( "htmlLoadExternalOverride", false ) == false ) - htmlLoadExternalOverrideInAll = false; - } - actionCollection()->action( QLatin1String("prefer_html_to_plain") )->setChecked( htmlMailOverrideInAll ); - actionCollection()->action( QLatin1String("prefer_html_to_plain_viewer") )->setChecked( htmlMailOverrideInAll ); - preferHTML( htmlMailOverrideInAll ); - actionCollection()->action( QLatin1String("load_external_ref") )->setChecked( htmlLoadExternalOverrideInAll ); - loadExternalReferences( htmlLoadExternalOverrideInAll ); - - actionCollection()->action( QLatin1String("move_all_to_trash") )->setText( i18n( "Move Displayed Emails To Trash" ) ); - if ( indexes.count() == 1 ) { - const QModelIndex index = collectionSelectionModel->selection().indexes().first(); - const Collection collection = index.data( CollectionModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - if ( CommonKernel->folderIsTrash( collection ) ) - actionCollection()->action( QLatin1String("move_all_to_trash") )->setText( i18n( "Empty Trash" ) ); - } -} - -void MainView::moveToOrEmptyTrash() -{ - const QItemSelectionModel *collectionSelectionModel = regularSelectionModel(); - const QModelIndexList indexes = collectionSelectionModel->selection().indexes(); - if ( indexes.isEmpty() ) - return; - - const QModelIndex index = indexes.first(); - const Collection collection = index.data( CollectionModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - if ( indexes.count() == 1 && CommonKernel->folderIsTrash( collection ) ) { - //empty trash - kDebug() << "EMPTY TRASH"; - mMailActionManager->action( Akonadi::StandardMailActionManager::EmptyTrash )->trigger(); - } else { - mMailActionManager->action( Akonadi::StandardMailActionManager::MoveAllToTrash )->trigger(); - } -} - -void MainView::useFixedFont() -{ - MessageViewer::MessageViewItem* item = messageViewerItem(); - - if ( item ) { - bool fixedFont = MessageViewer::GlobalSettings::self()->useFixedFont(); - item->viewer()->setUseFixedFont( !fixedFont ); - item->viewer()->update( MessageViewer::Viewer::Force ); - MessageViewer::GlobalSettings::self()->setUseFixedFont( !fixedFont ); - MessageViewer::GlobalSettings::self()->writeConfig(); - } -} - -int MainView::emailTemplateCount() -{ - return mEmailTemplateModel ? mEmailTemplateModel->rowCount() : 0; -} - -void MainView::restoreTemplate( quint64 id ) -{ - ItemFetchJob *job = new ItemFetchJob( Item( id ), this ); - job->fetchScope().fetchFullPayload(); - job->fetchScope().setAncestorRetrieval( ItemFetchScope::Parent ); - connect( job, SIGNAL(result(KJob*)), SLOT(templateFetchResult(KJob*)) ); -} - -void MainView::newMessageFromTemplate( int index ) -{ - Akonadi::Item item = mEmailTemplateModel->index( index, 0 ).data( Akonadi::EntityTreeModel::ItemRole ).value(); - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( item ); - job->fetchScope().fetchFullPayload( true ); - connect( job, SIGNAL(result(KJob*)), SLOT(templateFetchResult(KJob*)) ); -} - -void MainView::templateFetchResult( KJob* job) -{ - const ItemFetchJob *fetchJob = qobject_cast( job ); - if ( job->error() || fetchJob->items().isEmpty() ) { - kDebug() << "error!!"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Could not fetch template." ), - i18n( "Template Fetching Error" ) ); - return; - } - - const Item item = fetchJob->items().first(); - - KMime::Message::Ptr message = MessageCore::Util::message( item ); - KMime::Message::Ptr newMsg(new KMime::Message); - newMsg->setContent( message->encodedContent() ); - newMsg->parse(); - // these fields need to be regenerated for the new message - newMsg->removeHeader("Date"); - newMsg->removeHeader("Message-ID"); - ComposerView *composer = new ComposerView; - composer->setMessage( newMsg, false ); - composer->show(); -} - -void MainView::updateConfig() -{ - mQuotaColorProxyModel->setWarningThreshold( Settings::self()->miscQuotaWarningThreshold() ); - mQuotaColorProxyModel->setWarningColor( Settings::self()->miscQuotaWarningColor() ); - - MessageViewer::MessageViewItem *item = messageViewerItem(); - if ( item ) { - item->viewer()->writeConfig(); - item->viewer()->readConfig(); // let CSS parser reread its config - } - - if ( !regularSelectionModel() ) - return; - - const QModelIndexList indexes = regularSelectionModel()->selectedIndexes(); - if ( indexes.isEmpty() ) - return; - - const QModelIndex index = indexes.first(); - const Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() && mMessageListSettingsController ) - mMessageListSettingsController->setCollection( collection ); -} - -void MainView::applyFilters() -{ - Item::List items; - - const QModelIndexList itemIndexes = itemSelectionModel()->selectedRows(); - foreach ( const QModelIndex &index, itemIndexes ) { - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - if ( item.isValid() ) - items << item; - } - - if ( itemIndexes.isEmpty() ) { - // if no items have been selected, use all items of the currently selected collections - foreach ( const QModelIndex &index, regularSelectionModel()->selectedRows() ) { - const Collection collection = index.data( EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) { - ItemFetchJob *fetchJob = new ItemFetchJob( collection ); - fetchJob->fetchScope().fetchFullPayload(); - if ( fetchJob->exec() ) { - items << fetchJob->items(); - } - } - } - } - - MailCommon::FilterManager::instance()->filter( items ); -} - -void MainView::applyFiltersBulkAction() -{ - Item::List items; - - foreach ( const QModelIndex &index, itemActionModel()->selectedRows() ) { - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - if ( item.isValid() ) - items << item; - } - - MailCommon::FilterManager::instance()->filter( items ); -} - -bool MainView::selectNextUnreadMessageInCurrentFolder() -{ - const QAbstractItemModel *model = itemModel(); - const QModelIndexList list = itemSelectionModel()->selectedRows(); - - const QModelIndex currentIndex = (list.isEmpty() ? model->index( 0, 0 ) : list.first()); - - const int rowCount = model->rowCount( QModelIndex() ); - - // start from current message - for ( int row = currentIndex.row() + 1; row < rowCount; ++row ) { - const QModelIndex itemIndex = model->index( row, 0 ); - const Akonadi::Item item = itemIndex.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( !item.hasFlag( Akonadi::MessageFlags::Seen ) ) { - const QString path = itemStorageCollectionAsPath( item ); - messageViewerItem()->setMessagePath( path ); - messageViewerItem()->setItem( item ); - return true; - } - } - - // no unread message found, try from begin of folder - for ( int row = 0; row < currentIndex.row(); ++row ) { - const QModelIndex itemIndex = model->index( row, 0 ); - const Akonadi::Item item = itemIndex.data( Akonadi::EntityTreeModel::ItemRole ).value(); - if ( !item.hasFlag( Akonadi::MessageFlags::Seen ) ) { - const QString path = itemStorageCollectionAsPath( item ); - messageViewerItem()->setMessagePath( path ); - messageViewerItem()->setItem( item ); - return true; - } - } - - return false; // no unread message in folder -} - -void MainView::selectNextUnreadMessage() -{ - if ( selectNextUnreadMessageInCurrentFolder() ) - return; - - // since we passed a custom model in createMainProxyModel(), we have to use it here as well - QAbstractItemModel *model = mQuotaColorProxyModel; - - // since there is no unread message left in current folder, try the next one - QModelIndex next = MailCommon::Util::nextUnreadCollection( model, model->index( 0, 0 ), MailCommon::Util::ForwardSearch ); - if ( next.isValid() ) { - regularSelectionModel()->setCurrentIndex( next, QItemSelectionModel::ClearAndSelect ); - AkonadiFuture::CollectionFetchWatcher *watcher = new AkonadiFuture::CollectionFetchWatcher( next, model, this ); - connect( watcher, SIGNAL(collectionFetched(QModelIndex)), SLOT(selectNextUnreadMessageInCurrentFolder()) ); - watcher->start(); - } -} - -void MainView::showTemplatesHelp() -{ - openDocumentation( QLatin1String( "mail/templateshelp.html" ) ); -} - -void MainView::showMessageSource() -{ - MessageViewer::MessageViewItem *item = messageViewerItem(); - if ( item ) { - item->viewer()->slotShowMessageSource(); - } -} - -void MainView::selectOverrideEncoding() -{ - MessageViewer::MessageViewItem *item = messageViewerItem(); - if ( item ) { - CharsetSelectionDialog dlg( this ); - dlg.setCharset( item->viewer()->overrideEncoding() ); - - if ( dlg.exec() ) - item->viewer()->setOverrideEncoding( dlg.charset() ); - } -} - -void MainView::toggleShowExtendedHeaders( bool value ) -{ - MessageViewer::MessageViewItem *item = messageViewerItem(); - if ( item ) { - if ( value ) - item->viewer()->setHeaderStyleAndStrategy( MessageViewer::HeaderStyle::mobileExtended(), MessageViewer::HeaderStrategy::all() ); - else - item->viewer()->setHeaderStyleAndStrategy( MessageViewer::HeaderStyle::mobile(), MessageViewer::HeaderStrategy::all() ); - } -} - -void MainView::messageListSettingsChanged( const MessageListSettings &settings ) -{ - switch ( settings.sortingOption() ) { - case MessageListSettings::SortByDateTime: - m_grouperComparator->setSortingOption( MailThreadGrouperComparator::SortByDateTime ); - break; - case MessageListSettings::SortByDateTimeMostRecent: - m_grouperComparator->setSortingOption( MailThreadGrouperComparator::SortByDateTimeMostRecent ); - break; - case MessageListSettings::SortBySenderReceiver: - m_grouperComparator->setSortingOption( MailThreadGrouperComparator::SortBySenderReceiver ); - break; - case MessageListSettings::SortBySubject: - m_grouperComparator->setSortingOption( MailThreadGrouperComparator::SortBySubject ); - break; - case MessageListSettings::SortBySize: - m_grouperComparator->setSortingOption( MailThreadGrouperComparator::SortBySize ); - break; - case MessageListSettings::SortByActionItem: - m_grouperComparator->setSortingOption( MailThreadGrouperComparator::SortByActionItem ); - break; - } - - switch ( settings.groupingOption() ) { - case MessageListSettings::GroupByDate: - m_grouperComparator->setGroupingOption( MailThreadGrouperComparator::GroupByDate ); - break; - case MessageListSettings::GroupBySenderReceiver: - m_grouperComparator->setGroupingOption( MailThreadGrouperComparator::GroupBySenderReceiver ); - break; - case MessageListSettings::GroupByNone: - m_grouperComparator->setGroupingOption( MailThreadGrouperComparator::GroupByNone ); - break; - } - - m_threadGrouperModel->setThreadingEnabled( settings.useThreading() ); - - m_threadGrouperModel->sort( 0, settings.sortingOrder() ); -} - -// ############################################################# - diff --git a/kdepim/mobile/mail/mainview.h b/kdepim/mobile/mail/mainview.h deleted file mode 100644 index 5d16742e..00000000 --- a/kdepim/mobile/mail/mainview.h +++ /dev/null @@ -1,239 +0,0 @@ -/* - Copyright (c) 2010 Stephen Kelly - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MAINVIEW_H -#define MAINVIEW_H - -#include "kdeclarativemainview.h" - -#include -#include -#include -#include - -namespace Akonadi { - class EntityMimeTypeFilterModel; - class QuotaColorProxyModel; - class StandardMailActionManager; -} - -namespace MessageViewer { - class MessageViewItem; -} - -class AclEditor; -class AkonadiSender; -class ComposerView; -class ConfigWidget; -class FilterModel; -class KJob; -class KSelectionProxyModel; -class MailThreadGrouperComparator; -class MessageListSettings; -class MessageListSettingsController; -class QStandardItemModel; -class TemplateEmailModel; -class ThreadGrouperModel; -class ThreadModel; - -class MainView : public KDeclarativeMainView -{ - Q_OBJECT - Q_CLASSINFO( "D-Bus Interface", "org.kde.kmailmobile.Composer" ) - Q_CLASSINFO( "D-Bus Introspection", "" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "") - - Q_PROPERTY( bool collectionIsSentMail READ collectionIsSentMail NOTIFY currentCollectionChanged ) - - public: - explicit MainView(QWidget* parent = 0); - - ~MainView(); - - void handleCommandLine(); - - enum ForwardMode { - InLine = 0, - AsAttachment, - Redirect - }; - - void setConfigWidget( ConfigWidget *configWidget ); - - bool collectionIsSentMail() const; - - public Q_SLOTS: - void startComposer(); - void restoreDraft( quint64 id ); - void restoreTemplate( quint64 id ); - - void markImportant( bool checked ); - void markMailTask( bool checked ); - void modifyDone( KJob *job ); - void dataChanged(); - - bool isDraftThreadContent( int row ); - bool isDraftThreadRoot( int row ); - bool isSingleMessage( int row ); - bool folderIsDrafts( const Akonadi::Collection &collection ); - bool isTemplateThreadContent( int row ); - bool isTemplateThreadRoot( int row ); - bool folderIsTemplates( const Akonadi::Collection &collection ); - - void configureIdentity(); - - int emailTemplateCount(); - void newMessageFromTemplate( int index ); - - void selectNextUnreadMessage(); - - Q_SCRIPTABLE int openComposer( const QString & to, - const QString & cc, - const QString & bcc, - const QString & subject, - const QString & body ); - - Q_SCRIPTABLE int openComposerAndAttach( const QString & to, - const QString & cc, - const QString & bcc, - const QString & subject, - const QString & body, - const QStringList & attachments ); - void mailActionStateUpdated(); - - Q_SIGNALS: - void currentCollectionChanged(); - - protected slots: - void forwardMessage(); - void forwardAsAttachment(); - void redirect(); - void replyToAll(); - void replyToAuthor(); - void replyToMailingList(); - void replyToMessage(); - void replyWithoutQuoting(); - void sendAgain(); - void sendQueued(); - void sendQueuedVia(); - void sendQueuedVia( const QString &transport ); - void saveMessage(); - void findInMessage(); - void preferHTML( bool useHtml ); - void preferHtmlViewer( bool useHtml ); - void loadExternalReferences( bool load ); - void folderChanged(); - void moveToOrEmptyTrash(); - void useFixedFont(); - void applyFilters(); - void applyFiltersBulkAction(); - - void itemSelectionChanged(); - void slotCollectionSelectionChanged(); - - protected: - void doDelayedInit(); - virtual void setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ); - - virtual void setupAgentActionManager( QItemSelectionModel *selectionModel ); - - virtual QAbstractProxyModel* createMainProxyModel() const; - virtual QAbstractProxyModel* createItemFilterModel() const; - - virtual ImportHandlerBase* importHandler() const; - virtual ExportHandlerBase* exportHandler() const; - - virtual QAbstractItemModel* createItemModelContext(QDeclarativeContext* context, QAbstractItemModel* model); - - virtual bool doNotUseFilterLineEditInCurrentState() const; - - private slots: - void qmlInitialized( QDeclarativeView::Status status ); - void sendAgainFetchResult( KJob *job ); - void replyFetchResult( KJob *job ); - void forwardFetchResult( KJob *job ); - void composeFetchResult( KJob *job ); - void initDefaultFolders(); - void createDefaultCollectionDone( KJob *job); - void deleteItemResult( KJob *job ); - void templateFetchResult( KJob *job ); - void updateConfig(); - bool askToGoOnline(); - void showMessageSource(); - void selectOverrideEncoding(); - void toggleShowExtendedHeaders( bool ); - void messageListSettingsChanged( const MessageListSettings& ); - bool selectNextUnreadMessageInCurrentFolder(); - void showTemplatesHelp(); - void slotDeleteMessage( const Akonadi::Item &item ); - - private: - void reply( quint64 id, MessageComposer::ReplyStrategy replyStrategy, bool quoteOriginal = true ); - void forward( quint64 id, ForwardMode mode ); - void findCreateDefaultCollection( Akonadi::SpecialMailCollections::Type type ); - void recoverAutoSavedMessages(); - Akonadi::Item currentItem() const; - MessageViewer::MessageViewItem *messageViewerItem(); - uint currentFolderIdentity() const; - QString itemStorageCollectionAsPath( const Akonadi::Item& ) const; - KMime::Content *createAttachment( const KUrl &url ) const; - - bool mAskingToGoOnline; - QWidget *mTransportDialog; - Akonadi::StandardMailActionManager *mMailActionManager; - Akonadi::EntityMimeTypeFilterModel *mCollectionModel; - TemplateEmailModel *mEmailTemplateModel; - QItemSelectionModel *mTemplateSelectionModel; - KSelectionProxyModel *m_threadContentsModel; - MailThreadGrouperComparator *m_grouperComparator; - ThreadGrouperModel *m_threadGrouperModel; - ThreadModel *m_threadsModel; - FilterModel *mFilterModel; - Akonadi::QuotaColorProxyModel *mQuotaColorProxyModel; - AclEditor *mAclEditor; - MessageListSettingsController *mMessageListSettingsController; - Akonadi::Collection mCurrentCollection; -}; - -Q_DECLARE_METATYPE( MainView::ForwardMode ) - -#endif diff --git a/kdepim/mobile/mail/messagelistproxy.cpp b/kdepim/mobile/mail/messagelistproxy.cpp deleted file mode 100644 index 5387cabc..00000000 --- a/kdepim/mobile/mail/messagelistproxy.cpp +++ /dev/null @@ -1,180 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "messagelistproxy.h" - -#include -#include - -#include - -#include -#include -#include - -inline uint qHash( const QDate &date ) -{ - return date.toJulianDay(); -} - -MessageListProxy::MessageListProxy(QObject* parent) : ListProxy(parent) -{ -} - -QVariant MessageListProxy::data(const QModelIndex& index, int role) const -{ - const Akonadi::Item item = QSortFilterProxyModel::data( index, Akonadi::EntityTreeModel::ItemRole ).value(); - if ( item.isValid() && item.hasPayload() ) { - const KMime::Message::Ptr msg = item.payload(); - Akonadi::MessageStatus messageStatus; - messageStatus.setStatusFromFlags(item.flags()); - - switch ( role ) { - case SubjectRole: - return msg->subject()->asUnicodeString().trimmed(); - case FromRole: - { - QStringList l; - foreach ( const KMime::Types::Mailbox &mbox, msg->from()->mailboxes() ) { - if ( mbox.hasName() ) - l.append( mbox.name() ); - else - l.append( mbox.addrSpec().asPrettyString() ); - } - return l.join( QLatin1String(", ") ); - } - case DateRole: - { - static QHash dateNameHash; - - const KDateTime &dateTime = msg->date()->dateTime().toLocalZone(); - const QDate date = dateTime.date(); - if ( date == QDate::currentDate() ) { - return KGlobal::locale()->formatTime( dateTime.time() ); - } - - const QHash::const_iterator key = dateNameHash.constFind( date ); - if ( key != dateNameHash.constEnd() ) - return *key; - - const QString dateName = KGlobal::locale()->formatDate( date, KLocale::FancyShortDate ); - dateNameHash.insert( date, dateName ); - - return dateName; - } - case SizeRole: - { - return KGlobal::locale()->formatByteSize( qMax( 0LL, item.size() ) ); - } - case IsUnreadRole: - return !messageStatus.isRead(); - case IsImportantRole: - return messageStatus.isImportant(); - case IsActionItemRole: - return messageStatus.isToAct(); - case HasAttachmentRole: - return messageStatus.hasAttachment(); - case IsRepliedRole: - return messageStatus.isReplied(); - case IsForwardedRole: - return messageStatus.isForwarded(); - case IsSignedRole: - return messageStatus.isSigned(); - case IsEncryptedRole: - return messageStatus.isEncrypted(); - case DateGroupRole: - { - // simplified version taken from libmessagelist - const KDateTime& dt = msg->date()->dateTime(); - const QDate dDate = dt.date(); - const KCalendarSystem *calendar = KGlobal::locale()->calendar(); - int daysAgo = -1; - if ( calendar->isValid( dDate ) && calendar->isValid( QDate::currentDate() ) ) { - daysAgo = dDate.daysTo( QDate::currentDate() ); - } - - if ( daysAgo < 0 || !dt.isValid() ) // In the future or invalid - return i18n( "Unknown" ); - else if( daysAgo == 0 ) // Today - return i18n( "Today" ); - else if ( daysAgo == 1 ) // Yesterday - return i18n( "Yesterday" ); - else if ( daysAgo > 1 && daysAgo < calendar->daysInWeek( QDate::currentDate() ) ) // Within last seven days - return KGlobal::locale()->calendar()->weekDayName( dDate ); - else if( calendar->month( dDate ) == calendar->month( QDate::currentDate() ) && calendar->year( dDate ) == calendar->year( QDate::currentDate() ) ) { // within this month - const int startOfWeekDaysAgo = ( calendar->daysInWeek( QDate::currentDate() ) + calendar->dayOfWeek( QDate::currentDate() ) - - KGlobal::locale()->weekStartDay() ) % calendar->daysInWeek( QDate::currentDate() ); - const int weeksAgo = ( ( daysAgo - startOfWeekDaysAgo ) / calendar->daysInWeek( QDate::currentDate() ) ) + 1; - if ( weeksAgo == 0 ) - return KGlobal::locale()->calendar()->weekDayName( dDate ); - else - return i18np( "One Week Ago", "%1 Weeks Ago", weeksAgo ); - } else if ( calendar->year( dDate ) == calendar->year( QDate::currentDate() ) ) { // within this year - return calendar->monthName( dDate ); - } else { // in previous years - static QHash yearNameHash; - - QString yearName; - if ( yearNameHash.contains( dDate.year() ) ) { - yearName = yearNameHash.value( dDate.year() ); - } else { - yearName = calendar->formatDate( dDate, KLocale::Year, KLocale::LongNumber ); - yearNameHash.insert( dDate.year(), yearName ); - } - return i18nc( "Message Aggregation Group Header: Month name and Year number", "%1 %2", calendar->monthName( dDate ), yearName ); - } - } - case SenderGroupRole: - { - QStringList l; - foreach ( const KMime::Types::Mailbox &mbox, msg->from()->mailboxes() ) { - if ( mbox.hasName() ) - l.append( mbox.name() ); - else - l.append( mbox.addrSpec().asPrettyString() ); - } - return l.join( QLatin1String(", ") ); - } - } - } - return QSortFilterProxyModel::data(index, role); -} - -void MessageListProxy::setSourceModel(QAbstractItemModel* sourceModel) -{ - ListProxy::setSourceModel(sourceModel); - QHash names = roleNames(); - names.insert( Akonadi::EntityTreeModel::ItemIdRole, "itemId" ); - names.insert( SubjectRole, "subject" ); - names.insert( FromRole, "from" ); - names.insert( DateRole, "date" ); - names.insert( SizeRole, "size" ); - names.insert( IsUnreadRole, "is_unread" ); - names.insert( IsImportantRole, "is_important" ); - names.insert( IsActionItemRole, "is_action_item" ); - names.insert( HasAttachmentRole, "has_attachment" ); - names.insert( IsRepliedRole, "is_replied" ); - names.insert( IsForwardedRole, "is_forwarded" ); - names.insert( IsSignedRole, "is_signed" ); - names.insert( IsEncryptedRole, "is_encrypted" ); - names.insert( DateGroupRole, "dateGroup" ); - names.insert( SenderGroupRole, "senderGroup" ); - setRoleNames( names ); -} - diff --git a/kdepim/mobile/mail/messagelistproxy.h b/kdepim/mobile/mail/messagelistproxy.h deleted file mode 100644 index 320b3908..00000000 --- a/kdepim/mobile/mail/messagelistproxy.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MESSAGELISTPROXY_H -#define MESSAGELISTPROXY_H - -#include "listproxy.h" -#include - -/** Proxy model to provide roles for accessing KMime::Message properties from QML. */ -class MessageListProxy : public ListProxy -{ - Q_OBJECT - - public: - explicit MessageListProxy(QObject* parent = 0); - enum Role { - SubjectRole = Akonadi::EntityTreeModel::UserRole, - FromRole, - DateRole, - SizeRole, - IsUnreadRole, - IsImportantRole, - IsActionItemRole, - HasAttachmentRole, - IsRepliedRole, - IsForwardedRole, - IsSignedRole, - IsEncryptedRole, - DateGroupRole, - SenderGroupRole - }; - - QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - void setSourceModel(QAbstractItemModel* sourceModel); -}; - -#endif diff --git a/kdepim/mobile/mail/messagelistsettings.cpp b/kdepim/mobile/mail/messagelistsettings.cpp deleted file mode 100644 index 5611257a..00000000 --- a/kdepim/mobile/mail/messagelistsettings.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "messagelistsettings.h" - -#include -#include -#include - -MessageListSettings::MessageListSettings() - : mSortingOption( SortByDateTimeMostRecent ), - mSortDescending( false ), - mGroupingOption( GroupByDate ), - mUseThreading( true ), - mUseGlobalSettings( true ) -{ -} - -MessageListSettings::~MessageListSettings() -{ -} - -void MessageListSettings::setSortingOption( SortingOption option ) -{ - mSortingOption = option; -} - -MessageListSettings::SortingOption MessageListSettings::sortingOption() const -{ - return mSortingOption; -} - -void MessageListSettings::setSortingOrder( Qt::SortOrder order ) -{ - mSortDescending = (order == Qt::DescendingOrder); -} - -Qt::SortOrder MessageListSettings::sortingOrder() const -{ - return (mSortDescending ? Qt::DescendingOrder : Qt::AscendingOrder); -} - -void MessageListSettings::setGroupingOption( GroupingOption option ) -{ - mGroupingOption = option; -} - -MessageListSettings::GroupingOption MessageListSettings::groupingOption() const -{ - return mGroupingOption; -} - -void MessageListSettings::setUseThreading( bool threading ) -{ - mUseThreading = threading; -} - -bool MessageListSettings::useThreading() const -{ - return mUseThreading; -} - -void MessageListSettings::setUseGlobalSettings( bool value ) -{ - mUseGlobalSettings = value; -} - -bool MessageListSettings::useGlobalSettings() const -{ - return mUseGlobalSettings; -} - -MessageListSettings MessageListSettings::fromConfig( qint64 collectionId ) -{ - const QString groupName = QString::fromLatin1( "MessageListSettings-%1" ).arg( collectionId ); - - MessageListSettings settings; - - if ( KGlobal::config()->hasGroup( groupName ) ) { // use collection specific settings - const KConfigGroup group( KGlobal::config(), groupName ); - - settings.mSortingOption = static_cast( group.readEntry( "SortingOption", SortByDateTimeMostRecent ) ); - settings.mSortDescending = group.readEntry( "SortDescending", false ); - settings.mGroupingOption = static_cast( group.readEntry( "GroupingOption", GroupByDate ) ); - settings.mUseThreading = group.readEntry( "UseThreading", true ); - settings.mUseGlobalSettings = false; - } else { // use default settings - const KConfigGroup group( KGlobal::config(), QLatin1String( "MessageListSettings-default" ) ); - - settings.mSortingOption = static_cast( group.readEntry( "SortingOption", SortByDateTimeMostRecent ) ); - settings.mSortDescending = group.readEntry( "SortDescending", false ); - settings.mGroupingOption = static_cast( group.readEntry( "GroupingOption", GroupByDate ) ); - settings.mUseThreading = group.readEntry( "UseThreading", true ); - settings.mUseGlobalSettings = true; - } - - return settings; -} - -void MessageListSettings::toConfig( qint64 collectionId, const MessageListSettings &settings ) -{ - const QString groupName = QString::fromLatin1( "MessageListSettings-%1" ).arg( collectionId ); - - if ( settings.useGlobalSettings() ) { - KGlobal::config()->deleteGroup( groupName ); - } else { - KConfigGroup group( KGlobal::config(), groupName ); - - group.writeEntry( "SortingOption", static_cast( settings.mSortingOption ) ); - group.writeEntry( "SortDescending", settings.mSortDescending ); - group.writeEntry( "GroupingOption", static_cast( settings.mGroupingOption ) ); - group.writeEntry( "UseThreading", settings.mUseThreading ); - } - - KGlobal::config()->sync(); -} - -MessageListSettings MessageListSettings::fromDefaultConfig() -{ - const KConfigGroup group( KGlobal::config(), QLatin1String( "MessageListSettings-default" ) ); - - MessageListSettings settings; - settings.mSortingOption = static_cast( group.readEntry( "SortingOption", SortByDateTimeMostRecent ) ); - settings.mSortDescending = group.readEntry( "SortDescending", false ); - settings.mGroupingOption = static_cast( group.readEntry( "GroupingOption", GroupByDate ) ); - settings.mUseThreading = group.readEntry( "UseThreading", true ); - settings.mUseGlobalSettings = true; - - return settings; -} - -void MessageListSettings::toDefaultConfig( const MessageListSettings &settings ) -{ - const QLatin1String groupName( "MessageListSettings-default" ); - - KConfigGroup group( KGlobal::config(), groupName ); - - group.writeEntry( "SortingOption", static_cast( settings.mSortingOption ) ); - group.writeEntry( "SortDescending", settings.mSortDescending ); - group.writeEntry( "GroupingOption", static_cast( settings.mGroupingOption ) ); - group.writeEntry( "UseThreading", settings.mUseThreading ); - - KGlobal::config()->sync(); -} diff --git a/kdepim/mobile/mail/messagelistsettings.h b/kdepim/mobile/mail/messagelistsettings.h deleted file mode 100644 index 5955fb74..00000000 --- a/kdepim/mobile/mail/messagelistsettings.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MESSAGELISTSETTINGS_H -#define MESSAGELISTSETTINGS_H - -#include - -class MessageListSettings -{ - public: - MessageListSettings(); - ~MessageListSettings(); - - enum SortingOption - { - SortByDateTime, - SortByDateTimeMostRecent, - SortBySenderReceiver, - SortBySubject, - SortBySize, - SortByActionItem - }; - - enum GroupingOption - { - GroupByNone, - GroupByDate, - GroupBySenderReceiver - }; - - void setSortingOption( SortingOption option ); - SortingOption sortingOption() const; - - void setSortingOrder( Qt::SortOrder order ); - Qt::SortOrder sortingOrder() const; - - void setGroupingOption( GroupingOption option ); - GroupingOption groupingOption() const; - - void setUseThreading( bool threading ); - bool useThreading() const; - - void setUseGlobalSettings( bool value ); - bool useGlobalSettings() const; - - static MessageListSettings fromConfig( qint64 collectionId ); - static void toConfig( qint64 collectionId, const MessageListSettings &settings ); - - static MessageListSettings fromDefaultConfig(); - static void toDefaultConfig( const MessageListSettings &settings ); - - private: - SortingOption mSortingOption; - bool mSortDescending; - GroupingOption mGroupingOption; - bool mUseThreading; - bool mUseGlobalSettings; -}; - -#endif diff --git a/kdepim/mobile/mail/messagelistsettingscontroller.cpp b/kdepim/mobile/mail/messagelistsettingscontroller.cpp deleted file mode 100644 index e5a5bb5f..00000000 --- a/kdepim/mobile/mail/messagelistsettingscontroller.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "messagelistsettingscontroller.h" - -#include "ui_messagelistsettingseditor.h" - -#include -#include - -#include - -MessageListSettingsController::MessageListSettingsController( QObject *parent ) - : QObject( parent ) -{ - mEditAction = new QAction( this ); - mEditAction->setText( i18n( "Change Sorting/Grouping..." ) ); - mEditAction->setEnabled( false ); - - connect( mEditAction, SIGNAL(triggered(bool)), SLOT(editSettings()) ); -} - -QString MessageListSettingsController::groupingRole() const -{ - switch ( mSettings.groupingOption() ) { - case MessageListSettings::GroupByNone: - return QLatin1String( "" ); - break; - case MessageListSettings::GroupByDate: - return QLatin1String( "dateGroup" ); - break; - case MessageListSettings::GroupBySenderReceiver: - return QLatin1String( "senderGroup" ); - break; - } - - return QString(); -} - -QAction* MessageListSettingsController::editAction() const -{ - return mEditAction; -} - -void MessageListSettingsController::setCollection( const Akonadi::Collection &collection ) -{ - mEditAction->setEnabled( collection.isValid() ); - - if ( !collection.isValid() ) - return; - - mCollectionId = collection.id(); - - mSettings = MessageListSettings::fromConfig( mCollectionId ); - - emit settingsChanged( mSettings ); -} - -void MessageListSettingsController::editSettings() -{ - Ui_MessageListSettingsEditor ui; - - KDialog dialog; - ui.setupUi( dialog.mainWidget() ); - - ui.mSortingOption->setCurrentIndex( static_cast( mSettings.sortingOption() ) ); - ui.mSortingOrder->setCurrentIndex( mSettings.sortingOrder() == Qt::AscendingOrder ? 0 : 1 ); - ui.mGroupingOption->setCurrentIndex( static_cast( mSettings.groupingOption() ) ); - ui.mUseThreading->setChecked( mSettings.useThreading() ); - ui.mUseGlobalSettings->setChecked( mSettings.useGlobalSettings() ); - - if ( !dialog.exec() ) - return; - - mSettings.setSortingOption( static_cast( ui.mSortingOption->currentIndex() ) ); - mSettings.setSortingOrder( ui.mSortingOrder->currentIndex() == 0 ? Qt::AscendingOrder : Qt::DescendingOrder ); - mSettings.setGroupingOption( static_cast( ui.mGroupingOption->currentIndex() ) ); - mSettings.setUseThreading( ui.mUseThreading->isChecked() ); - mSettings.setUseGlobalSettings( ui.mUseGlobalSettings->isChecked() ); - - MessageListSettings::toConfig( mCollectionId, mSettings ); - - emit settingsChanged( mSettings ); -} diff --git a/kdepim/mobile/mail/messagelistsettingscontroller.h b/kdepim/mobile/mail/messagelistsettingscontroller.h deleted file mode 100644 index b32a4f6a..00000000 --- a/kdepim/mobile/mail/messagelistsettingscontroller.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MESSAGELISTSETTINGSCONTROLLER_H -#define MESSAGELISTSETTINGSCONTROLLER_H - -#include "messagelistsettings.h" - -#include - -#include - -class QAction; - -class MessageListSettingsController : public QObject -{ - Q_OBJECT - - Q_PROPERTY( QString groupingRole READ groupingRole NOTIFY settingsChanged ) - Q_PROPERTY( QAction* editAction READ editAction ) - - public: - explicit MessageListSettingsController( QObject *parent = 0 ); - - QString groupingRole() const; - - QAction* editAction() const; - - public Q_SLOTS: - void setCollection( const Akonadi::Collection &collection ); - - Q_SIGNALS: - void settingsChanged( const MessageListSettings &settings ); - - private Q_SLOTS: - void editSettings(); - - private: - Akonadi::Collection::Id mCollectionId; - MessageListSettings mSettings; - QAction *mEditAction; -}; - -#endif diff --git a/kdepim/mobile/mail/messagelistsettingseditor.ui b/kdepim/mobile/mail/messagelistsettingseditor.ui deleted file mode 100644 index 66fb4983..00000000 --- a/kdepim/mobile/mail/messagelistsettingseditor.ui +++ /dev/null @@ -1,188 +0,0 @@ - - - MessageListSettingsEditor - - - - 0 - 0 - 450 - 159 - - - - - - - Folder uses default settings - - - true - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - false - - - - 0 - - - 0 - - - - - 0 - - - - - Sorting: - - - - - - - - By Date/Time - - - - - By Most Recent in Discussion - - - - - By Smart Sender/Receiver - - - - - By Subject - - - - - By Size - - - - - By Action Item Status - - - - - - - - - Ascending - - - - - Descending - - - - - - - - Grouping: - - - - - - - - None - - - - - By Starting Date of Discussion - - - - - By Smart Sender/Receiver - - - - - - - - Show threads - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 24 - - - - - - - - - - mUseGlobalSettings - toggled(bool) - widget - setDisabled(bool) - - - 48 - 10 - - - 98 - 69 - - - - - diff --git a/kdepim/mobile/mail/messageviewitem.cpp b/kdepim/mobile/mail/messageviewitem.cpp deleted file mode 100644 index 093dcace..00000000 --- a/kdepim/mobile/mail/messageviewitem.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "messageviewitem.h" - -#include - -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include "attachmentproxymodel.h" -#include - -using namespace MessageViewer; - -MessageViewItem::MessageViewItem( QDeclarativeItem* parent ) - : DeclarativeAkonadiItem( parent ) -{ - m_viewer = new Viewer( 0 ); - m_viewer->setHeaderStyleAndStrategy( HeaderStyle::mobile(), HeaderStrategy::all() ); - m_viewer->setScrollBarPolicy( Qt::Horizontal, Qt::ScrollBarAlwaysOff ); - m_viewer->setScrollBarPolicy( Qt::Vertical, Qt::ScrollBarAlwaysOff ); - m_viewer->addMessageLoadedHandler( new MessageViewer::MarkMessageReadHandler( this ) ); - setWidget( m_viewer ); - - KDescendantsProxyModel *flatProxy = new KDescendantsProxyModel( this ); - flatProxy->setSourceModel( m_viewer->messageTreeModel() ); - - m_attachmentProxy = new AttachmentProxyModel( this ); - m_attachmentProxy->setSourceModel( flatProxy ); - - connect( m_viewer, SIGNAL(urlClicked(Akonadi::Item,KUrl)), SIGNAL(urlClicked(Akonadi::Item,KUrl)) ); - connect( m_viewer, SIGNAL(itemRemoved()), SIGNAL(mailRemoved()) ); -} - -MessageViewItem::~MessageViewItem() -{ - delete m_viewer; -} - -qint64 MessageViewItem::itemId() const -{ - return m_viewer->messageItem().id(); -} - -void MessageViewItem::setItemId( qint64 id ) -{ - m_viewer->setMessageItem( Akonadi::Item( id ) ); -} - -void MessageViewItem::setItem( const Akonadi::Item &item ) -{ - m_viewer->setMessageItem( item ); -} - -QString MessageViewItem::splashMessage() const -{ - return QString(); // TODO -} - -void MessageViewItem::setSplashMessage(const QString& message) -{ - if ( message.isEmpty() ) - m_viewer->enableMessageDisplay(); - else - m_viewer->displaySplashPage( message ); -} - -QString MessageViewItem::messagePath() const -{ - return m_viewer->messagePath(); -} - -void MessageViewItem::setMessagePath( const QString& messagePath ) -{ - m_viewer->setMessagePath( messagePath ); -} - -QObject* MessageViewItem::attachmentModel() const -{ - return m_attachmentProxy; -} - -void MessageViewItem::scrollDown( int dist ) -{ - m_viewer->slotScrollDown( dist ); -} - - -void MessageViewItem::scrollUp( int dist ) -{ - m_viewer->slotScrollUp( dist ); -} - -Viewer* MessageViewItem::viewer() -{ - return m_viewer; -} - -void MessageViewItem::saveAllAttachments() -{ - m_viewer->slotAttachmentSaveAll(); -} - -void MessageViewItem::copyAllToClipboard() -{ - m_viewer->selectAll(); - m_viewer->copySelectionToClipboard(); - m_viewer->clearSelection(); -} - - diff --git a/kdepim/mobile/mail/messageviewitem.h b/kdepim/mobile/mail/messageviewitem.h deleted file mode 100644 index 92493155..00000000 --- a/kdepim/mobile/mail/messageviewitem.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MESSAGEVIEWER_MESSAGEVIEWITEM_H -#define MESSAGEVIEWER_MESSAGEVIEWITEM_H - -#include "declarativeakonadiitem.h" - -class QSortFilterProxyModel; -class KUrl; - -namespace Akonadi { -class Item; -} - -namespace MessageViewer { - -class Viewer; - -class MessageViewItem : public DeclarativeAkonadiItem -{ - Q_OBJECT - Q_PROPERTY( QString splashMessage READ splashMessage WRITE setSplashMessage ) - Q_PROPERTY( QObject* attachmentModel READ attachmentModel CONSTANT ) - Q_PROPERTY( QString messagePath READ messagePath WRITE setMessagePath ) - - public: - explicit MessageViewItem( QDeclarativeItem *parent = 0 ); - ~MessageViewItem(); - - QString splashMessage() const; - void setSplashMessage( const QString &message ); - - QString messagePath() const; - void setMessagePath( const QString &messagePath ); - - QObject* attachmentModel() const; - - Viewer *viewer(); - - virtual qint64 itemId() const; - virtual void setItemId( qint64 id ); - virtual void setItem( const Akonadi::Item &item ); - - virtual void scrollDown( int dist ); - virtual void scrollUp( int dist ); - - public slots: - void saveAllAttachments(); - void copyAllToClipboard(); - - signals: - /** Emitted for urls not handled by MessageViewer::Viewer. */ - void urlClicked( const Akonadi::Item &item, const KUrl &url ); - void mailRemoved(); - - private: - Viewer *m_viewer; - QSortFilterProxyModel *m_attachmentProxy; -}; - -} - -#endif /* MESSAGEVIEWER_MESSAGEVIEWITEM_H */ diff --git a/kdepim/mobile/mail/mobilekernel.cpp b/kdepim/mobile/mail/mobilekernel.cpp deleted file mode 100644 index 1695b1f7..00000000 --- a/kdepim/mobile/mail/mobilekernel.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - -#include "mobilekernel.h" -#include -#include -#include -#include -#include -#include - -using namespace MailCommon; - -static MobileKernel * mySelf = 0; - -MobileKernel::MobileKernel() : mMonitor( 0 ), mCollectionModel( 0 ), mMessageSender( 0 ), mConfig( 0 ) -{ - CommonKernel; //init - - mJobScheduler = new JobScheduler(0); - mIdentityManager = new KPIMIdentities::IdentityManager( false, 0, "mIdentityManager" ); - mAutoCorrection = new PimCommon::AutoCorrection(); - mMessageSender = new MessageComposer::AkonadiSender; - CommonKernel->registerKernelIf( this ); //register KernelIf early, it is used by the Filter classes - - CommonKernel->registerFilterIf( this ); - - CommonKernel->registerSettingsIf( this ); -} - -MobileKernel::~MobileKernel() -{ - delete mJobScheduler; - delete mIdentityManager; - delete mMessageSender; - delete mAutoCorrection; -} - -MobileKernel* MobileKernel::self() -{ - if ( !mySelf ) { - mySelf = new MobileKernel(); - } - return mySelf; -} - -PimCommon::AutoCorrection *MobileKernel::composerAutoCorrection() const -{ - return mAutoCorrection; -} - -void MobileKernel::updateSystemTray() -{ -//TODO: if it is needed at all -} - -void MobileKernel::syncConfig() -{ - mConfig->sync(); -} - -KSharedConfig::Ptr MobileKernel::config() -{ - if ( !mConfig ) - { - mConfig = KSharedConfig::openConfig( QLatin1String("kmail-mobilerc") ); - } - - return mConfig; -} - -KPIMIdentities::IdentityManager* MobileKernel::identityManager() -{ - return mIdentityManager; -} - -MessageComposer::MessageSender* MobileKernel::msgSender() -{ - return mMessageSender; -} - - -void MobileKernel::setLastSelectedFolder(const Akonadi::Entity::Id& col) -{ - //TODO: implement - Q_UNUSED( col ); -} - -Akonadi::Entity::Id MobileKernel::lastSelectedFolder() -{ - return -1; //this was the default on Kmail desktop -} - -qreal MobileKernel::closeToQuotaThreshold() -{ - return 80; //this was the default on Kmail desktop -} - -bool MobileKernel::excludeImportantMailFromExpiry() -{ - return true;//this was the default on Kmail desktop -} - -bool MobileKernel::showPopupAfterDnD() -{ - return false; -} - -QStringList MobileKernel::customTemplates() -{ - return QStringList(); //TODO: implement -} - -void MobileKernel::openFilterDialog( bool createDummyFilter ) -{ - //TODO: Implement filter dialog for mobile - Q_UNUSED( createDummyFilter ); -} - -void MobileKernel::createFilter(const QByteArray& field, const QString& value) -{ - //TODO: Implement for mobile (call the dialog with predefined values) - Q_UNUSED( field ); - Q_UNUSED( value ); -} - diff --git a/kdepim/mobile/mail/mobilekernel.h b/kdepim/mobile/mail/mobilekernel.h deleted file mode 100644 index e163fc43..00000000 --- a/kdepim/mobile/mail/mobilekernel.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - -#ifndef MOBILEKERNEL_H -#define MOBILEKERNEL_H - -#include "mailcommon/interfaces/mailinterfaces.h" - -#include - -namespace MessageComposer { -class AkonadiSender; -} -namespace KPIMIdentities { -class IdentityManager; -} - -namespace Akonadi { -class ChangeRecorder; -} - -namespace MailCommon { - class JobScheduler; -} - -namespace PimCommon { - class AutoCorrection; -} - -class MobileKernel : public MailCommon::IKernel, public MailCommon::ISettings, public MailCommon::IFilter -{ - -public: - static MobileKernel *self(); - - void setFolderCollectionMonitor( Akonadi::ChangeRecorder* monitor ) { mMonitor = monitor; } - void setCollectionModel( Akonadi::EntityMimeTypeFilterModel *collectionModel ) { mCollectionModel = collectionModel; } - PimCommon::AutoCorrection* composerAutoCorrection() const; - -//IKernel methods: - /*reimp*/ Akonadi::ChangeRecorder* folderCollectionMonitor() const { return mMonitor; } - /*reimp*/ MailCommon::JobScheduler* jobScheduler() const { return mJobScheduler; } - /*reimp*/ KSharedConfig::Ptr config(); - /*reimp*/ void syncConfig(); - /*reimp*/ KPIMIdentities::IdentityManager* identityManager(); - /*reimp*/ Akonadi::EntityMimeTypeFilterModel* collectionModel() const { return mCollectionModel; } - /*reimp*/ MessageComposer::MessageSender* msgSender(); - -//ISettings methods: - /*reimp*/ void updateSystemTray(); - /*reimp*/ void setLastSelectedFolder(const Akonadi::Entity::Id& col); - /*reimp*/ Akonadi::Entity::Id lastSelectedFolder(); - /*reimp*/ qreal closeToQuotaThreshold(); - /*reimp*/ bool excludeImportantMailFromExpiry(); - /*reimp*/ bool showPopupAfterDnD(); - /*reimp*/ QStringList customTemplates(); - -//IFilter methods: - virtual void createFilter(const QByteArray& field, const QString& value); - virtual void openFilterDialog( bool createDummyFilter = true ); - - /*reimp*/ ~MobileKernel(); - -private: - MobileKernel(); - - MailCommon::JobScheduler *mJobScheduler; - Akonadi::ChangeRecorder *mMonitor; - KPIMIdentities::IdentityManager *mIdentityManager; - Akonadi::EntityMimeTypeFilterModel *mCollectionModel; - MessageComposer::AkonadiSender *mMessageSender; - KSharedConfig::Ptr mConfig; - PimCommon::AutoCorrection *mAutoCorrection; -}; - -#endif // MOBILEKERNEL_H diff --git a/kdepim/mobile/mail/remove-attachment-button.png b/kdepim/mobile/mail/remove-attachment-button.png deleted file mode 100644 index b375375c8fbc4a9ed2f9f5022ad85dda96c18db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3217 zcmV;C3~uv@P)-7Wt2rrui459RqIxke((8jo- z3ROfzlFEtHeh5+}lw$gb+7JCu$+-Q}N2)#mM~YOXtyERPYEhM@RY*z<#05nS21CfB z1Y?5CBjB~cUfa8O=Jdn8rfYlGyX)FcUw>(&-Mceq&i~HLnKNh3imLLz1m}ZRV6Nd! zr;&)r*t}=~nL&MWq8Su|PIVg7QwnM$B5mNr!HI&K1g9U|Vvqz#WmqkqrFmtR=b4Z$ zqa-9b3|avu3N{I*5^N(_3Ludm;gIMlh*UtV7>Y-r#6nR7iUcAGj!heF2h0Jf<<3NSP@^oxASWRo$5r$s*e71g&zM0P`+K#2oAN$Bf?R5sF?t+a?# zgL@6i-GJuqeedh*o8JUSBXE;}s`C&r7j#(RomCs_b^a1 z>E(Q|NIEbw_C-}6QdR51F&~!BhvK#j{Kidb5s@9>E`Tx@O17$AiC?&|j7VgoodKWQ z81t_0`@dbhcyTwtz`(!?-}fIA_)wv;WP$Oct)hK7bd1CR{NV|g`r z6NhOW;TDjQfbhIn=-nBp^{u6lk_}Z=Rp$X(MfSFe>>VRrh>UFTt;Jfq6d(q13-d<6 zo9OFLveFT7EzGmc(ZE7u;k*ZTI)OJf4wDF5a0H6Csa^^m z*ab6vVwN=P3QTJXPedrA5@1`fMHSmzMhgPMUfOdz1IlE;xNT-8`j{v~z%%&}21u_s z6V^EwW}=UYGBS~cJOTi75dfNrKJt~3ldv_Dyt5g{O!SejjNBtUJ8O8x`^Z;D?h&2? z!n0wtvLQF&*)duUX$P)6`p6kw%~#Kyf^-@s8_t|LQx0GurNB;+g`u)N>Fup*58>|` z)=zIgm7ckfJ1*_}g_mrihKFkb1cm?`fm;ELG5ge7i|?b>T4T&Ufbe%4*1yqyN$W~16LiGXJFkkBCl^%J#y~EiMJDQdkJ(ctE-DYBN8#NPT{(R ztLg3er_dXIa=v=b%FV;+)2EBVj|$kasf)F>w6r)eX!l@5!5@X~Pl+sAR#zAQNL}55 zWp#D&r$iQw!gdAUgOM1t)6(K#Z7tkb3O1CV-d|4S-j=4ZM~+;*TEVJSmw==Nkzi`R z5AfzAk9>Y>bMv2`5os5=-$F$Up4=_cuh1t@6@v;3R~)$JK>JqJ)SD+xJTN9-;8qL9 z30>5Yt5++Wl9If1%WeIpQA{jW9x9d+FbdTGsP3<`dtF^!H(S_DXv`F<1&oBo%*0~lV}0jB?h($z5KL+#vI=;|2B)H%1u6iN z#vB*b2Swytr;Z>0)mK$Jf!}{$q_PNVilAx~`bMGm+hOec)bZnYq58P5>Z-_bfKZ+Z z<)f;r^3`)zjFw~V8sJYJyp@Di0ib{7an=DS?7RD}yUy+uSqjWk7>R~qU@>NmKRI5P5!1Ro%mph_+u7N<@Cnu4 zT_P84Fa^ITB2VqvvuE$Bl`HQ+WHFAjPOV+n`TFbqSli>c?nP_N5*%kaA{98{ic`Jx z?wK=t*Q{A1KZh@Bu(mHgq1xNo*}0J5G9WMHc07E4S_NYs1W3V44vY%03m$50Y)pF5 z=#SL*Pu{3+Oogi6VSIn1s@|c-RHVr|=|!VIYHVyw?t+ITPgcI{78^;rx3S!DF9>a%yRUHg-|y1IC) z$R{m)T;aM8ho4j(?&#>Kv8wl^x66gu^QBdti0f{lz5R#ZP<{L7BC8y56drt9}#q=0A7nk9#?B`EmWc0BV4G&i4a-Waq!^ar|awYY*#(Q&1lilM_In)%4*Y=~J35|dZaxAW`K3t3C{(9{``r=?i3lW$;KCNwet?#i7N_ID zfqPYCGliv!OhQJ&PTC1)h64bVz?Kc`*Ka&@=+Ges2aj%1eV<_JPQsx-|9K&0Wp{5_ zzy4kW)rAD?9nehHXAnH< z5{*83aR2^Zh09iC0Aq%5-BL%jTwsw#qctRx`7xXT4Y^EwKFOpP1(lM!M5+NST*-$l zKz)6EH=g%gL5iu?pn9ic?RrP#0ms_)sNOkt@m>flTmcAmPZnh$oN0uO2g5F`1TLsC zXX`g?=myvwT!8f{q?~YhhgUNZpsGpr;rjae?!UbJa-q7;2*ld604}UFFzjc@02oKO z8MGCA14BM60>GHFX;sbv-5Oj(TL29R$AA?#YRy3`J0n8Eq3)NX;5SbgCf;QNnR-)F81#=Q8sO`Fc`6j^G3Vi-t* znV63`X$@ZhvmCCE!g&`S*&(vK;gwfTjtmYqzxcunQyUV;nVGxZ0->tCv9hwgJ4BpC z@Q8sEQMlfdPZm$Jsx5_t4?RHt64>0((BMlX(yFSxR+WFJqN=?TiL^E}H26zkGtlot zPbnlaC8uR{JWheX5-!K#WCZTrC9-O1Z2?JYy`_`|sFMy#FFwBbo`9L1OyODik) zHZ(N&yF^yIaElLz7Qp3G8B(2Kiqyk45%)Zl7r|{7?h)vIAAYw()&8-qZJ9u{N3&)c1&Jgr9t7bh}x`6U5s@+&B~sK}9jt7^qQLpuu6F z+<{^Vq8YQY1q)aWa<7Jg0fD%{6&HGkp|>>1mmbYFjmOE#H+x=0QoZB`zI{!cDbo|f#Z|VPp|J(5oq*$u!w{o)v00000NkvXXu0mjf D1tJF- diff --git a/kdepim/mobile/mail/savemailcommand.cpp b/kdepim/mobile/mail/savemailcommand.cpp deleted file mode 100644 index 74a897ff..00000000 --- a/kdepim/mobile/mail/savemailcommand.cpp +++ /dev/null @@ -1,298 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - -#include "savemailcommand_p.h" -#include "messagecore/utils/stringutil.h" -#include "messageviewer/viewer/nodehelper.h" - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -//TODO: Review if it is needed in other place as well -KUrl subjectToUrl( const QString &subject ) -{ - QString fileName = MessageCore::StringUtil::cleanFileName( subject.trimmed() ); - - // avoid stripping off the last part of the subject after a "." - // by KFileDialog, which thinks it's an extension - if ( !fileName.endsWith( QLatin1String( ".mbox" ) ) ) - fileName += QLatin1String(".mbox"); - - const QString filter = i18n( "*.mbox|email messages (*.mbox)\n*|all files (*)" ); - return KFileDialog::getSaveUrl( KUrl::fromPath( fileName ), filter ); -} - -#define STRDIM(x) (sizeof(x)/sizeof(*x)-1) -//TODO: copied from runtime/resources/mbox/libmbox/mbox_p.cpp . Check if we can share it. -QByteArray escapeFrom( const QByteArray &str ) -{ - const unsigned int strLen = str.length(); - if ( strLen <= STRDIM( "From " ) ) - return str; - - // worst case: \nFrom_\nFrom_\nFrom_... => grows to 7/6 - QByteArray result( int( strLen + 5 ) / 6 * 7 + 1, '\0'); - - const char * s = str.data(); - const char * const e = s + strLen - STRDIM( "From "); - char * d = result.data(); - - bool onlyAnglesAfterLF = false; // dont' match ^From_ - while ( s < e ) { - switch ( *s ) { - case '\n': - onlyAnglesAfterLF = true; - break; - case '>': - break; - case 'F': - if ( onlyAnglesAfterLF && qstrncmp( s+1, "rom ", STRDIM("rom ") ) == 0 ) - *d++ = '>'; - // fall through - default: - onlyAnglesAfterLF = false; - break; - } - *d++ = *s++; - } - while ( s < str.data() + strLen ) - *d++ = *s++; - - result.truncate( d - result.data() ); - return result; -} -#undef STRDIM - -QByteArray mboxMessageSeparator( const QByteArray &msg ) -{ - KMime::Message mail; - mail.setHead( KMime::CRLFtoLF( msg ) ); - mail.parse(); - - QByteArray separator = "From "; - - KMime::Headers::From *from = mail.from( false ); - if ( !from || from->addresses().isEmpty() ) - separator += "unknown@unknown.invalid"; - else - separator += from->addresses().first() + ' '; - - KMime::Headers::Date *date = mail.date(false); - if (!date || date->isEmpty()) - separator += QDateTime::currentDateTime().toString( Qt::TextDate ).toUtf8() + '\n'; - else - separator += date->as7BitString(false) + '\n'; - - return separator; -} - - -//TODO: remove when it is moved to kdepimlibs, use Util::showJobError instead -void showJobError( KJob* job ) -{ - assert(job); - // we can be called from the KJob::kill, where we are no longer a KIO::Job - // so better safe than sorry - KIO::Job* kiojob = dynamic_cast(job); - if( kiojob && kiojob->ui() ) - kiojob->ui()->showErrorMessage(); - else - kWarning() << "There is no GUI delegate set for a kjob, and it failed with error:" << job->errorString(); -} - - -SaveMailCommand::SaveMailCommand(const Akonadi::Item& message, QObject *parent) : - QObject(parent), mOffset(0), mJob(0), mTotalSize(0) -{ - mMessages.append(message); - mMsgListIndex = 0; -} - -SaveMailCommand::SaveMailCommand(const Akonadi::Item::List& messages, QObject *parent) : - QObject(parent), mMessages(messages), mOffset(0), mJob(0), mTotalSize(0) -{ - mMsgListIndex = 0; -} - -void SaveMailCommand::execute() -{ - Akonadi::Collection sourceFolder = mMessages.first().parentCollection(); - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( mMessages, this ); - job->fetchScope().fetchFullPayload(true); - connect( job, SIGNAL(result(KJob*)), this, SLOT(slotFetchDone(KJob*))); -} - -void SaveMailCommand::slotFetchDone(KJob *job) -{ - if ( job->error() ) { - // handle errors - showJobError(job); - emitResult( Failed ); - return; - } - - Akonadi::ItemFetchJob *fjob = dynamic_cast( job ); - Q_ASSERT( fjob ); - mMessages = fjob->items(); - - mUrl = subjectToUrl( MessageViewer::NodeHelper::cleanSubject( mMessages.first().payload().get() ) ); - if ( mUrl.isEmpty() ) { - emitResult( Failed ); - return; - } - - if (mMessages.count() == 1) - mTotalSize = mMessages.first().size(); - - kDebug() << mUrl << mTotalSize; - -#ifndef KDEPIM_MOBILE_UI - mJob = KIO::put( mUrl, -1 /*TODO: See MessageViewer::Util::getWritePermissions() */ ); - mJob->setTotalSize( mTotalSize ); - mJob->setAsyncDataEnabled( true ); - connect(mJob, SIGNAL(dataReq(KIO::Job*,QByteArray&)), - SLOT(slotSaveDataReq())); - connect(mJob, SIGNAL(result(KJob*)), - SLOT(slotSaveResult(KJob*))); -#else - if ( QFile::exists( mUrl.toLocalFile() ) && KMessageBox::warningContinueCancel( 0 /*parentWidget()*/, - i18n("File %1 exists.\nDo you want to replace it?", - mUrl.prettyUrl()), i18n("Save to File"), KGuiItem(i18n("&Replace")) ) != KMessageBox::Continue) - { - emitResult( Failed ); - return; - } - QFile file( mUrl.toLocalFile() ); - if ( file.open( QFile::WriteOnly ) ) { - foreach ( const Akonadi::Item &item, mMessages ) { - slotMessageRetrievedForSaving( item ); - file.write( mData ); - } - emitResult( OK ); - } else { - emitResult( Failed ); - } -#endif -} - -//remove after the move to kdepimlibs -void SaveMailCommand::emitResult( Result value ) -{ - emit result( value ); - deleteLater(); -} - - -void SaveMailCommand::slotSaveDataReq() -{ - int remainingBytes = mData.size() - mOffset; - if ( remainingBytes > 0 ) { - // eat leftovers first - if ( remainingBytes > MAX_CHUNK_SIZE ) - remainingBytes = MAX_CHUNK_SIZE; - - QByteArray data; - data = QByteArray( mData.data() + mOffset, remainingBytes ); - mJob->sendAsyncData( data ); - mOffset += remainingBytes; - return; - } - // No leftovers, process next message. - if ( mMsgListIndex < static_cast( mMessages.size() ) ) { - slotMessageRetrievedForSaving( mMessages[mMsgListIndex] ); - } else { - // No more messages. Tell the putjob we are done. - QByteArray data = QByteArray(); - mJob->sendAsyncData( data ); - } -} - -void SaveMailCommand::slotMessageRetrievedForSaving(const Akonadi::Item &msg) -{ - //if ( msg ) - { - QByteArray msgData = msg.payloadData(); - QByteArray str( mboxMessageSeparator( msgData ) ); - str += escapeFrom( msgData ); - str += '\n'; - mData = str; - mData.resize( mData.size() - 1 ); - mOffset = 0; -#ifndef KDEPIM_MOBILE_UI - QByteArray data; - int size; - // Unless it is great than 64 k send the whole message. kio buffers for us. - if( mData.size() > MAX_CHUNK_SIZE ) - size = MAX_CHUNK_SIZE; - else - size = mData.size(); - - data = QByteArray( mData, size ); - mJob->sendAsyncData( data ); - mOffset += size; -#endif - } - ++mMsgListIndex; -} - - -void SaveMailCommand::slotSaveResult(KJob *job) -{ - if (job->error()) - { - if (job->error() == KIO::ERR_FILE_ALREADY_EXIST) - { - if (KMessageBox::warningContinueCancel(0 /*parentWidget()*/, - i18n("File %1 exists.\nDo you want to replace it?", - mUrl.prettyUrl()), i18n("Save to File"), KGuiItem(i18n("&Replace"))) - == KMessageBox::Continue) { - mOffset = 0; - - mJob = KIO::put( mUrl, -1 /*See MessageViewer::Util::getWritePermissions()*/, KIO::Overwrite ); - mJob->setTotalSize( mTotalSize ); - mJob->setAsyncDataEnabled( true ); - connect(mJob, SIGNAL(dataReq(KIO::Job*,QByteArray&)), - SLOT(slotSaveDataReq())); - connect(mJob, SIGNAL(result(KJob*)), - SLOT(slotSaveResult(KJob*))); - } - } - else - { - showJobError(job); - emitResult( Failed ); - deleteLater(); - } - } else { - emitResult( OK ); - deleteLater(); - } -} - -#include "moc_savemailcommand_p.cpp" diff --git a/kdepim/mobile/mail/savemailcommand_p.h b/kdepim/mobile/mail/savemailcommand_p.h deleted file mode 100644 index bb1257a8..00000000 --- a/kdepim/mobile/mail/savemailcommand_p.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -/*TODO: This class belongs to kdepimlibs/akonadi/kmime (an SMAM command), just that as - of now, MessageViewer::NodeHelper and MessageCore::StringUtil is in kdepim, not in kdepimlibs - There it should inherit from CommandBase, like the other commands. - Based on KMSaveMsgCommand. -*/ - - -#ifndef SAVEMAILCOMMAND_P_H -#define SAVEMAILCOMMAND_P_H - -#include - -#include - -#include - -namespace KIO { - class TransferJob; -} - -class KJob; - -class SaveMailCommand : public QObject -{ - Q_OBJECT -public: - explicit SaveMailCommand(const Akonadi::Item& message, QObject *parent = 0); - explicit SaveMailCommand(const Akonadi::Item::List& messages, QObject *parent = 0); - - /*reimp*/ void execute(); - - enum Result { Undefined, OK, Canceled, Failed }; //Remove after moving to kdepimlibs - -Q_SIGNALS: - void result( Result ); //Remove after moving to kdepimlibs - - -protected Q_SLOTS: - virtual void emitResult( Result result ); //Remove after moving to kdepimlibs - -private Q_SLOTS: - void slotFetchDone( KJob* job ); - void slotSaveResult(KJob *job); - /** the message has been transferred for saving */ - void slotMessageRetrievedForSaving(const Akonadi::Item &msg); - void slotSaveDataReq(); - -private: - Akonadi::Item::List mMessages; - KUrl mUrl; - uint mMsgListIndex; - QByteArray mData; - int mOffset; - KIO::TransferJob *mJob; - size_t mTotalSize; - static const int MAX_CHUNK_SIZE = 64*1024; -}; - -#endif // SAVEMAILCOMMAND_P_H diff --git a/kdepim/mobile/mail/searchwidget.cpp b/kdepim/mobile/mail/searchwidget.cpp deleted file mode 100644 index 8e0df110..00000000 --- a/kdepim/mobile/mail/searchwidget.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "searchwidget.h" - -#include "stylesheetloader.h" - -#include - -#include - -#include - -SearchWidget::SearchWidget( QWidget *parent ) - : QWidget( parent ) -{ - mUi.setupUi( this ); - - // set defaults - mUi.inSubjects->setChecked( true ); - mUi.inSenders->setChecked( true ); - mUi.inBodyContents->setChecked( true ); - mUi.startDate->setDate( QDate::currentDate() ); - mUi.endDate->setDate( QDate::currentDate().addYears( 1 ) ); - mUi.collectionCombo->setMimeTypeFilter( QStringList() << KMime::Message::mimeType() ); -} - -QString SearchWidget::query() const -{ - //TODO create search query form dialog - return QString(); -} - -DeclarativeSearchWidget::DeclarativeSearchWidget( QGraphicsItem *parent ) - : QGraphicsProxyWidget( parent ), mSearchWidget( new SearchWidget ) -{ - QPalette palette = mSearchWidget->palette(); - palette.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - mSearchWidget->setPalette( palette ); - StyleSheetLoader::applyStyle( mSearchWidget ); - - setWidget( mSearchWidget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeSearchWidget::~DeclarativeSearchWidget() -{ -} - -QString DeclarativeSearchWidget::query() const -{ - return mSearchWidget->query(); -} - diff --git a/kdepim/mobile/mail/searchwidget.h b/kdepim/mobile/mail/searchwidget.h deleted file mode 100644 index 52321477..00000000 --- a/kdepim/mobile/mail/searchwidget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef SEARCHWIDGET_H -#define SEARCHWIDGET_H - -#include "ui_searchwidget.h" - -#include -#include - -class SearchWidget : public QWidget -{ - Q_OBJECT - - public: - explicit SearchWidget( QWidget *parent = 0 ); - - QString query() const; - - private: - Ui_SearchWidget mUi; -}; - -class DeclarativeSearchWidget : public QGraphicsProxyWidget -{ - Q_OBJECT - - Q_PROPERTY( QString query READ query ) - - public: - explicit DeclarativeSearchWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeSearchWidget(); - - public Q_SLOTS: - QString query() const; - - private: - SearchWidget *mSearchWidget; -}; - -#endif diff --git a/kdepim/mobile/mail/searchwidget.ui b/kdepim/mobile/mail/searchwidget.ui deleted file mode 100644 index 86bf04f0..00000000 --- a/kdepim/mobile/mail/searchwidget.ui +++ /dev/null @@ -1,219 +0,0 @@ - - - SearchWidget - - - - 0 - 0 - 451 - 227 - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - Search for: - - - - - - - true - - - - - - - In: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - Subjects - - - - - - - Senders - - - - - - - Recipients - - - - - - - Body Contents - - - - - - - - - - Sent between: - - - - - - - - - true - - - - - - - - 0 - 0 - - - - and - - - Qt::AlignCenter - - - - - - - true - - - - - - - - - Include messages within the specified date range - - - - - - - Located in: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - any folder - - - true - - - - - - - only in folder - - - - - - - false - - - - - - - - - - - KDateComboBox - QComboBox -
kdatecombobox.h
-
- - KLineEdit - QLineEdit -
klineedit.h
-
- - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
-
- - - - locatedInSpecificCollection - toggled(bool) - collectionCombo - setEnabled(bool) - - - 138 - 235 - - - 217 - 239 - - - - -
diff --git a/kdepim/mobile/mail/settings.kcfg.cmake b/kdepim/mobile/mail/settings.kcfg.cmake deleted file mode 100644 index 386c40c5..00000000 --- a/kdepim/mobile/mail/settings.kcfg.cmake +++ /dev/null @@ -1,136 +0,0 @@ - - - - kglobalsettings.h - - - - - - - - - - - - - - - false - - - - - - - - - - - - - - - - - ${WARN_TOOMANY_RECIPIENTS_DEFAULT} - If the number of recipients is larger than this value, KMail Mobile will warn and ask for a confirmation before sending the mail. The warning can be turned off. - - - - 5 - 1 - 100 - If the number of recipients is larger than this value, KMail Mobile will warn and ask for a confirmation before sending the mail. The warning can be turned off. - - - - - - - - - - - - - 80 - - - red - - - - - - - - - - - - - - SortByDateTimeMostRecent - - - - - - - Ascending - - - - - - - - GroupByDate - - - true - - - - - - true - - - - - - - - - - - - - - - - - - Ignore - - - - - - - - - - - - - - - Nothing - - - diff --git a/kdepim/mobile/mail/settings.kcfgc b/kdepim/mobile/mail/settings.kcfgc deleted file mode 100644 index 734c1668..00000000 --- a/kdepim/mobile/mail/settings.kcfgc +++ /dev/null @@ -1,6 +0,0 @@ -File=settings.kcfg -ClassName=Settings -Mutators=true -Singleton=true -ItemAccessors=true -SetUserTexts=true diff --git a/kdepim/mobile/mail/snippetseditor.cpp b/kdepim/mobile/mail/snippetseditor.cpp deleted file mode 100644 index 17f8f265..00000000 --- a/kdepim/mobile/mail/snippetseditor.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "snippetseditor.h" - -#include -#include -#include - -#include -#include - -SnippetsEditor::SnippetsEditor( KActionCollection *actionCollection, QObject *parent ) - : QObject( parent ), mSnippetsManager( new MailCommon::SnippetsManager( actionCollection, this ) ) -{ - actionCollection->addAction(QLatin1String( "snippetseditor_add_snippet"), mSnippetsManager->addSnippetAction() ); - actionCollection->addAction( QLatin1String("snippetseditor_edit_snippet"), mSnippetsManager->editSnippetAction() ); - actionCollection->addAction( QLatin1String("snippetseditor_delete_snippet"), mSnippetsManager->deleteSnippetAction() ); - - actionCollection->addAction( QLatin1String("snippetseditor_add_snippetgroup"), mSnippetsManager->addSnippetGroupAction() ); - actionCollection->addAction( QLatin1String("snippetseditor_edit_snippetgroup"), mSnippetsManager->editSnippetGroupAction() ); - actionCollection->addAction( QLatin1String("snippetseditor_delete_snippetgroup"), mSnippetsManager->deleteSnippetGroupAction() ); - - actionCollection->addAction( QLatin1String("snippetseditor_insert_snippet"), mSnippetsManager->insertSnippetAction() ); - - mProxyModel = new KDescendantsProxyModel( this ); - mProxyModel->setSourceModel( mSnippetsManager->model() ); -} - -void SnippetsEditor::setEditor( QObject *editor, const char *insertSnippetMethod, const char *dropSignal ) -{ - mSnippetsManager->setEditor( editor, insertSnippetMethod, dropSignal ); -} - -void SnippetsEditor::save() -{ - //TODO:mSnippetsManager->save(); -} - -QAbstractItemModel* SnippetsEditor::model() const -{ - return mProxyModel; -} - -void SnippetsEditor::setRowSelected( int row ) -{ - QItemSelectionModel *selectionModel = mSnippetsManager->selectionModel(); - - Q_ASSERT( row >= 0 && row < mProxyModel->rowCount() ); - - const QModelIndex proxyIndex = mProxyModel->index( row, 0, QModelIndex() ); - - selectionModel->select( mProxyModel->mapToSource( proxyIndex ), QItemSelectionModel::ClearAndSelect ); -} - diff --git a/kdepim/mobile/mail/snippetseditor.h b/kdepim/mobile/mail/snippetseditor.h deleted file mode 100644 index 08b5afe9..00000000 --- a/kdepim/mobile/mail/snippetseditor.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef SNIPPETSEDITOR_H -#define SNIPPETSEDITOR_H - -#include - -namespace MailCommon { -class SnippetsManager; -} - -class KActionCollection; -class KDescendantsProxyModel; -class QAbstractItemModel; - -/** - * @short The C++ part of the snippets editor for mobile apps. - * - * This class encapsulates the logic of the snippet viewing/editing - * and the UI is provided by SnippetsEditor.qml. - */ -class SnippetsEditor : public QObject -{ - Q_OBJECT - - public: - /** - * Creates a new snippets editor. - * - * @param actionCollection The action collection to register the manipulation - * actions (e.g. add, edit, delete) at - * @param parent The parent object. - */ - explicit SnippetsEditor( KActionCollection *actionCollection, QObject *parent = 0 ); - - void setEditor( QObject *editor, const char *insertSnippetMethod, const char *dropSignal ); - - public Q_SLOTS: - /** - * Saves changes to the snippets back to disk. - */ - void save(); - - /** - * Returns the snippets list model of the current collection. - */ - QAbstractItemModel* model() const; - - /** - * Sets the row of the snippets the user has selected in the UI. - */ - void setRowSelected( int row ); - - private: - MailCommon::SnippetsManager *mSnippetsManager; - KDescendantsProxyModel *mProxyModel; -}; - -#endif diff --git a/kdepim/mobile/mail/templateemailmodel.cpp b/kdepim/mobile/mail/templateemailmodel.cpp deleted file mode 100644 index 2ba07f87..00000000 --- a/kdepim/mobile/mail/templateemailmodel.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - - -#include "templateemailmodel.h" -#include -#include - -QVariant TemplateEmailModel::data(const QModelIndex& index, int role) const -{ - if ( role == Qt::DisplayRole ) { - KMime::Message::Ptr message = Akonadi::SelectionProxyModel::data(index, Akonadi::EntityTreeModel::ItemRole).value().payload(); - return message->subject()->asUnicodeString(); - } else { - return Akonadi::SelectionProxyModel::data(index, role); - } -} diff --git a/kdepim/mobile/mail/templateemailmodel.h b/kdepim/mobile/mail/templateemailmodel.h deleted file mode 100644 index 47c786ae..00000000 --- a/kdepim/mobile/mail/templateemailmodel.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Andras Mantia - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - - -#ifndef TEMPLATEEMAILMODEL_H -#define TEMPLATEEMAILMODEL_H - -#include - -/** A simple model that overrides the data() method, so the display role is the subject of the mails. - * Then in QML one can use "display" to get it. - */ -class TemplateEmailModel : public Akonadi::SelectionProxyModel { - Q_OBJECT -public: - explicit TemplateEmailModel( QItemSelectionModel *selectionModel, QObject *parent = 0 ) : Akonadi::SelectionProxyModel( selectionModel, parent) { - } - - QVariant data( const QModelIndex & index, int role = Qt::DisplayRole ) const; -}; - - -#endif // TEMPLATEEMAILMODEL_H diff --git a/kdepim/mobile/mail/tests/CMakeLists.txt b/kdepim/mobile/mail/tests/CMakeLists.txt deleted file mode 100644 index 8b137891..00000000 --- a/kdepim/mobile/mail/tests/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/kdepim/mobile/mail/tests/StaticCollectionModel.qml b/kdepim/mobile/mail/tests/StaticCollectionModel.qml deleted file mode 100644 index 664a0176..00000000 --- a/kdepim/mobile/mail/tests/StaticCollectionModel.qml +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import Qt 4.6 -import org.kde 4.5 - -/** - * Static set of collections, for testing QML files without available Akonadi. - */ -ListModel { - ListElement { - display: "Inbox" - decoration: "mail-inbox" - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/tests/StaticMessageModel.qml b/kdepim/mobile/mail/tests/StaticMessageModel.qml deleted file mode 100644 index 2b2a55da..00000000 --- a/kdepim/mobile/mail/tests/StaticMessageModel.qml +++ /dev/null @@ -1,260 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import Qt 4.6 - -/** - * Static set of nessages, for testing QML files without available Akonadi. - */ -ListModel { - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } - ListElement { - subject: "Hello World!" - from: "Volker Krause " - to: "Steve Kelly " - date: "Monday, 22nd March 2010, 14:28 CET" - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/tests/folderviewtest.qml b/kdepim/mobile/mail/tests/folderviewtest.qml deleted file mode 100644 index 5c4685b7..00000000 --- a/kdepim/mobile/mail/tests/folderviewtest.qml +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import Qt 4.6 -import org.kde 4.5 -import org.kde.akonadi 4.5 -import "StaticCollectionModel.qml" - -Rectangle { - width: 800 - height: 480 - - StaticCollectionModel { - id: collectionModel - } - - CollectionView { - model: collectionModel - anchors.fill: parent - } -} \ No newline at end of file diff --git a/kdepim/mobile/mail/tests/headerlisttest.qml b/kdepim/mobile/mail/tests/headerlisttest.qml deleted file mode 100644 index 4a62b47e..00000000 --- a/kdepim/mobile/mail/tests/headerlisttest.qml +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import Qt 4.6 -import org.kde 4.5 -import "StaticMessageModel.qml" -import ".." - -Rectangle { - id: topLevel - height: 480 - width: 800 - - StaticMessageModel { id: itemModel } - - HeaderView { - id: headerList - anchors.fill: parent - model: itemModel - } -} diff --git a/kdepim/mobile/mail/toggle-encryption-button.png b/kdepim/mobile/mail/toggle-encryption-button.png deleted file mode 100644 index 12c3e6559987925cf14678c60b43662d0a57a440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2633 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 diff --git a/kdepim/mobile/mail/vacationmanager.cpp b/kdepim/mobile/mail/vacationmanager.cpp deleted file mode 100644 index 8f71928c..00000000 --- a/kdepim/mobile/mail/vacationmanager.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "vacationmanager.h" - -#include -#include -#include -#include -#include -#include - -#include - -VacationManager::VacationManager( KActionCollection *actionCollection, QObject *kernel, QObject *parent ) - : QObject( parent ), - mKernel( kernel ), - mVacationScriptIsActive( false ), - mEditAction( 0 ) -{ - if ( KSieveUi::Util::checkOutOfOfficeOnStartup() ) - QTimer::singleShot( 0, this, SLOT(checkVacation()) ); - - if ( KSieveUi::Util::allowOutOfOfficeSettings() ) { - mEditAction = new KAction( i18n( "Edit \"Out of Office\" Replies" ), this ); - actionCollection->addAction( QLatin1String("tools_edit_vacation"), mEditAction ); - connect( mEditAction, SIGNAL(triggered(bool)), SLOT(editVacation()) ); - } -} - -VacationManager::~VacationManager() -{ -} - -bool VacationManager::activeVacationScriptAvailable() const -{ - return mVacationScriptIsActive; -} - -void VacationManager::updateVacationScriptActivity( bool active, const QString &serverName ) -{ - Q_UNUSED(serverName); - mVacationScriptIsActive = active; - emit vacationScriptActivityChanged(); -} - -void VacationManager::checkVacation() -{ - updateVacationScriptActivity( false ); - - if ( !askToGoOnline() ) - return; - - KSieveUi::Vacation *vacation = new KSieveUi::Vacation( this, true /* check only */ ); - connect( vacation, SIGNAL(scriptActive(bool,QString)), SLOT(updateVacationScriptActivity(bool,QString)) ); - connect( vacation, SIGNAL(requestEditVacation()), SLOT(editVacation()) ); -} - -void VacationManager::editVacation() -{ - if ( !askToGoOnline() ) - return; - - if ( mVacation ) - return; - - mVacation = new KSieveUi::Vacation( this ); - connect( mVacation, SIGNAL(scriptActive(bool,QString)), SLOT(updateVacationScriptActivity(bool,QString)) ); - connect( mVacation, SIGNAL(requestEditVacation()), SLOT(editVacation()) ); - if ( mVacation->isUsable() ) { - connect( mVacation, SIGNAL(result(bool)), mVacation, SLOT(deleteLater()) ); - } else { - QString msg = i18n( "KMail Mobile's Out of Office Reply functionality relies on " - "server-side filtering. You have not yet configured an " - "IMAP server for this.\n" - "You can do this on the \"Filtering\" tab of the IMAP " - "account configuration."); - KMessageBox::sorry( 0, msg, i18n( "No Server-Side Filtering Configured" ) ); - - delete mVacation; - } -} - -bool VacationManager::askToGoOnline() const -{ - bool result = false; - - QMetaObject::invokeMethod( mKernel, "askToGoOnline", Qt::DirectConnection, - Q_RETURN_ARG( bool, result ) ); - - return result; -} - diff --git a/kdepim/mobile/mail/vacationmanager.h b/kdepim/mobile/mail/vacationmanager.h deleted file mode 100644 index df6b7cd9..00000000 --- a/kdepim/mobile/mail/vacationmanager.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef VACATIONMANAGER_H -#define VACATIONMANAGER_H - -#include -#include - -namespace KSieveUi { -class Vacation; -} - -class KAction; -class KActionCollection; - -/** - * @short A class that encapsulates the handling of vacation sieve scripts. - */ -class VacationManager : public QObject -{ - Q_OBJECT - - Q_PROPERTY( bool activeVacationScriptAvailable READ activeVacationScriptAvailable NOTIFY vacationScriptActivityChanged ) - - public: - /** - * Creates a new vacation manager. - * - * @param actionCollection The action collection to register the edit action at. - * @param kernel The object that provide a bool askToGoOnline() slot. - * @param parent The parent object. - */ - explicit VacationManager( KActionCollection *actionCollection, QObject *kernel, QObject *parent = 0 ); - - /** - * Destroys the vacation manager. - */ - ~VacationManager(); - - /** - * Returns whether an active vacation script is available on the server. - */ - bool activeVacationScriptAvailable() const; - - public Q_SLOTS: - /** - * Opens the vacation script edit dialog. - */ - void editVacation(); - - Q_SIGNALS: - /** - * This signal is emitted whenever the activity of the vacation script has changed. - */ - void vacationScriptActivityChanged(); - - private Q_SLOTS: - void updateVacationScriptActivity(bool , const QString &serverName=QString()); - - void checkVacation(); - - private: - bool askToGoOnline() const; - - QPointer mVacation; - QObject *mKernel; - bool mVacationScriptIsActive; - KAction *mEditAction; -}; - -#endif diff --git a/kdepim/mobile/notes/BulkActionComponent.qml b/kdepim/mobile/notes/BulkActionComponent.qml deleted file mode 100644 index 46799420..00000000 --- a/kdepim/mobile/notes/BulkActionComponent.qml +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - Copyright (c) 2010 Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.0 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.BulkActionScreen { - id : bulkActionScreen - visible : guiStateManager.inBulkActionScreenState - anchors.top: parent.top - anchors.fill: parent - backgroundImage : backgroundImage.source - - actionListWidth : 1/3 * parent.width - multipleText : KDE.i18np("1 note book", "%1 note books", collectionView.numSelected) - selectedItemModel : _breadcrumbNavigationFactory.qmlSelectedItemModel(); - headerList : NotesListView { - showCheckBox : true - id: bulkActionHeaderList - model: itemModel - checkModel : _itemActionModel - anchors.fill : parent - showDeleteButton: false - itemHeight: bulkActionScreen.itemHeight - } -} diff --git a/kdepim/mobile/notes/CMakeLists.txt b/kdepim/mobile/notes/CMakeLists.txt deleted file mode 100644 index e1dbf276..00000000 --- a/kdepim/mobile/notes/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -project(notes-mobile) - -include_directories( - ${KDEPIMLIBS_INCLUDE_DIR} - ${AKONADI_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} -) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") - -set(notes_mobile_SRCS - notelistproxy.cpp - notesexporthandler.cpp - notesfilterproxymodel.cpp - notesimporthandler.cpp - mainview.cpp - main.cpp - searchwidget.cpp -) - -qt4_wrap_ui(notes_mobile_SRCS searchwidget.ui) - -if(RUNTIME_PLUGINS_STATIC) - add_definitions(-DMAIL_SERIALIZER_PLUGIN_STATIC) -endif() - -kde4_add_app_icon(notes_mobile_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-notes-mobile.png") - -kde4_add_executable(notes-mobile ${notes_mobile_SRCS}) - -target_link_libraries(notes-mobile - ${QT_QTDECLARATIVE_LIBRARY} - ${KDEPIMLIBS_AKONADI_KMIME_LIBS} - ${KDEPIMLIBS_KMIME_LIBS} - ${KDEPIMLIBS_KMBOX_LIBS} - kdepimmobileui - kdepim - akonadi_next -) - -if(RUNTIME_PLUGINS_STATIC) - target_link_libraries(notes-mobile akonadi_serializer_mail) -endif() - -install(TARGETS notes-mobile ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS notes-mobile.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install(FILES - BulkActionComponent.qml - notes.qml - NoteActions.qml - NoteView.qml - NotesListView.qml - notes-mobile-background.png - DESTINATION ${DATA_INSTALL_DIR}/notes-mobile -) - -kde4_install_icons(${ICON_INSTALL_DIR}) diff --git a/kdepim/mobile/notes/Messages.sh b/kdepim/mobile/notes/Messages.sh deleted file mode 100644 index 28c8dab2..00000000 --- a/kdepim/mobile/notes/Messages.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -$EXTRACTRC --ignore-no-input `find . \( -name '*.ui' -or -name '*.rc' -or -name '*.kcfg' -or -name '*.kcfg.cmake' \) -and -not -name '*-mobile.rc'` >> rc.cpp || exit 11 -$XGETTEXT -ktranslate `find -name '*.cpp' -o -name '*.h'` -o $podir/notes-mobile.pot -$XGETTEXT -ktranslate `find . -name '*.qml'` -j -L Java -o $podir/notes-mobile.pot -rm -f rc.cpp diff --git a/kdepim/mobile/notes/NoteActions.qml b/kdepim/mobile/notes/NoteActions.qml deleted file mode 100644 index 03d93fef..00000000 --- a/kdepim/mobile/notes/NoteActions.qml +++ /dev/null @@ -1,128 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.0 -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 -import "../mobileui/ScreenFunctions.js" as Screen - -ActionMenuContainer { - - menuStyle : true - - actionItemHeight : Screen.partition( height, 6 ) - actionItemSpacing - actionItemWidth : 200 - actionItemSpacing : 2 - - ActionList { - category : "home" - name : "home_menu" - text : KDE.i18n( "Home" ) - ActionListItem { name : "synchronize_all_items" } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Multiple Notebooks" ) } - ActionListItem { name : "import_notes" } - } - - FavoriteManager{ model : favoritesList } - - AgentInstanceList { - name : "accounts_list" - category : "home" - text : KDE.i18n( "Accounts" ) - - model : agentInstanceList - } - - ActionList { - category : "account" - name : "account_menu" - text : KDE.i18n( "Account" ) - ActionListItem { name : "akonadi_resource_synchronize" } - ActionListItem { name : "akonadi_resource_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "export_account_notes" } - } - - ActionList { - category : "single_folder" - name : "single_folder_folder_menu" - text : KDE.i18n( "Folder" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_notes" } - } - - ActionList { - category : "single_folder" - name : "single_folder_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_collection_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "akonadi_collection_move_to_dialog" } - ActionListItem { name : "akonadi_collection_copy_to_dialog" } - ActionListItem { name : "akonadi_collection_delete" } - } - - ActionList { - category : "single_folder" - name : "single_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_folder_menu" - text : KDE.i18n( "Folders" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_notes" } - } - - ActionList { - name : "multi_folder_view_menu" - category : "multiple_folder" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ); visible: !guiStateManager.inSearchResultScreenState } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Notebooks" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - name : "note_viewer_edit_menu" - category : "note_viewer" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_item_copy_to_dialog" } - ActionListItem { name : "akonadi_item_move_to_dialog" } - ActionListItem { name : "akonadi_item_delete" } - } - - ApplicationGeneralActions { - category : "standard" - name : "application_menu" - text : KDE.i18n( "Notes" ) - type : "note" - configureActionVisible: false - - addNewActionName: "add_new_note" - //TODO enable when SearchWidget::query() is implemented - //searchActionTitle: KDE.i18n( "Search For Notes" ) - } -} diff --git a/kdepim/mobile/notes/NoteView.qml b/kdepim/mobile/notes/NoteView.qml deleted file mode 100644 index 6181f1dd..00000000 --- a/kdepim/mobile/notes/NoteView.qml +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.0 - -Rectangle { - id : _topContext - color: "#00000000" // Set a transparent color. - property int currentNoteRow : -1 - anchors.fill : parent - - onCurrentNoteRowChanged : { - titleInput.text = application.noteTitle( currentNoteRow ); - contentEdit.text = application.noteContent( currentNoteRow ); - } - - function saveNote() - { - application.saveNote(titleInput.text, contentEdit.text); - } - - Rectangle { - border { color: "grey"; width: 2; } - color: "#00000000" - id : titleWrapper - anchors.top : parent.top - anchors.left : parent.left - anchors.right : parent.right - height : 30 - radius : 8 - TextInput { - id : titleInput - color : "#000001" // yes, not exactly black, since QML maps black to white on the N900... - anchors.left : parent.left - anchors.right: parent.right - anchors.verticalCenter: parent.verticalCenter - anchors.leftMargin : 10 - anchors.rightMargin : 10 - - /* - onClicked : { - application.saveCurrentNoteContent(contentEdit.text); - } */ - } - - } - - Rectangle { - border { color: "grey"; width: 2; } - color: "#00000000" - anchors.top : titleWrapper.bottom - anchors.left : parent.left - anchors.right : parent.right - anchors.bottom : parent.bottom - anchors.topMargin: 8 - radius : 8 - Flickable { - id: flick - - anchors.fill : parent - anchors.topMargin : 8 - anchors.bottomMargin : 8 - anchors.leftMargin : 10 - anchors.rightMargin : 10 - - clip: true - - function ensureVisible(r) - { - if (contentX >= r.x) - contentX = r.x; - else if (contentX+width <= r.x+r.width) - contentX = r.x+r.width-width; - if (contentY >= r.y) - contentY = r.y; - else if (contentY+height <= r.y+r.height) - contentY = r.y+r.height-height; - } - - TextEdit { - id : contentEdit - color : "#000001" // yes, not exactly black, since QML maps black to white on the N900... - anchors.fill : parent - - wrapMode: TextEdit.Wrap - onCursorRectangleChanged: flick.ensureVisible(cursorRectangle) - } - } - } -} diff --git a/kdepim/mobile/notes/NotesListView.qml b/kdepim/mobile/notes/NotesListView.qml deleted file mode 100644 index 98690f31..00000000 --- a/kdepim/mobile/notes/NotesListView.qml +++ /dev/null @@ -1,146 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.0 -import org.kde.pim.mobileui 4.5 as KPIM - -/** Akonadi Note List View - */ -KPIM.ItemListView { - id: _top - property bool showDeleteButton : true - property bool showCheckBox - property variant checkModel - - delegate: [ - KPIM.ItemListViewDelegate { - showCheckBox : _top.showCheckBox - checkModel : _top.checkModel - navigationModel : _top.navigationModel - height : _top.itemHeight - summaryContent : [ - Text { - id: titleLabel - anchors.top : parent.top - anchors.topMargin : 1 - anchors.left : parent.left - anchors.leftMargin : 10 - anchors.right: parent.right - anchors.rightMargin: deleteAction.width - text : model.title - color : "#0C55BB" - font.pixelSize: 16 - elide: "ElideRight" - }, - Text { - id: subjectLabel - anchors.top : titleLabel.bottom - anchors.topMargin : 1 - anchors.left : parent.left - anchors.leftMargin : 10 - anchors.right: parent.right - anchors.rightMargin: deleteAction.width - height : 30; - text : model.shortContent - font.pixelSize: 18 - elide: "ElideRight" - clip: true - }, /* - Image { - id : importantFlagImage - anchors.verticalCenter : parent.verticalCenter; - anchors.left : parent.left - anchors.leftMargin : 15 - source : "important-email.png" - opacity : model.is_important ? 0.25 : 0 - }, - Image { - id : actionFlagImage - anchors.verticalCenter : parent.verticalCenter; - anchors.left : importantFlagImage.right - source : "action-item-email.png" - opacity : model.is_action_item ? 0.25 : 0 - }, */ - KPIM.Action{ - id : deleteAction - anchors.verticalCenter: parent.verticalCenter; - anchors.right : parent.right; - width: imageWidth - height : imageHeight - action : application.getAction("akonadi_item_delete", "") - hidable : false - showText : false - disableable : false - opacity : 0.6 - visible : showDeleteButton - onTriggered : { - _itemActionModel.select(model.index, 3); - } - image : KDE.locate( "data", "mobileui/delete-button.png" ); - } - ] - - states : [ - State { - name : "deleteFaded" - when : itemListView.flicking - PropertyChanges { - target : deleteAction; - opacity : 0 - } - PropertyChanges { - target : deleteAction.anchors; - rightMargin : -deleteAction.width - } - } - ] - transitions : [ - Transition { - from : "" - to : "deleteFaded" - PropertyAnimation { - target : deleteAction - properties : "opacity" - duration: 500 - easing.type: "OutQuad" - } - }, - Transition { - from : "deleteFaded" - to : "" - SequentialAnimation { - PauseAnimation { - // delay a bit - duration: { - // TODO: figure out how to do this. - 0 - } - } - PropertyAnimation { - target : deleteAction.anchors - properties : "rightMargin" - duration: 500 - easing.type: "InQuad" - } - } - } - ] - } - ] -} diff --git a/kdepim/mobile/notes/hi48-apps-notes-mobile.png b/kdepim/mobile/notes/hi48-apps-notes-mobile.png deleted file mode 100644 index ed1e10756a97beabb67f5a3e6d028647223f9a8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2527 zcmV<52_W`~P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L02IRj02IRk6>v>L00007bV*G`2igZ4 z4iFt_6UyZP01017L_t(&-tC&ti(Y3H$3N#h&zqSfoiv%G35pc#qNItqu#|3uicq?( zxX`s?ExOSEz;>fs1w{pSf{Q4)EiOdGCM~EfO)P26uf|Bs52ww%ZzePI-sd?ko*(zQ z@4S;XHG>r#=5l}EdwzV+Ip1^c3;+N7@BRsZnIR$$SOD}RE^`Dne}CrH?x{~bi8nKz zd;S~GzWUnh-#_~3qYuA#>peC%r}b(x5DaS%0EPfocFW0hoi*FVN=W&yM*u_^9+7rW z>Un^X_be|T;N1C3SATut#CL$72{8J@saM7u>l?csTzWuO-hG#ijg54(fyowkVZDr$ zy}Dl&w1K0mNHSDJvKCThmvpCq#PVV0I^J~KoWrwXFI7hD2_XueKC zOi%>Gh=Aq?M~nE8Cx(udcUR=V!2;P<7bO~e{1e9s6%$4QlT{Z~H}uDe z30^jYkSbigau!!zVTeicNU^vj$QbFIR<{@`ii)7lAqXKv0Pg`TL=aH*hzNqgXqm}N z$1v9lJF`86^WabmhNmFAUNBYXyU;u7fMBFp>tLF}^NG0R@o)~6EzM6)!S6cNS7p3(XQRt+p^ zXOb*x)d@u@s{&gMa?1gqATAI3)Sy9t1x5DmMV9wN*CkNnbmw@G@U`lVKJbDAC-bMTeNH zaTYhj)f%0xWFxbhRwZ9sWb6hC9=n&DIHXANfU{sG~ zHA`B@Ko;<1J~o#|6zjW@<8Qxx8|NJ&F!D?A z*H03(JpY4sD>-%oj6U~DB7_Pt7tqRuR5jsCGD8XMsm)QVvYWDhvcfw)S? z9@b=mX$QxS?(Z`w#!NFYjF%jH5yu`|XK$ErG8U#FLkNW!P*)TvoFn70rg80suNi7i zT5VPj>|ekw?dI_QB`oBMor4dHeUW2GJ<@Jki*tlqioZP}8aS5MAL&cJxH?fS~!Z$^Z=y+6M?mNnub^Y11dsgrih@TDF%ifNDp;RYe7#g z)RYF@C}A`=_$6*-ULFvD0kOtbUU zp^RASC?z-bBD}YUjf_RhlLssM-CLpcn&3E&_AQl`d zDb*v=&kb4yc4l&%sfbD{O7}!XdO9v^SFq)0VKUv~v7MVl4}vt&0xQ9+GNcSGb;!p} zQvuc67vPZ>xqA5LsI6^z&5nAYKtQzMwxuFvWU>tv5k=R|Gu{1du1&wf#S4GNkKC3~ z`_6s~Fd1}olC7&MIa&19mood*jQRCTOm}~aYvDOAUO2;KGDf%dAF{I^PzP=oxP?3` zw@gLanS;&X-;mqqm@YieweWQ=UO3HUGD*$+oIk&F*fDf-4f)rb;NINYer`7?Hs}t% z!1eG=E}TEjBTZgi`y2^Mm*I;|g24?jE2et7KjJPn(W_Pb6VTSzkiDff&< z3-QpQgHv^W^)rt@ejT_ez^-4M_|-Fq4ju|mfBq@XzV$XYZrrr43rWP7ys#Y`owvkh zdlo`^H#lv9RH_*uc<)$VJ|M@BJ;v|;c#7-SulX;1@e9B4X)qU8H`dq9Fec+MlgWe- z!dBt#ra;41-&X+`_TTRl6O!BAT_aD#*x0y34ABA6XFRMjKU05neo`P?hIQI1aO;2c zXA<_|6|no{Fq<8-e86F8tH9=Tb5&H+ZzS@=%;pGLzJukLTJy65Yxd{fCk^vy1@6Bg p)y{D4eK}oCH>U{7w3`CNe*<$-)t~x-Q_cVY002ovPDHLkV1gSQsZam_ diff --git a/kdepim/mobile/notes/hi64-apps-notes-mobile.png b/kdepim/mobile/notes/hi64-apps-notes-mobile.png deleted file mode 100644 index 1630d4f0cf53721e5a8e7a57cbc3355f322721f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3680 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 N002ovPDHLkV1oVg-T43j diff --git a/kdepim/mobile/notes/main.cpp b/kdepim/mobile/notes/main.cpp deleted file mode 100644 index 6867a255..00000000 --- a/kdepim/mobile/notes/main.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include -#include -#include - -#include "mainview.h" - -#ifdef MAIL_SERIALIZER_PLUGIN_STATIC -#include - -Q_IMPORT_PLUGIN(akonadi_serializer_mail) -#endif - -int main( int argc, char **argv ) -{ - const QByteArray& ba = QByteArray( "notes-mobile" ); - const KLocalizedString name = ki18n( "Kontact Touch Notes" ); - - KAboutData aboutData( ba, ba, name, ba, name ); - aboutData.setProductName( "KJots Mobile" ); //has to match the bugzilla product name - - KCmdLineArgs::init( argc, argv, &aboutData ); - KDeclarativeApplication app; - - return app.exec(); -} - diff --git a/kdepim/mobile/notes/mainview.cpp b/kdepim/mobile/notes/mainview.cpp deleted file mode 100644 index dbedaa42..00000000 --- a/kdepim/mobile/notes/mainview.cpp +++ /dev/null @@ -1,377 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "mainview.h" - -#include "actionhelper.h" -#include "notelistproxy.h" -#include "notesexporthandler.h" -#include "notesfilterproxymodel.h" -#include "notesimporthandler.h" -#include "searchwidget.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#ifdef KDEQMLPLUGIN_STATIC -#include "runtime/qml/kde/kdeintegration.h" -#endif - -using namespace Akonadi; - -QML_DECLARE_TYPE( DeclarativeSearchWidget ) - -MainView::MainView( QWidget *parent ) - : KDeclarativeMainView( QLatin1String("notes"), new NoteListProxy( Akonadi::EntityTreeModel::UserRole ), parent ) -{ -} - -void MainView::doDelayedInit() -{ - setWindowTitle( i18n( "Notes" ) ); - - qmlRegisterType( "org.kde.akonadi.notes", 4, 5, "SearchWidget" ); - -#ifdef KDEQMLPLUGIN_STATIC - rootContext()->setContextProperty( QLatin1String( "KDE" ), new KDEIntegration( this ) ); -#endif - - addMimeType( QLatin1String("text/x-vnd.akonadi.note") ); - itemFetchScope().fetchFullPayload(); - - KAction *action = new KAction( i18n( "New Note" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(startComposer()) ); - actionCollection()->addAction( QLatin1String( "add_new_note" ), action ); - - action = new KAction( i18n( "Import Notes" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(importItems()) ); - actionCollection()->addAction( QLatin1String( "import_notes" ), action ); - - action = new KAction( i18n( "Export Notes From This Account" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_account_notes" ), action ); - - action = new KAction( i18n( "Export Displayed Notes" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(exportItems()) ); - actionCollection()->addAction( QLatin1String( "export_selected_notes" ), action ); -} - -QString MainView::noteTitle( int row ) const -{ - if ( row < 0 ) - return QString(); - - QObject *itemModelObject = engine()->rootContext()->contextProperty( QLatin1String("itemModel") ).value(); - QAbstractItemModel *itemModel = qobject_cast( itemModelObject ); - - if ( !itemModel ) - return QString(); - - static const int column = 0; - const QModelIndex index = itemModel->index( row, column ); - - if ( !index.isValid() ) - return QString(); - - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return QString(); - - if ( !item.hasPayload() ) - return QString(); - - const KMime::Message::Ptr note = item.payload(); - - return note->subject()->asUnicodeString(); -} - -QString MainView::noteContent( int row ) const -{ - if ( row < 0 ) - return QString(); - - QObject *itemModelObject = engine()->rootContext()->contextProperty( QLatin1String("itemModel") ).value(); - QAbstractItemModel *itemModel = qobject_cast( itemModelObject ); - - if ( !itemModel ) - return QString(); - - static const int column = 0; - const QModelIndex index = itemModel->index( row, column ); - - if ( !index.isValid() ) - return QString(); - - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return QString(); - - if ( !item.hasPayload() ) - return QString(); - - const KMime::Message::Ptr note = item.payload(); - - // TODO: Rich mimetype. - return note->mainBodyPart()->decodedText(); -} - -void MainView::saveNote( const QString& title, const QString& content ) -{ - QAbstractItemModel *model = const_cast( itemSelectionModel()->model() ); - - if ( !model->hasChildren() ) - return; - - const QModelIndexList list = itemSelectionModel()->selectedRows(); - - if ( list.size() != 1 ) - return; - - const QModelIndex index = list.first(); - - Q_ASSERT( index.isValid() ); - - Item item = index.data( EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return; - - if ( !item.hasPayload() ) - return; - - KMime::Message::Ptr note = item.payload(); - note->subject()->fromUnicodeString( title, "utf-8" ); - KMime::Content *c = note->mainBodyPart(); - c->fromUnicodeString( content ); - - note->assemble(); - - model->setData( index, QVariant::fromValue( item ), EntityTreeModel::ItemRole ); -} - -void MainView::saveCurrentNoteTitle( const QString& title ) -{ - QAbstractItemModel *model = const_cast( itemSelectionModel()->model() ); - - if ( !model->hasChildren() ) - return; - - const QModelIndexList list = itemSelectionModel()->selectedRows(); - - if ( list.size() != 1 ) - return; - - const QModelIndex index = list.first(); - - Q_ASSERT( index.isValid() ); - - Item item = index.data( EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return; - - if ( !item.hasPayload() ) - return; - - KMime::Message::Ptr note = item.payload(); - note->subject()->fromUnicodeString( title, "utf-8" ); - - note->assemble(); - - model->setData( index, QVariant::fromValue( item ), EntityTreeModel::ItemRole ); -} - -void MainView::saveCurrentNoteContent( const QString& content ) -{ - QAbstractItemModel *model = const_cast( itemSelectionModel()->model() ); - - if ( !model->hasChildren() ) - return; - - const QModelIndexList list = itemSelectionModel()->selectedRows(); - - if ( list.size() != 1 ) - return; - - const QModelIndex index = list.first(); - - Q_ASSERT( index.isValid() ); - - Item item = index.data( EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return; - - if ( !item.hasPayload() ) - return; - - KMime::Message::Ptr note = item.payload(); - KMime::Content *c = note->mainBodyPart(); - c->fromUnicodeString( content ); - - note->assemble(); - - model->setData( index, QVariant::fromValue( item ), EntityTreeModel::ItemRole ); -} - -Collection MainView::suitableContainerCollection( const QModelIndex &parent ) const -{ - const int rowCount = entityTreeModel()->rowCount( parent ); - for ( int row = 0; row < rowCount; ++row ) { - static const int column = 0; - const QModelIndex index = entityTreeModel()->index( row, column, parent ); - Q_ASSERT( index.isValid() ); - - const Collection collection = index.data( EntityTreeModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - if ( collection.contentMimeTypes().contains( Akonotes::Note::mimeType() ) ) - return collection; - - const Collection descendantCollection = suitableContainerCollection( index ); - if ( descendantCollection.isValid() ) - return descendantCollection; - } - - return Collection(); -} - -void MainView::startComposer() -{ - // If a collection is currently selected, put the new note there. - - const int rowCount = selectedItemsModel()->rowCount(); - - if ( rowCount > 1 ) - // Multiple items are selected. Find out how this should be handled. - return; - - if ( rowCount == 1 ) { - const QModelIndex index = selectedItemsModel()->index( 0, 0 ); - Q_ASSERT( index.isValid() ); - - const Collection collection = index.data( EntityTreeModel::CollectionRole ).value(); - Q_ASSERT( collection.isValid() ); - - Akonotes::NoteCreatorAndSelector *noteCreator = new Akonotes::NoteCreatorAndSelector( itemSelectionModel(), itemSelectionModel(), this ); - noteCreator->createNote( collection ); - - return; - } - - // otherwise nothing is selected, find a collection which can contain notes and put it there. - - const Collection collection = suitableContainerCollection(); - - if ( !collection.isValid() ) { - KMessageBox::information( this, i18n( "You do not appear to have any resources for notes. Please create one first." ), - i18n( "No resources available" ) ); - // No suitable collection found. - // Create a resource with LocalResourceCreator, - // then add a collection, then use the NoteCreatorAndSelector. - return; - } - - Akonotes::NoteCreatorAndSelector *noteCreator = new Akonotes::NoteCreatorAndSelector( regularSelectionModel(), itemSelectionModel(), this ); - noteCreator->createNote( collection ); -} - -void MainView::setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ) -{ - Akonadi::StandardActionManager *manager = new Akonadi::StandardActionManager( actionCollection(), this ); - manager->setCollectionSelectionModel( collectionSelectionModel ); - manager->setItemSelectionModel( itemSelectionModel ); - - manager->createAllActions(); - manager->interceptAction( Akonadi::StandardActionManager::CreateResource ); - - connect( manager->action( Akonadi::StandardActionManager::CreateResource ), SIGNAL(triggered(bool)), - this, SLOT(launchAccountWizard()) ); - - ActionHelper::adaptStandardActionTexts( manager ); - - manager->action( StandardActionManager::CollectionProperties )->setText( i18n( "Notebook Properties" ) ); - manager->action( StandardActionManager::CreateCollection )->setText( i18n( "New Sub Notebook" ) ); - manager->action( StandardActionManager::CreateCollection )->setProperty( "ContentMimeTypes", QStringList() << Akonadi::Collection::mimeType() << Akonotes::Note::mimeType() ); - manager->setActionText( StandardActionManager::SynchronizeCollections, ki18np( "Synchronize This Notebook", "Synchronize These Notebooks" ) ); - manager->setActionText( StandardActionManager::DeleteCollections, ki18np( "Delete Notebook", "Delete Notebooks" ) ); - manager->action( StandardActionManager::MoveCollectionToDialog )->setText( i18n( "Move Notebook To" ) ); - manager->action( StandardActionManager::CopyCollectionToDialog )->setText( i18n( "Copy Notebook To" ) ); - manager->action( StandardActionManager::CopyItemToDialog )->setText( i18n( "Copy Note To" ) ); - manager->action( StandardActionManager::MoveItemToDialog )->setText( i18n( "Move Note To" ) ); - manager->setActionText( StandardActionManager::DeleteItems, ki18np( "Delete Note", "Delete Notes" ) ); - - actionCollection()->action( QLatin1String("synchronize_all_items") )->setText( i18n( "Synchronize All Accounts" ) ); -} - -void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel ) -{ - Akonadi::AgentActionManager *manager = createAgentActionManager( selectionModel ); - - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::DialogTitle, - i18nc( "@title:window", "New Account" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageText, - ki18n( "Could not create account: %1" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageTitle, - i18n( "Account creation failed" ) ); - - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxTitle, - i18nc( "@title:window", "Delete Account?" ) ); - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxText, - i18n( "Do you really want to delete the selected account?" ) ); -} - -QAbstractProxyModel* MainView::createItemFilterModel() const -{ - return new NotesFilterProxyModel(); -} - -ImportHandlerBase* MainView::importHandler() const -{ - return new NotesImportHandler(); -} - -ExportHandlerBase* MainView::exportHandler() const -{ - return new NotesExportHandler(); -} diff --git a/kdepim/mobile/notes/mainview.h b/kdepim/mobile/notes/mainview.h deleted file mode 100644 index 1a47fcfd..00000000 --- a/kdepim/mobile/notes/mainview.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef MAINVIEW_H -#define MAINVIEW_H - -#include "kdeclarativemainview.h" - -#include - -class MainView : public KDeclarativeMainView -{ - Q_OBJECT - - public: - explicit MainView( QWidget *parent = 0 ); - - public slots: - QString noteTitle( int row ) const; - QString noteContent( int row ) const; - - void saveNote( const QString &title, const QString &content ); - void saveCurrentNoteTitle( const QString &title ); - void saveCurrentNoteContent( const QString &content ); - - void startComposer(); - - protected: - virtual void doDelayedInit(); - virtual void setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ); - - virtual void setupAgentActionManager( QItemSelectionModel *selectionModel ); - - virtual QAbstractProxyModel* createItemFilterModel() const; - - virtual ImportHandlerBase* importHandler() const; - virtual ExportHandlerBase* exportHandler() const; - - private: - Akonadi::Collection suitableContainerCollection( const QModelIndex &parent = QModelIndex() ) const; -}; - -#endif // MAINVIEW_H diff --git a/kdepim/mobile/notes/notelistproxy.cpp b/kdepim/mobile/notes/notelistproxy.cpp deleted file mode 100644 index a9cbc10f..00000000 --- a/kdepim/mobile/notes/notelistproxy.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "notelistproxy.h" - -#include - -#include -#include - -using namespace Akonadi; - -NoteListProxy::NoteListProxy( int customRoleBaseline, QObject* parent ) - : ListProxy( parent ), - mCustomRoleBaseline( customRoleBaseline ) -{ } - -QVariant NoteListProxy::data( const QModelIndex& index, int role ) const -{ - const Akonadi::Item item = QSortFilterProxyModel::data( index, Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.isValid() && item.hasPayload() ) { - const KMime::Message::Ptr note = item.payload(); - switch ( relativeCustomRole( role ) ) { - case Title: - return note->subject()->asUnicodeString(); - case Content: - return note->mainBodyPart()->decodedText(); - case PlainContent: - { - QTextDocument doc; - if ( note->contentType()->asUnicodeString() == QLatin1String( "text/plain" ) ) - doc.setPlainText( note->mainBodyPart()->decodedText() ); - else - doc.setHtml( note->mainBodyPart()->decodedText() ); - return doc.toPlainText(); - } - case ShortContent: - { - QTextDocument doc; - if ( note->contentType()->asUnicodeString() == QLatin1String( "text/plain" ) ) - doc.setPlainText( note->mainBodyPart()->decodedText() ); - else - doc.setHtml( note->mainBodyPart()->decodedText() ); - const QString plain = doc.toPlainText(); - const QStringList list = plain.split( QLatin1Char( '\n' ) ); - if ( list.isEmpty() ) - return QString(); - return list.first(); - } - } - } - - return QSortFilterProxyModel::data(index, role); -} - -void NoteListProxy::setSourceModel( QAbstractItemModel* sourceModel ) -{ - ListProxy::setSourceModel(sourceModel); - - QHash names = roleNames(); - names.insert( EntityTreeModel::ItemIdRole, "itemId" ); - names.insert( absoluteCustomRole( Title ), "title" ); - names.insert( absoluteCustomRole( Content ), "content" ); - names.insert( absoluteCustomRole( PlainContent ), "plainContent" ); - names.insert( absoluteCustomRole( ShortContent ), "shortContent" ); - setRoleNames( names ); -} - diff --git a/kdepim/mobile/notes/notelistproxy.h b/kdepim/mobile/notes/notelistproxy.h deleted file mode 100644 index d3c3b422..00000000 --- a/kdepim/mobile/notes/notelistproxy.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef NOTELISTPROXY_H -#define NOTELISTPROXY_H - -#include "listproxy.h" - -class NoteListProxy : public ListProxy -{ -public: - enum Role { - Title, - Content, - PlainContent, - ShortContent - }; - -public: - explicit NoteListProxy( int customRoleBaseline, QObject* parent = 0 ); - - virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; - - virtual void setSourceModel( QAbstractItemModel* sourceModel ); - -private: - int absoluteCustomRole( int role ) const { return role + mCustomRoleBaseline; } - int relativeCustomRole( int role ) const { return role - mCustomRoleBaseline; } - -private: - int mCustomRoleBaseline; -}; - -#endif // NOTELISTPROXY_H diff --git a/kdepim/mobile/notes/notes-mobile-background.png b/kdepim/mobile/notes/notes-mobile-background.png deleted file mode 100644 index 7232e2fdb6354fab020ab37bf19a1fcb52107042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620988 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
^9AjjXWZ2v+m5zJ)T^6{Reb-fA~% zbtze>ebA8O_{ZcSj+|l9c7|`0M@O%L@`FgJX<^btgb^`YM6=&a`$pEab33Zw926)3 z@}tL}6q_>h+}>_u_K)>TV!+#T&iHM}z87Yr8%2RqS*%Y}Z?`ae+``vCS{9#2wB%Bp zR6`?YCv_t$Z!B73nB?-vo4~sN1C`(?=hCUirl$aS5i`vZSBot4s}Ew^rgx%oM~Mma z{XnQq{+wgTC~Z_Qxdl7O0q?sF)ux#Jvf;)XP(3!1G3w zf@8=*%sJTyatPbcCH8t#*OO+|>+l>FGNL?Y#fLNHf9bk|ZxDmML=kly%5frg(N zLu_ylycZu0`)MQN5NdMuI@{8LHDt=2_1n_9R|{3&DHr3OzAU546$e3VnWV>?_=WPs zBsu+;;^TyLJTTW;ylrA0cEOdm{3mP$4{`221C_2`6kVP>$(Hm{fKcb&e{8SmN52r?n2N%NFgSF0-x$% zmN1=JNPaYpCYPgtP?mI?^F5+_eKkqk-i5l)Ck5_pes5!!&|>*8X}0(n@t${PW5tY3 z=rV|Bm!?i=VyS`bD!^&Id0AluxDi4*h>M}1B&7{&uuW6+um8h$QlU!wtOdA%N}4Nz zY5Bn&G-@1kLdFTxDy^~z>7sE4-5=Y_WqxSkp#JO^g}m^={H^n4X~)t#X`t>D&v=_Jc~V)a4@kQ!7MV*W0_Jt|mgCa3!8dd)G=(4#Ib!mhto2pV`5@ z#W=$v0+AxIh`2C3UB*EgV}4MKM!-FTJC7KD?Xb{wCiq)Xwo59=Q?xSfjG4b4N!}p{ zD1fQ$@2s$H85Nd{Qe=?Zq9T#CNkc2N112&`Ioz3Rqv_6(5kOdtPKqTidNArY#Mzb>C6_UIx% zpecF00$I`(hpDvA6-SkwkVz2{5fjj?v)4JpRkMW2u4=QQB=Uq_vyh(W+)5;(mk@@} zjV{;wL+*7pC6t+sH&fkY$wa*Cnl`f#o%Cn+@Hs0(DEgX(S+vghNF}%{6G^=Z7~wGeyA-XN+wg0 zw14D#TSKd&Qv6#rDLyVBqnwF6HAOa>U zaX+IWTLKVfmi&+NtHDhynLNrlzSE}B8SaLTFspr#zY@%@#=EzcsLI^61C5POD8X-G zD?2KNN>?3ot-jQ+(H3vGPyIB+3>7t=#D$SrKJicx{!uE9h}`1d0Cqd{n`TDgUVVP* z8qtgbCLOv|b0EQk7Xg_>RqGtZ>LBDIR!bhQhTo{Pm7pHFb6s%%;#|wGn*O-p?qF%X zhN44%vlxAn=s_yu*TP~uV6ULwNqffMZ#n+JFXd9+%`%v-z4ymELA}FuPFlBO{g4RR zLG+!&x~g7B3%l;}o`{0M?y^FMb>Dis`1Ffm0C-h7p}k0L1mOtW-MD!EcO4|O)x+UFlCX#p}ta?Z^mB{Bd61%{0_XYc-aQbl9|IWuyj80_&{p< zwq_ISCpYy6?4e#W#svWVu%~Z~O?&68z0;K5R!9&T$8Ey>4frT@BB5lbc}>{`ngQLFg<;F?A(CNr&_ux3^(s zSjm^c8*S=9D_1f2|8iodGxE0|BhieALFnF;w5%Ql(=TY)%x3tv<05cDIq9<6RH%mLuJp78suz$ z0Fe;xXlK3?4w6JxjuB@vJ=#6n`>D%G#*5Rvg#(4+EoT<#@d~3rQIVuY$K=u$^i~(L zkiSq|&Omm6lz^wt;H%3~z650H(rQY-Cvz zwA#wgJ~YA8FZ|R*#_jGNd?YyIg!8Ld!LN$< zNCxdwm73ixj~7i?eaP68+Z<`g8_SdORnF8hqQJxqHut@LcX2>X)n6Yi_+B<*BQxYo zM6togE}0_S3cP~8a-BNA=9LIGK}Yk~-j3EyC6Wpr$|4&UpXtlee+ob4-(r=DIs>-S z^D{=@!_ynu96m*swoXPDpdqMCy9z0V8V7O9)W+X}MN%$nQW;9X^DYCod&z+-x)xh+ zIYBl$&x|0hm232{<>yeC_mHAPos67+yKZQ7(lml#KST_B)S^prc-&)y_HG;&7)n;c zM}xB`-?LQ}6bwiH&kGQo!;xFw4_s2(5dQf^<3kZ9EDDT+>wEetnyv=@y0C0(+OSd< zxsEp^*NUeqRrndLf=+!z5|4SW$l`q}~xO9V)S z+Cg$XRzN(O93-?c-Y4Wc2T3E9qz)~p5ztlf_pTnJ?P8Jl!i#!A7_9qT|9EfpD9n@a zF>tr(z5@d_sQ(1agSA^uzlF;8FqX~47lQ2oQiSXj=oy(o!}hzIB*p*~+k8G?e^nkeN03D1^*VUQBJ_RSurAY}}-o^;_yxaBiM z9Jt9Yh{?PC9aSi-0AH-K#UODqD%iP8RGMIcc{FKlHv@JSBw$g)kW^ZyySxwK>g=L9 zE7-JtT)k@&Z1+9`Xw=y6<3uQuy^)bUbP?_X2B?bE&EjKpk+#swzq=Dwd|2hVV!Tkl zCPH~9^E15tIM7x|Nf|5l)@W>eN>( z#Cr75?jK=xLV(e<|J<&fz9nQg2+n{-mq1A`9YJ9A&z;4>Ldwg^O5^mHxKVTps+x*(uqL=IKrM*Ii?`g{X9r zSjt0E^lDX%UO~Apj}a+dpnbsrLt&0mV^}svXoVN1iFnnSEV}j|op1vSDsa%VWXhGu z-Gy9oQeA1`A^d{;7s07n8FMk?1{ zh<%NF0jC1!N^Aup#15!qAr>&!! z|H!SgvWBE;T(PFJ-x!M$%K6`b3`K==5mYLT`_JK!oQa(Th@F2P-XpLgV{}NT5~(fR z?{}bGrykCaPlBBV)3D~%C6EWq%v1OVKu$p;KNfu2F)+K2mm&&U5f91^mbREef&FtD z6Oj|lCe~xegr6)Uo-KKX_b zpr*rvQ7~_;+t(2#r7`t4dO$56{m2IMIfZ%53$!VoCL`0%l2A`j>rRLdh~pF2?Juv> z*qHmv{jFw-?%szjsQSl4gr7dn(dR=(mtiq5|KWr(6wuG9Y7ZWs6_lais0YKiAD2q5)Sf zNV@ccApP+~><__NF|8vJfacKF9dA;s60|0E8btmL#=Pn@#fpgl!tt|?Z_dG|20^tj zYiJuFt#Eyv{|W-yg)EV)^^otK`vp#J7W+U)WgOjE)&3r*q4xMk-(h7{Sqa3fON^DJ zSi$C$F+ev<^*=8t*@}!4><`GcrS_s~(}9 z8DHY)^NYr*0q&v*(eEuWf+QETETL`gFbgf@0^jobQhA4WN~D0Xof2-J)c|7)G85u% z07U=d71U|&Pdcmwax)8eOav;5b6*cV2PIeSKCt047bE>&RLBm?PxxRh;?T`u9BYXTmpb`BMxN@~p zFC}ajvXqMd1vmWDu3elQYqWijX2cC`UF4i$NMbdM@?rnKXhxBsF4BT^I z^_tySGPm5Ux)}@_qGFz;xTR+E@_tUwPn>0&!{uzG%68IZV&de(jJmq&$&F34KO5|@ z+rCBnWH+_B0I+|Ek@fUKRbAjBSAq0d1IK_!26xiU4sl<>;@9-)6?-zO-BS~1y>b9O zLKFfkLqPSLKUY3`PyiXUO8)i*0;w&Wv3xLkfxfiaC%a~FyeWE9R3}St(8MugRiH*? zyDk&qB5%8J=;okX70{qQof^BFGLJse`1apQf3T|HJVVL%C`ET)&ZNp?-6)^>lY827 z6Rq~l^F#BhRorB0MmoEW?jQz863{?whV$A8VLd=0p{8KfPGj1s4A^h+Pbe=f~Xw_iHg}vW5YXpEHlA3EzzlslB)UHRUvy9dE_?dYfhtzUSRtTy^o9)_eZy zD-FwDOE{G_9uV?PF^!Dy@R!tB|9!0Tr*Le$hu!>_A1YTY;Eb-owzG~IGRc8!a`UqK z;>#yFXM?U=?MHgaqpf+)p?#${V123}P;d)$2f(UvE0K7Z-l9AM&Pl(|g3 zeIE9YMr32CX@#z8>ZT#UJ9yvQV;?<2%zlwgIlmRd2CO9M=iU}jecOP$BlY<`aXFrI z%B=uCbLeV{b?*{^;?J2f9)Cm$hhSnspW&b0Ga1o2u?!TxVkIop9{g|Cf^7rop-8g? zz9w(Z52Ge(>~e2$Q1!KG2(Oou4)%x&*Nw0Kg-z5j=NRN_mMWlOEtsUy7aw<6?RV|d zC@6wqohQ$SQsG+f2x>0S8gExG6_ZE6$0XHNFh9l|~MZ#tG6ZG8nTWDodLXkUW>DT4Si*gQ;u+XdONZ#>)?67}hI@ zDnqq}Rrb@7CCT`M-jLLg`|cD^n|SbVA^l_*%8B1{435vE!P?J>#}huo>INoO0{W5=33dW1{-wJ5wsCE zeL_$VJ7-}DS?uyjJZcj~g4ZRjV*N;GaKCONR;uU!WaXY(Yt`-J?e=XDI&_y`+OVDo zYT?hjeVX=2f=q4}-qa8W9A{e5K;P2qLeU*|)EBsjFuvGaJ>QPJ>?_&234=QIuic*v zmgGx4jKpq!+9Wp>*)qFi`8%Fyrv+xGXismZ5fC*` zIU0@tb-VX#gZPr87A;C|q9WEeXQ9%uv43A7XSw>)hfI%tUDqF$+%3ehdWXmn^P`m{ zm#<^s_VB)b%qfp}y;%5T)p4XYHpz|YJMnR!+)}G(MW|8W6SIJ5P`{ITZgI6~^Ydf( zf0!CTw}a9qm<>`Kg{y1egNtw23RuY9Ji~#GCzHOxsnZXZH>2NQGMdUdcdECz-k?Fh#ggD(LYy@`8f~D;q^4T1R35+H*H3QXOlETdwy^Q8 z>2a?9=)epMuwnrU{(+kSsL$5Q{`#KJYSIBrN)}@ib&M{|yacgyyvKyHiyv=4Wt^w{ zijCaNE4x0q=Zx;|?3Dz@=1W_Nps|3&b8{y3zL+NLWLRrAAllk;(5~@q)9IV#gu}DUg-)7TUx0U;<)fS6#>G+2veef4^i3VhGE3m?U)bmNz7nU1SWGF()drMQTw!DO6Y8lmW4F7_|^VK?g1b*(H4()$IApx6I zDls#oWbT|R1Y|ZTWpD^AROg**U`V~dMvQ(KyujoH>mgX^hH#t&b%_Cei-JWkQ*zObMbCI2?O9Z_vn>F zaHTVfPo_0N9D&>GRYr-%nMCSKg@&(hmK&yA4R$1gM@D?bpGM7x>I3+BeV-UPzXay| zUH)M8*3>4)O|AYSpIQWUwCvmWUAh>-k==#XvJ9;)?5*K$9%2zYcB#_7^xd)^4b?P> z1X@ch2=!kcZ6%8@lOLGHuNS$pb->pOmG}GPVN`Xo`UChaJ-YH&7wUe(y0K66(^KIC zqD)i7Z^HG&%W{-yhw$omiWRBZ%NiQMGjjSoBig*E^UJA<+d$=CeXk^xgtW|?$-ZQL z-|3Yp!IH64`uC^XXY^!7xirC=L67kFm8LRa=EmD>SReD$&i#$P;o%}|v~gLH_`4Gg z(c0X#RCRvncOPtiAuz-5&h~>nXnf%>U)4uiz(u?(gTtu9^%=k&ca?L&p|G zDc#b){k(RVgDE5fp6;Bnqr>yyNZSB#=$My}xebSkP$CK-`>oto4uQh@)XKLSyK^J! z?Abp?Z#;#b-%)R?`3KH%1M|va79)yS?oy|Zg6*jk97lr^aN5L08{*|XKi-~`OF*^@ zp66aHprhcR$xPY!)A??TuPr{DWQ^*2&at->`BoM=QX26XypdMB-=a&dI=4b-ne^2x zcTw0Eo7%rOf`sl0F3PLiIAKfJHdur7SL{EU(wu_0zk6|VlpY>;W_fh~Q!mDS0Bk}~;(bSUdvd=1-H#A@^WVle z?Kjra?$GpQ=+g8T>P%`9UNp6>HGqg&`fN0P>;WIe-m+hcU7)IiN0dlU?OYlcHziM{ zKv&TLIhM_se$|Tyn=Va|7%BAMB>CnKXdG|QnLF_l_|AP9!!mOjWsR7(WU0Mo2O-2b zis?Wk5ngU%1q<`F9^XXm9LTNP(EY9i{V5A=R}TgFaaK1DW`R<@4M0qc=z7O`2ANaij$Y(bJWS{)+{RrkThVC9Yg6ww`y%d z0v}AY=_(Tgl}|~wAofd6R7FXq5vc$;^$dz15nU<10mk>40+aS zuMwwlv!oM3d=TA3weiAfJ&+ErIz5(}5`wZv5=TnV;88;>hN$1G_I}gOH&u?0n-7v9YDCfQ%OU;pk*tQ-Pe-cQ?r*AA zA13X#5pH5hMZBd%w@fG=WkqhC^PU=?&1uf)w@EHQ7srO5)Tv3MU^Hii0!3<}T;+J{ zYJ!W36k*V-6$L#6rfhV;9W|Z45dppcYQ-`HEl)<_9VH0Ny*Gu)QdxZf9;RD{d{~%` zoi8hc_L8!(s`QFdrZ^8zqnZaQcmR-z_0oYWm}fW4y5z2+nXbS#e_Jw4;6R&z6fnK| z4sK=svFt^NAsOjG=ifA!ymoS~N{d7AxjD6jJ2UQJ^W%%pwX)55NB7rnmq#d<-*IF< zsU6<=Nou?o8F$ z$;$06TNoKmaU>BSxgyXuQz^k&nBPgw@2*<1De|j`;T#3>M!UbJX1?Dz>`|WFNoNO$ zGZ4Il4IUoD)&Y5O^1kui@d5c02^As|Ex7*brk2tlaLo{kDmG6TJ>286 zlHmBIr6n&vzoe?k8Y8o=<)AbY$^$n*UV)j(d;WI`tuNR&j~NU|v}RBHq7cwrrHvbOyQnR`M$#3M&J|lB{)FZHgUTXz)Wa3V`azhVPhDpvY@~11+S#bzRmkRa*q{OV35M_#cBKZFni|mbP)%b1#_L# zg3{bqk<=W!78M=jKDX6*=3P|UVihAKAIqDP_V@99z}fKU4Li0%W3Mmd%#7X7K+nhs z{1K}%?_kOxB+?ZmrmWRoqA;<$;dmd)93(mUbJLjDd0ADd+Nx|+d7dqFOd9p66U@Fg zg)EsL0ZY>ypWUA%8W_~{pKT7YXX|~-Fk{vnJnh~$w@k~ta%t8-&^+TqS6 zE+vH(-UGL{gQPt(MVVX6hu2>>^X09E&x~F_?yv-U5?z0f9dXs_Q4yVfMVm?^VkOzL zQfoAg`oMWGig5P8l>c{^cvAdc9q-X^JIk%($q_ZBENi_aC2HH`v(Ig@-xQQ`EzSDA zX;ft){fPxAgf$DPJ&E@esR3hCvwHWXKKS=f$T@_ds@5_DB44rCP-8Ds#vq{s>k!H( zY|^z%i8tlF(&i-e<~TFmi$q(UbFPpkrSWKh#lh92pXEHP4f^EMafmU0JII2DKOXU~VtIyR#k)9^j0R*y) zG^q|p>pc02=jZK4GK?vn2BbZd8w6Ju7vm8F_KwVB+C}1w3OEt|2_u!ch+u7*d-Y3s z9NgxC`D}6Y;Hd~tsi&QAqRb()gZ!O6%%q8iR2n1uoKTrd&f=8AHMs1oa)0gI`f%}Q z)pu-KJ4=cRS>UI`5~s9vL-$vBm`ma#L>3twM~>ZQ4c9vWeM}kpdB*qxxYwGuxHHcK z@nLu?mv;lD$2J4|>~gp^>JRh_igS2if!XG6G3I2y`t#^Ude-*uhtlqCK6)dy+k|lv zP`SI%Wt*U-f%W1IMYOO*QI;tX&dpganjc||X;`)giG}RJErd3MKjCOphJAu1HilJo z0*s#}(hC*BnH)QdQ#SUdcmj0{mh9ckAF5T^GzN+Aq}mvHy;3ffkKLz^RgAKDs9sL{ zo&p1X^6Rd{*o^v}vps$%QvZIsP3U`x48#jnHEW?;NCxr~n3~VcW5&#>bCFf~-@SWh zZ&6i4r!cI}DbDn^0aOr{fnr6t8O*oH0@kFn=5D`=0#ZO8b;er$^GCH@b@3~|GQUx9 zcQmJ}JJw0cFja58ot4?U`>%p%hg-VA5iENS?H#+V=rj80U3+udX&9?L1tG}oIfO=R zXchy8Bo}I0SJkJq8g`P~wkt#_Zh{m5m0cvs?(WW8P=aMT=EaGL2CL<##A5ratzhO-od`B0L<-=MoA~8%%^?CE=aIGBAHwMT^?3c`_Zbo z!vV`(41_>8z5QM-u|Z4omVGjD`*r=$61XGp6HYz#dM9VGz^Z-Bd_b;(;4%Mf(AB_6 z?vNu@T$qNZ**SFfrP1%OK7LNb;ZohPNv}3A z+mafx|Mj0&P5N3F+gUw5Z%+UQCn13Zv*?Q+L+c%!g)mP6A%Lz1^+Mpax)x~6)ru7; z2Pv4rE#ZUK1s4fy&y7WirE@3L9Tzi=nJRr}F3nOjAm!@uHFcS3VoCbXU`+#5SSR6v zvfG>@P{xFq#tC*#UhgW_?^l@%3Lwl%E<|-eUD;)kJ-Pc~eyXU(9`;TQu4NoAtB{zotb*NYsMysjzRjQ%Uzl3r$ej+A=+!H`;Fgp zSlAlY&&)#=zdSj1B_GnJ4zazfHxHFCQe;Y9S%Mv@*i_FE`EE$a|6;G95mgLI(^^#C zUNnzMy2DoH8b0ZdQ)iYQl~6g!h#cv~G_B$4+Rukj37xce`|g~n6GtktlrT0q=q49L zuV2A+b-Q~NyL<=GMVEeD@SCNjAj>EQzxmBRFR8{7%SDEi6&u}wAnpsTDj|?MItBL) zNtF4JHh@yR+)uo{%M|%(EG~-L>Ak_r*f@oXO10;}jZPY=nd3YqTscnWu0cbBhIVHV zB_oI|08-^NBnEBWF`SE2b1vRg(3IFiH_3}>YjOS+8c~U{=i{tK@O2J z0+HBHImZ9<0+{rHcj<=jeB$(c`uuye;kna4iD&E6XHo}lohg!MQJXjTAti8vmbuEh zM@Yfu^?aJQl1GZT@^XEE+JHZ4QgXnIPvs~!;LSDvZ3Kv zcS31>>)1@%vAf^Pgz77{U-cM9-T6Itjdd~SjsfGY(i@SS%j?=XL zp!id4u)8r*Ax){S-Zl6$aP^f#1pztm$E5OUjO7xR1wuDyz+yfRI@r)b5>GgWWsMxM z&?!v*B33^#NfdtG&HDICJ6`}~rA4Z9;pt*^?ZtAoj_yfvr%1NP;6ZkmG3@uSg1H@4 z;!(CjDv<-~Ltm@py#3d5n^MsuqJ^|exsd?F@VtY+29esHBFG9en-@-e+&WqsRrbAh zoNG5qB(7y=>=#;bq6W7i&In^H ztcA|9heUjtEpLEaz%;cM`bH=3LIEg&$Fs0;L1xA1h*9Ijrb7aYVF211NdFgfcBNf< zBp|=Eb-$rRk4uIj#f8D+f?b6Yqo8iKDZmt3MazB4dRXY7r?>1QeD`P_To8B%*O))U z-2d^a0?odp@1sI+=w_0DwoX@%U_E=17y~kFYQ@w(>aB~hM<)=ronzKt_xHC${TtOk zOF5W`YiKkf`)zkki$m-1&Z^)aTO8~V(iAyAulLY|Te6FrjE{y6C3`tKv~-n`M2S z^<&`8pPn$T3s2e9p~+A{bT56|iSKH_ISCF!zq8iOYMzS0_vlxMWl8et7!?u22MPk6 z``%u_2;|qB_I75NmzG4ESavUhf*=jWi~B96jjEjI}-*KP`C-seiq2Uak&eFAh zri9{2jWVw_8JXOi7iSpn*n52URRy!XbNxyI29y|PbJC-6UQUH*MslTcUL7qZCE()F z(a5OSmWC5I`e+V=FhZpu^}Ywl@Z>T>jw_2XH*MkApBOokUxd)m=LE79RW!=bn6i3n zl7b!Et#Cyae0>98_{8IVDaQErSz4p#>}KRK*X?^Lmn{T~;N1nOyxE|e50G!HOrj1G zEuBk)_q*Y1oNV7#6VED-$I-?CRfqRUac=T8Bh(ck|9I>94+b!D%@VPr2%|m7cM>wm z_Ps$F@H8e&Dqa?PaVJ3{X17T_>3oO2HAq#lPmQhGZOMkF^1fa|@X$?gUxv8EM#BQR z>^Hv8AKTQkuaJKJtvPIwr^nc*Ne8*?9gpVWi>=w1DnaOX-%mC+2FbSC@4F|Pxr5=x z%cBlUOFjEm#>*4cpa2ey&y)@!PkWVca;GJbNANcA`6e*6P)nBW^*LeI{HGr%>o?d1 zrocwgEm*(tH6eTCj>3vD=J$m{PB{`n&LMlquuxp6X@?@{(Ty6-@gn; z$Bucl7yjV?68Lbc#dYZeVb~1F`xgK_A+9_Tmd;vM|Z^(Jd<$fySvB5mEG zBSe95&E?re?zZ-D6=Rey>$QX4n}P%< z11N7>eIe=1R7Uf_)m6MV_AT^w`WAuwpc+#JswoY}o&5vwmWp&d!YMtj3>S3SqLmO8 zRgMZHBEbW1qnw5PiOn&ZPbO}!dfAOO0b8@EKUg5{^AQOlVJ7{)CUp1^uY_iHs45BD z2%=RU=H;MDo+@^@S_B8DA-S`U2JvE44=?09)b$(l(UeeuFZ1>XEelIHZa$tja0bMP zc5@}9ugl9G;73RE7r9$|&T>{u38MHC9L%cDZoC9vnfumXWnxT%ZrZ7o?asf?6M=Vu zFQu!|<&`efX}JMf6|J~47C-h}2cb-Qe8TxGvyeR3fUN4|xvNrwKNiVyyrN4jCjtm; z@a>hIKh+mQb(PC(Z2N=mDJxLo*91%yQivV~DFB6#yEq_sP6tWh!I!|F8l|taQc!oW zjNBOq@Q}#jjLUY=-S0A0vyO7q13lAM0aM@Y1G&DwVPhkXf4Sl@%*J!Dc+8wL8}kg2 zg2A?TE9Za&Sl|y13IRZ}v*1aij%#{Vr-;Fq>jx@~NI1OBif0mP0~_nPxJVW`4x)rO z+F`^Pwy?br#=6-{Kbk~9ZPGV1Fl!DFRmtEbSI^d3Y2%EJUz6wMPhS+7$o!FhHWf*I z(L((D%p(simRr%4=ctn-H0wUWt!r3D%wZ00;op%(_ll!~Z5i}k=!p3dL#2^W7Fpzc z-FMSyaOt#kjc8q%HJ^nafjjv#;;C+7Q={@^@19;zz(qny*C4Hx+S$27bxI{nK3V!j zp@4a;-6DBAFMl%#L2LRji`Vcx7_z^))c1s6C&xDD#9cn5l0!=nWu{k@A(0>pQRBI` zY)Wy=S^U>U66W=Tv-B-?XJ?gqbOE)x5u{`FPzqZ=xrht{X$||g*B(ce%Jh=gTz)2;LZvZ^M6WUN^;x-a+ZcxU+xy5eZ5)l zD_S`;<|8Sw(cTad6gF)=C z)_0#auo3WFVU;Xtw8xF~d;ZQ=#ptDI-+{7TYc%AURPu(yK_7eIbHzZ#T=Gkt-%D~< zx=7%?`Ta$8wS9HfW^5T+6Ev&8CZMfYp&jEM_Ii3t+I`(o z>fS-rPzBDMax@|hl)9Yb%g4CmV?ET*J2!dDL+TYjJBihQ`-8{9jZ`9e=3OiQkMCy1 zq4W|5?S+^MsrC3HHQ~*?Pwoafq5%RFUYKpQ&UnYQ7h9S?*7PTD{uy~VtgN1fU+}vo zeZVp6q&9V*Yt=U_#I_g#V57xKt~6^Q$T`eqq|kB`#$#X{1AQc}u7cScKoSS;Gc&;Ucj7BdE2_acQEx&T=|A`S zX4(i(1MBCzex=0V+e*qQxc4;U&WIxiG<1F~G9~FMlrSic{8!xrkK8L;GSBrT zR6az4F}XrUFs18v;~rL!OvS6LM48aa0xc!VyZAM&sbsk=+@?5h87ADNqO2P*EE>J+ z@Okm1y5qZdM(pFzRnkk8=_&Va=rk(mh+6X_ig7ervtz@=IxhW?t%$Ajl63PaL*{t$ zU5^+)BrNR@(9r0krm>K%H~7o{f%Fv;7MY2`AZBMVN?Dacth#}W;regwb0459KK z6;dteYS!+>tH+I$SLUvB+}zO1vd^b3j--m&V59(T^kd;B1B*PB8{WOd9UWuG zuUlEUfC{u7Y7?`;|?KF-X;3Cx@R(VimCj zy{oTFrfq~z4YiKYfW0GZhg^d}Y#Oh-}0gD)?e(BSQl3BWwloDtu%Zyia7YVGEanegv?&Dc(P3 z&2gW`!d5@Io!gFU_AMSAMjt|F{qmaU{j>vbyZQ*()Iz~00&13?SH>qU-M6-{v=v9J zxxvQ{y9r28roaa&oU-*j1}kjbBd82H%sX}kpCMU3?td7=>T#@(EC_rK*TESqqD?~L zEppqr8HJ|x0r?4DGzjQTe><&~?>ixpppg)qy05IiSZfl!-VJ8K=oC`0uHdGV*w*|aE&Y;3?;1D^6Gbb7LH_%8|Df6qSWB0{EFeN7m1@8?V9I={@5MYcH< zz54b#%vhM9V4|Ak9N0Km*xt!NE|D33PS6ul{?UFf2-+(B;fRCUSf89BH?l9pO7#D7 zVs50l47K^ZfldwxAa!yw(abn$plr0oXTXV1+)tozrDUkdhD1|P2#coth9y0jeexxXO~<%T_cqUxpzZ;<4te>DZ+)x z7gLPaStc(lP*Wx%VX(WhM0!#^rZU&W!AU)&45tqGHu)0FKu@1#D6NcrP%RVL7iSc$ zkcD)nDc8IuD_K^Q*U~C(y+u3Qpx+TCqGZW`8_yd@1`v%u6bu8Htp_kG$ zq=}nI!8_{Y3W{~PLjDwAXDl6~EQ1cuiux*iJ^|#sJXz4kVvvd}!TE@Y0AjSThCDun zbBFzxd>_A5;{X%~dSuCx6~pd+&1-UU&JPKL=urV1x@5r91g1Qlkz!H=oG7miyPMMU zfA`>t%-L^DEfbz>J=~VozVi!i`2RllCbDVjKv*g<~=3$n!nl@1pME=o3o#-;2iN zMJ!UN`SIUXP0}9m*>k@E{x_|8aKu35k4dhpoY7$4fI_^;?ci^(I=tq>E(D;LAXSq* zlm~AoaCCVjBW!ff&NnSU)@`+w#-$z&ZfM}`NT4a7?#FScD#j*I z_ym5aqNPV$$1OE=L>C8}yTrwDSKtViQB_H5jD5^GE+icUi%1a2v&c=e2o|g;jW&tS zYcbb}X_gOg_q8rR4zZb!8OxvAV~oLJ9bNM@So*pJm}~%+Lm)mp92e{|mn}~sVJc}v zvKu@{%rJ;1d9&kIuhBV!ood;>@@l6En8S&bq{m-B_}6MGjjG-U17C@=uW#(l z+4{&UEPPsc9D##?@-qjhA;3KSZsK2qO!&wuxM1V^OW*BiMnGhJJi}Z?50704Im%81D$meu!8ZLh~8DhtD|Un`zNnf&_Y zrAnMve9V-t{IieQynHPJp4ve6LrNJ6K`bh`Rxpfn-Cp2Xzl1^%BRTG_XE1QT@a!6|~Z;jr(mqw&wz z`vUvf0&jg&Q$cQKZt?eYy>1dO`qSGA+`+fNl}7Z70g_ofiY})gtu9suI>j9Bgvw@5 zmaJEX>F4eP02Og(Utf?b+`igUv*n1AR>8D{w*v$2Qw0c!uAuXN;*F#I_gNqp^=Osj zu8vmd}-M zKgJV!`V1Qi?ZG(tI!8LN7oTMyb z?9n2j^M>w-b%a;0@4-wR&Wj1?jl#ckKZ~D_ce;D0&`Slrm*yaYCl}+j69QQR{n<;t z1f{?J7yuW13Fws>iX#o*)1|Z1n#N$8?QnePEEOuazSc2xh#SbFd~`#Nf!dXE7KJ2>(wZIzNu-d^0lDh+ z3bC{K+Fw6xIyZk5@vqn(zh+T+*J4gaVJOLOeh_Y3G7 zErJ;1-=Zy_Gj;VX9m~v~91l_y5QY3qPk&flCD%v#+S$wDAq;~`4Jz3bP!Bn~noO8B z9`bS^rD}h|i|Ev9+{6?N*L(eWj^cb61@h~@nD57iI{>kX4IBOyFb)S2HVnDzSkJzu z)&ogfN$~|4T&;}oUH*gJdYO{gU4&U~juyz-LmD9Eq(2CBp{?hXhGA|9)M!VD2q7Dnn_4dS@}!j`-`RqYi_P^$Tvcp#aF;5 zI(Il3vNaE1Gl!1&yZ|i8_%@=J@ePiq+#=fz>%EGy=6ch|=iZO^S6uX|#P|M=oWIJy zdritoG0cF8h8nNt^^>*rGw4cjTw@`}jP&vseA@&Jc8qQOxZR(@ZE@JbHdis6 z7x?wU(A2=q6rA{*c^15lvq4|vX^qpU&y#$;4YSi^4y8K7EnvSUw$a6WbIwe%vtyP+^cN! z4)I}H-8jAYz^b@%th@?+tuQyLu{#uac|p|gb|me?SuB-Sd0`J0IQahxVLGfxhj=hk z6k_aM@*h>>=!h-};sI#_!`!SU)g=F2v-BUz1NdoUJ#k?_St4siYgu8wa`k}*g z@~Cv+9_{-ke#H9MV%*?;-QGSIcftOW(Mv>buIIrG5=-0V|Iu`oK~;Wl7p6;)?v#?0 zI;5m@w=~ivAl=>F-Ca^5(%mWDAl>2->3;X`o%zrB6$dyE`?>eJ*SeOznW+3+K>Uzt zf2A{x5c^%_p(nuPaXuDc%9c{4ylSF9WB#{}ra=o@C)&G7 zC1`a5dUIC;c)Jb^LGp;w`9|-rx&aNc3+Xz|=^jb{X<{rC* zbwBTm47d+%F5T!`9p&Tj`MzAOgRUsB+y{JSKhbIrimQ9X;+cUDAGz%d6RNReb*9~aFrcA_U6xd^ zNvFyjUJwuWQ|P3PIUGJR>3y+jWSw}weAZAHuPi-^e2#%viuXSC%goCLS9R?m{>VR= zEu=Ud>yU6zF9ggjdPr7J2AcSaM_ic&*?C%v)dIO%Axjq*Xo)WTV>gJ)`<1YSDhFSN zY4Kb&jRlGsuN?}WYuOMI0mKv`%dh*3*J`uvm#)i5e4j7<_w&+)3U-RjA9WOUrt>-S z+04AOh&uzyR8QoS`J~F%9>{e+1~2$*^7;?(n>zXnQea^qxrs_)w@yOr6DJA{C|>6J zFa^?@oqT;wncvr%sE>b~8GXZx9cNb#ES5*vX=Ze#fmS3(vQD@=bF!DW9o4+q+)BgA zN?e0#QZP!^Ip6PNt*odNF3m2jR%&&!os8) z4@kw+!N5f-A6^8{+~Cy}#x{I0HV}ez8{u9Tv~J$OC!+&`@naoe+0|YhIU3* zh1W7Axfk_{F4nSCq;Qs3Klc0GjOh~IfAkUPyYRJ^bG|6lpk5m>vmug%2PY{zHrJ+o z^LJLHw*~lQ$UHN<1k41c%#Jyb9(7@mbZK&!eay-Hbu%0fO^Ng9+9Q(vHDDEE-yGb) z;E?iW%)UAKm2dRI9NLBb9``f5Ne$k`84$$nQlop`Ie1)T-RwkM>#${j z%b7=Q^r#D({11QUb2Do=3@OEAgy?;>Cd9hHgxXUSo{rEDq(eJgmx7o;R!ctM&0f># zb-9w7t{%X90ZBFs7rqVJhQxwR39eU{F=%vmt=1$K-t*jWg=}f&*6FO-SaR~14?<+& z+12*VZzER(m4P81D#16Ma@u5FGV(rq{?GX~>^c>4MHQ0Rmg#pL8hQ2cRTbHJpWYg% ziKlTZNlpYI3fyLx^o&si1GQZgsUKmhE%>dQCI4x%D`=%cOPMa>h(cB8*#W#!q3;tQ!01vX>iP{+CP1iChovZt90}e62IbH0XC{K*)V6xDM}l6;O^h= zGx@TkDJP_|JIN5WcYVU$$#D{}6~wx+8!0MD8cQIzmOW)hJ=Kfw_8y#-%F6Lcyo1JB znejsTPThVXx>;4b#_^G63Kg3lVoz4VEx-uz8`4-qD{!muki^OokjH|Q-DG(|CP5qi zkxM(uLyGk&z0&BHDyDNNxhwnsyZ}!y-&ZD(V&&4a73fQ>$F}ksE|5SDRpm0|LBa86 z_dPyGF?Jz?xvW_e*5Q0Vf96EO0HpWpAxoq(kup)z*Lh{h>Qmyc1))mirYPHGmDm_z zDm$q-_V1}zw20~Q#lj@x&0vU!zunbC5Y+b*1+=-a;^rZO$(f3&^c=A7i}I#P?)Nj_ z?CWGrkEfgeeZKI2?tYnvKx`SCl*?sLucFCCr@of+hV`xUz#H&SToDQlzAcn$p|%0#5#3D!BW)nb1c@o~mSyIJX^$r=m2JcaAy&3{574?|F*XBd~GSH^A0iyt4C z-}AKhdYL;nI&e1V{3>|h`J?XvlTu}=?!{h7vNbHGD3F^ID9D3nXYaFr+8iFY%|Fj- z7!)%&fyQbDdi3SfYp<4$j>apu^8O*^@?=*7JuAS6$oY#AMk6lyw)| zGPiclCrB&P(*gU)kZ3j*%ESpm2MCFZ}J8MN1l6#lk_Nj;6IlYs&byfCcR}*%pdvEK!!TpDczuwEu%sVi))`&J z;?@U1Ty^k%_=$w}-zs^~3WT&Qm+g79S=bUH#cpy+Jv>@?FRI7L!az9g9+U#>19Ydf>)r*rnv$|}6WA1^JP>?D|O-TPz(Tbu5x!x>4q^M;S?8t%F5`)jTq0oVY>=+ zMY3?PFDbDmv3}P#ZI%h7ZIEjh5B~(xMnVLrsR?Upxj0-t?h(2qv;qGjmC|FSnwLQN zIj&hVGoe5;9K2^t1p}UWpUu$T~$?|%@3S9(bz(~%Qk#4c1`;*m9EFWr6pm~RO@9I>*+fM`!+zL z1@E&Kj>=Hi8o(=oxUO0%l}S;f*@o6zi|&;ctbJd8v^Q z%jP6jM_=FI@Nn<7`QzNG66wht6*!BmfpxP5{4h9_Y3e!_c^))5%Ond4x|ld|>xmoa zCyq=7kW_ix7kQ5H`>)?(941N+TR9AtNypRA&{!Z_JW@A`pFDOrNr)5Y2-CT0Ea`X~ zX3J9;B+(RH>dg$+H=hz-IzO;-dMvz<4r%_>wG;e#h@LsG=j8`*(xke1!#Z;LgJuF; zo}FF{YUe9Jh@R-zbz#19p*nf>r2m70bj)CXd_a%O$!Bv|+bSjRB}#WmfhHB{tF3%w z{t1SY!H#dc5E53IHE=JQc=DmWQAvnay8PjxHMRmg6>c{%!%?Td{e9nBDKz&Q2NRlHkEy;4f`b=34`GuBH}K@ z(Q^zW>@U6k7#wrRrHJ)9-9$B@oIO(@W%2Q-%JsY7!L?)=-o45ubhF7RMYv-G5 zQ1~sR-W%V?voHR=pw7^i2Ta_lW~Xqz914u6ve*T#n$#lsvFbH!DN6VcGcZ~H1$fEd zu|Qj)xWV~{SN$q{M-VICN#_0ySE2uq)zSO^+#x|M;|f9CWUmnu+xmTab7KGVA%XB5 z$*|e|QCkWnLo2I z#K()wn>YSThIRSfO{`-u;;c1s;~M1Ug9!PmJ08o#T~2&tnPNn&;`Mwh z3<}-9J-bRSUZ3r2Dm|#gED!MgIpdn`xTeL6T-l{rg@}NcrwbyUL&h7 z@Cm<~Ws#&wK=_2FmaBhqpPgM-slQZTxnkeWF;Q7`;glF%sSqu@nnU%anUrL}r>v>! zx7b`HU@k;~+}@Gse&*M*jO1T&p!6IDYI=j+qBUt@7F-rb^ZGO2z()Sbn zp`b*26S?6#wrYpNMb`juJDX$VSq^~SH4(2un}|?grOjo4RSzuq1d?a~J|1hN%<1ZK zB%q2#GOd(hA4m0NSQaZW#VIU9sr(>wFk!{$#f{sMg zQ&T`m?lIzP+&NK=`l&KKMAEmEXp3stP{Um>F!=FHD7BZ+61PUZJvrHMFTm`uY2c)V zgLmb(0>PV_kY;OL2z9e6d8B?AkjTl zjZaRN5TvCtw%d{sF|^?tnG9YSFTDB&n=)dDz>29X`buuYjHE8FuB>))s&&&YkuWs# z&w^=Twod9sqMt0|#CH9m<E13tgb=#SR($saZ6=F;Y}}sq&Q;%>Fl#w! zHg4#&KV&d}6H?kgdV3c`EwY*nsleQeDh3c+~H?z)W2q&rT z-ez!dZr!Aom>)>6F8mfXPTHgde{dBl&10+HdVlPZK=sKBdnEz!`e%Lpo~RXsg!H<3 z&b+wJ{qEQ$r0DvG4ltAM9;TKtM9(@+OYNdUMKkmAzo$5$_73x4j2d_$O&vG`yMx+U ziPZFggfC?cUI)qfG&sLNX>p-f)xFgKX|Y;Cl~?XPKwaaZ(I&+j(H%K-6|ZM}p4@Be zNI$$l1nEcom*nFK7?@glXolafT>EtK*s1|5!LZZLMR9AKY~;6!>KD?-MqceYdb<^B zqKJ+_B&KjqT*Y(E-Z=d4I-RqxqHp{7SV&|^e6em-ihe~i`i?Vzuxqzrapn__l|ssDa7ud%}Am$gw(*|nAGd$V3<60H7UbW*M$h=d&e zfRvi+V14R%^MPMDSAj;(kSBT{94Tei=uiPH$`7wbwx?V<92>gGEo`bV#3{Dqc2$H0 zP>oxK*1!yd(vS6DadA1Wwo2+r5@B?y;s*e7%;X0YD*a*XoZVBAx{7H4*99HSyW3WK zRl9*nbgc7HMLl1-pD@Pv)k@f2w{>Feo}+;C3cA?^B4y+N-(!Q9&{l-kbKwg@FIx`F z{jOwsyqlYej=!RgzrRIPWFj3S=*fS1`h*?!rpU@j_jWXd^v9;(18E!Qu_GD%x|C`N zs03!5XW9m2AWu~z;e0?nUn_+Zr9Zh$V&qT>=go;z&40PP4FCZfK$Wm3)VF6?kaiUy zcl33RraDU4rbPHF`Kt;6uajXO;r6MXG0#n~-q=?x>??}mbnkfxnGxbxVyRDZbx{kdpLOcX{X5V)TfBqC# z$=ULN80TNuZz{JyCOu{oQmV22i;wE%>I*;Yh|#`rtnyI1{rwVY8cZ9p3SrD|ur(ug zabXCg07kZa4iI^v2*ZL9uHQ>_`9NR6zHZs~_VgRF?W*sYyme_vfdU{PntQXjI5+m@ z<)oseGgs&{$jXAtc6}bnY?Zd!Mw}DXEw%QSK2@2+6C**3!n^H$Wstf*NC)RV76amM zA0)Eij}_>e&2Ofrn2Yqqau|dhO4NN{o-u0IAMy%xuM8q+zg7{3*?!DMiaRw0cB*|( z^EC?l0z)X@#+KWBxjNnfDQi?;-m7~!H-?h10tq3=za@*OAWV^`81OO!S;EjiW2cWIXesz!R(HRC}7}_I;ubY)g@SmrmHd1{TMrfsS5_DRf-+ZJpCmQ|*+S z+nz~S?*^NNZv=WjdRbyymye+~X%#S;7a$W%NOTsY76swZf36KaiG2@w^j< zoJNK|2;;#w@|ffu5`PekT&X@0{YaN&t~2(1HTfaBRV1ot|8822hASDv!4`%z6g`oI zpr@mssgNKkeYcHs-l)Hln5NeD8+V4XkbG5^N^3I|ndhiz=>UnzyR-WN_7m+Fpw`Bn zV%sMTI0!ASSSKx06|*?Cyu0X}ulSYz;gfUn{Bq4^@oAd{F-lNRmL3dfHt%zQ3`N`S zx&#z(Un-b&*{Mh4RB*SJ`h~R}Pg_J-|HWP<;Ebs@%Q!2XLmjZfB;|}9s?!^Ovj3cC z3GIGf^1s8yjXab}pN*rBGYv70IK;;ecgSGZ)k?)5B8k|MSz3T%R&$}z;YEdxqS~lf z;QXeO{jiZ|Gy${Zx(7G*Ta@9S!qMAD_L_e0WY|Pn4y52hMeozBXVlz}C;94?8FK7+ z!{rB^fU^i5SiN&F&4<-!UCiDo1Sw#-*xC#;D%fTc-d`+m3!&yXU<^onqQ*U|Rg3W1 zY@Ql)Gy)bSPPY9uUZEhpWxG-hmHxJnQ>2nyl>woBC z1>;OR1f5H35Cdn2`ur%v`vXI*MgD80xkX!!A>c>Vv(Aze4r5NjJV_o-X1s1^eLl~B zPJVMIgW&wP!wbhhkqxJYAnqc{dUA@GEPTS5yB$aGo|;Hq2_c_?l0Bczarw)B-!(_} zWWARcr>{@*nmDU);pBa&WGFPdj2A`V??4YXPMhOAKe@VXygJ35y`iCqbI%FnKO6g^09ss#FSPKegnWP^q0S=W|~a$K#VKQdGYQ! z5s+ggvkdE_;O6%>;{=P_{%Jvb!QftlaV#UCs`>nK?9pT2E=eOCbL-M)CD?29mx)_t zw~eG(cFT6Mbx0dfkQvAKv*Cp^Wq zOcN5wx#pSXybKy}asAdx7SnCtduvUb@1j- z^5Xb%eLK_w% zYA9H(UgGIdNumtLpTH=PUF((E)2T85jd5>~-U}Dv-fA1_uO38-CdCzg8E?Qk{u+FG zN}8#p7H+^BE6DXtx)uIvq7`=h_g3Rax~0A9 zlui_QQ~`^21BorA?%F}%k7UrGJa3$`2gs7K6d(Y<1C|zDL3Bfjdj%y1!so2r`+E{s zgIy24dSimK_SfI4s_^)bW=3a>0s!hSd$?}yjO3hcoHIs>1}qkUDGfZ6{!)44R#elk zhkN%IxXI2>|FXR8=)dtLmAmx|*gX&E4bbCE&HwB7&q07<^1Wmo`PJQqJ)tbl?)Ao3 zWa+otYm>U@XDRRL8X|RBWd413$9YZGSRuhQDb-8U)Kvw<5+xbUE(}Pj8j)loR#nT@ zmNTzJIc|ohLF^6au>dG`boLb3$VDcQApmJ}`m@h^N+o)&@%)7cAKPk~%kmyz$--mT z&g;W>o;6op1;>y!9UVMfL(3{BscO}&56B&R2ET{*hE&~83!-+u`ejkYX!6PY4_c4v zQS{jIhm}S6v+PmG)ICW4|H5_>zI;ejtn6oRee?oHk~l0@&*-(2~&BU)#ETr`J$GdLWJ6p0;TMk+e3UbE8qL!rD_U%phAjJnk;T zZlWzqT1VKnRCSqXY8Oo;5wcj7u>+}nv#cs%qSuK7Z(kRi!C+U zXdwnv=K9WRgS*yms5Z3Pu4eF2WpLzFc>#ryllu2>Go-bDMMkV$32{M7LsUSsRnq8G& zo?PeWlE`hC@*jadbC43FtCB61)qt>ml`t5Vw3rU*apZO^i~6>+wY1Pzb8VwC&z&xn z9Lc0?V_KPg%!aJ&<-)P+#6`V56SgFe(+oig?xPM5pc?9MN+$)RaQo?{n2s)N_DNh zFE5$63ohnY+5K;X;Hp-Hzt``sdPK-vmP_V+AGs04N&0050p6!wW6L$V)S1fK;Gy>o zty;?QfUz?{gN>SDgH3Zzp7VX;wesc-E5{o4Sj_WF=0m+C)&0*=7pA!tbVd1wxo9iS z9}dvaLdC0;c|44;>-E!Z_3>A=;hBdI|JL_M)Cjo5KvceGp{;64Mlf5lCo->M4an~*_0$IP9pRY6^7rw zq-d&D%q2X-=OZcZWL_X9At)GYwStLE(FpD$iqC(bei`m`<7%Kcy3iNVLcqJTgs2MG zIat2~zd5kOBLCO7;MXlqhk6i5m1iwlOS?uFdWg6T<@qZ}sLsKJS@IXH9{|DJRZ4#B z!T@>%1?$Q8h2UZa(^S9bt2%!G-QIc7w&KA&?@sBuN+@0bN%0zaeZ8ySfv@p5DaQK} zNbP4_SqwWnSX56I{v#}mOEWog&#W>JpO)c`C(QNrb?V60GgEua&0+|DAtkWJyZ_af zZir!spH~byZ7b^+&R^M6E@R1=gZOfx>b;R=fOfQW;Mnnuh5$;Lik2f-z@Gj;!;Xr*IJwq2xP{C&ynlRn+V}P{6&r}FS zTi{3Qk02{BQkt0EE{?P&{zg+u?|523j&YpdbKy9B7*%NafSuL%!aL`lPNv(6!4kQ2T$n32P=l%3~y(N*+g^oNHNKk4k+@IL-!`pTrL`J=RuS1}soZy}1)^FLr*TaITL`AhO<1GPZo z;S8g>=wdt)1A7Rz8V&up+~dHFzAq~!!TX z39B`h+Gal#jzrZyn=WmKJ$Wo||2I#_ow&(us`|R&oeGk~tK!jpW@`0knUXZi64=tn zs>Rt*;!4d2@N&kfA}ynjkyRGJkp<&2dGmdH>@Bg9~u>?@!KoYZFDq& zYIg9?oeX&s+HK4fQU?~aA#Y{|!4btCb?@!IyF8nQEY7(TxI~tuCa~0Ngfg`|Z`r=F z+^sb#My+dxk?brqMRXS>$NG&zT@92~C0~JAqf)Ml_zN_YIw?e_V>*Ehc5Hq}u6Xg>_u6F80ByXRc1i zZ)FeNb8BX&L;@@+`0s{{Q&nS!aCN+Ad#Y4mCxs)50Ky6vVi|yo%JZKkry-@0iW}#3 zI8Ankb(B|~@`vPmHDHy_P$=KAn+|xpdAprHJ{a@s1hi8N6yTz-vr@2252n?x56tkM`(NL(rZ$H|8+P`=!9{lI#y`YGY+%$b@T$Pq9*_IFgt^=PD zB(G!pN}bnVfa3hQAJamr{G3&sm%d#P{e6r6I|rdMA2uy!5X`xxt7k}ybOQ#_*49BF z71&HkV(gk31Z-J^FR~-Pw8>Z3wstkn>s1 zU{^Z_B5GX+4**~f6s=V5 z5jj}+2;48QdUwqB26SCfGWJ=kF_&U8Y*;x<(^`{7L@2ttGbg%`9Obu+f>cS>>$C|> zgho8i04QwSa5H5b zFeUdJl@#>fbX0$uK=``$a%_vVS-!Gx<018Z8ZCjou8|G6%(YT)@%hLP zGDoI+AG~=U)&rIr2FWrsRxW(N4nUH`-^)Sp6QhsDJC}Bj1_PKHf^2W9qV(cA7-FUe>C*$^s8B*1M+87nD2wvkV|mxX=;-s?sK2+j z0Sr;>6v_pyCNzb{HhCd(e?ehlsq0Apap6_61$uC?% zI6;}xpR2O)gY8&Rz=3;*_s#26^sLNL^&YWk>hdKi@w%^3qExBEc_rEKAQ}p@Fx{7&z-4ic(K$2>*61N zoTO@YuU(3uz3g+J^ z;_|(7O>Hw&XCV<4fBT7tpx-miqQAF#j;TitSzl= zJ`ZS=eeO~gH1B@N%4uKYJZ~c%ZsKtxlkP*~qCs~B))Xgj)ASR~$yb{O5zJe@RB<+q z3JSZ+UejaV0vL+}3aiAi`OdlHEeAdr)_kB2w)mc?DA)Q`SD7TLcgg11?;Ew{OtmCW z=47p0>KF93Cn*&6H06pB?SKoi3B6!Op?}y^Wmo!AExNJlfJiFs^4DTMu=wp1U~Rq zndb2iH%?_`0w-{G(X_JX{qZ72_9QO58NEhg0TpZgRuU(;<(hBkP;rJ(G6U3tPe&l0 z;r6^qCI)|}jTweEWs(kPn2B7RHX+>ion5837S>_A+W~wBi&q|kMAg8L1g|-rAeYM( zu1)SKol&xJimC8VV`-hlwFqVH45?Q9Hb@P5!P%wLaEq^PlCS?pNFx=;3u)a++F)kw zQ_c1zqK-TkN+~wv;vxo!84l#bVbt?d@}|DRy^aBE?e5nd$G-b~c^-2S=vtL)n*ZQ5 z7M%!)<+r>cO79gq7Gd;4TSb3%N?`5Otxd!2q9Pml2uoO~?frd(i96l;^Cy>h<=9|C zH7!TLPpYTb(4DXc_lCUQ3qdoN>h`iHyW1q}qt(FnRp)ctr*7$arch~e1nxX$I< zZI5*cwcG1f#T>eF>a}n0w;kGqHh=ODgkG#O4;E*ZRgR{v613#7q4dK9Z!e!9raqV_ z*%j&F&|-6zd;>1C^X=!G0@TC_!#b@s!!+~I)BTu>yO2ARNWMQh90mlT7+LQQaY^HI z4tw`~hEy721jvIdYSXy@ODrOQWgKB<6}M$P09pfM?vlMqiLNj!e>W~O&-5-q_Dp>1N7?jJa_d>8S zXspw)u3`-C``!BEAW}&ru@%@Fa%3ufGwjwDPBGbWm6?Zd6O5N)E8`b~lQ4vxtD&&= zvqHIg@%VwKeLiORK~8Zm|P`_nig{-mJh)b0rd=WURqF>!)9g{-XqSvZL-H$0^4ruQO5;%!xt9 ztB)PzFwAdQ8ZebaN!EXD5dYIs&xB{pspE89!gvki(G}loWK?Kpos}i1#J#`STu2@N7A5Yl)g@vw*WbY{k}Mb8z2Bims$pa0(%N^;_)tl>aR=SJOk6 zvh6opIOSpZf7FBqt>J>+7)&P;28<+LM>h{d@#WehX5Q2*#1jzXz}ynl+Vod~OQ|eL zqL8z7m9r+&TI*6`I!@R4@^WboR05Dwx3 z&$9}yBs*!Znm-j{KEeJd(@8UFZTt4)#*7pDgKAt;=(CGc5t0qd=#mgsQ6Qb%GQM#kpZ@H&3`9*5iS_~7 z?*Z|Jg+@%#)6g9FAfd@5#QvorTqJ?nxdRl%n$NgC+`ql^hGQ%C_+Zzg8UyrO5J9=( zzICJGxNXk){JS0K&F1-bIHh?%4v2^^@A1d+#|V&J1LxN;Fy|%8#IdKvo{nGOwmDKB z&cUv+2H#z>utu%#WuXDe#!>#L`FvCB#ryejxM*gy!pSaD7=`7MmE)=Prz6PD9p4W`!Zu*$H?CdL6PWZb# zMt%~dMD(MnhC^wPZiy1#lSIY2i6-}iNO!VfK8oweV*>P&gCtGXDesjzSZgfUuK6RS->{{Va5H1_r$ z9s~h1!F;8I!0AoBw~tXWKSM~gBGHVP^f;7#zQG6XA&61oKH%wO6|evv$FFIq#(hcu z4MP-*Xv*ygad2X#ROkgAmSy#lu9sUs-tj?CgQs??ve#LHIr^n`QN{F5zzm_i1bhM z;nk&=uPoN&q&65M&B+b3q`o};3u<7PPN%8_rStlAgn*5lGxZjXa3!)Pvtfx2Mb^hifPQ1!1 zB{2EH(SQ(ng{;yRN(s7Q!3iFEp20i=H1cvqYwCKqdxM{c$qG2{!(1@TRtrV^Rq+U- zWSn;ix|CC@M|<|L%FFJDco^EQFMNRwl3L13Gpx<}n~sR7K(;9#i7^Aw4#P=QiS(>X zsQD)J2Jqe$={YkMB*c}|+;ueh@|CnV*0+F>1_cg@S(W4i4*KfH#^o7k)(trQ+m=|y z>%n_5u$GXE&Yr)`5wp&!FHa1?WaYA=RkIu;m!Uy^%Y#p5QO2}^PwsoljbY!7VDiV% zTp6OhKOe}Cgu|f>@L4Ii!+#T z7mpQe<<>UY2=F1i73JZPOJ@5b>;BUI?ChC{dok@f%3zh+B$)TMa3^NiwE9yXw(Ie? zX$aYU3}%?)Zy47FZLqj}9dKSf)lwfY*v-KF6B3u{HDPb(a7RwIK zx5f4}Lr0Y~zf#DH4+U@{$BExXWyxH5o54##i^9Hu;?VM8Y4ot1s?(A-JK4BBv(BWx zmVi?=Ov6`M7cPQ3{g@&m0YCv zOiSjgKGOe+Wboz#li+1|!Yx}#K{W*6Ze4o8pTFY!7``mD<>|ImF|V3!pUQGtpq#(b zWEV@KwMX3L{}NVJ^>YIJjFJeFw z6!aN3`*-5I<2|3zF?$2AK)>$sRZsyr+i?PBbpK?Cwnw+4$u4-%Bos7Ilf=d<-2$Mf zqqBGPnFVXMDZzO1v4%}WA$}nwIGkr+iz@PdQE+qkjFr(9ro{Taj`P=GiD5^&zize| zrLPqs#~nC2x>`xAsS~c9oEP$+5$(%7w7x8|5d;^wh98(z_-OIMJ621y5ufsLeD$8S zVv|U!+CsC_=T>HuucMD%+^$sX(s07WN^t1RQC&*)lx@^eNon$Hs_D^vjiXrjqv`c2 zexM;i$}wgb+3csEZ=;D-K9tBo?%uT~VJ`AgMl<0B1^j|mRfQrE=~8R~+@|DX>=(Kx zn5`#(ZDM<_m`wrizPW28>d09s2~1DP{$s?fL*lWhQ~cWfWjaK$fYU29bKO&j)Z1qv z)T;NnaiE=q{@knO<=t%lBAR)wEi<_oB_GB$bM(3kfc0ws2_?Az7YWcx?u!k2xtv({23-sC4Ycm1KJo7M}n$OfhbC5u%L z)S`dZx`zl(6--zRMqNL^13}-r;AeUAan+TBjb7M^gAF`~(Yp$fpMxEz4^k+f5iysb z>dp@*B5ypU9Q#YO&WR@)CK}AWp1M?Xf0h@+B7(BlQBLY^H3f?9C9bHVM$}-EkmOTh zptmKKt*fAi)A#^v7W7xQbe2UK_hH&D3j(qq+tR6|j~uLkaYXu|W!ChUFDn`{s^wzl z!G4rxzVVxQu<*(E9teokBStKQ76dT z*@u&`wB|Q%=B}_r9pAQz`syj>v{fCiABuOE*gk>6i#?J#cq&u;QeVakpG;!7^P)Xoe7Z2*kN%hFD zOJsv)JkXc+g;tMU5+bvL#!!|U->ZoH%C4+ColO?Vom5$hWqemX!n!Pxqg)aSkZz;1 z{jkWAO4dKEAYq3O1WlC>f1kYYKe{vB#ym)+Q zs&r{y4^Yw_5<(5AEnTx~1s9IF?fdPFPAifv1JGevn?o zJAW^q0_0-{c3EE0FS4p>MK}(?Y;s>?S85-;?qg^7)LA~3fw6r@Y^@gmyD3Gt&4*wz zr1qz4>a~?xBa}l zm#1IQ8^@Rb56L}09{Pip$IlimZMCfpsaN0ZW9OHvvnhui2QFs+s-gK@u&_7N@MenY z%tEU0;JKZCuzp$u8tTGiO~&+3qS$gbQD(N)o6Na$xrR{%)32oDbV?XV;&)G@KjP>V z)XLkU$mZ=mfr0m}FW>KPx*J55wDP#U8C^=P0HVwN4i)3t^A-FvxJgD(n~+~Q{26x( z$tJ~l8`Z(C6CVbx{GZ=?{67oYSsMv6X=0g8prxMR8w-DYx z!A2OLd}2|O>iY&iPxF;mJs;QzC3OJSXzo}hGO~Z+9^Bg%rBKVa!knM}u~dw#TItrF zas+6WEsZ5F3BpZs6uFG{d-OqX_V;z*o*6bz-Aqk9%>%H*Y(+sc2q>PgQ30oc3FiV8 z%JT0x>6V;Gs;eg$MFS3bnJhn6?S&5Aj}rnXm`E~%w$OYfBJ|X@B2CKq>6r`*V)`jdu1NF{rsLZw5ku(VsAT$lDQXV zDCCLN8^-`p?l|Wsmd)E3B{<_Fk~Y3^&f>WvtZk3w@8>QCe6``=5SDgN>@1r*3g`Hz(avYq}kyIM+Z7)Bj%c&mP~pj287LSzHsnek!cCt>wqh zm-q+trfvpGMTgOdKpg$Jqf;;&5_t)Xd-XfY&BPBIizr!3lU$?0EvG zo8940fV4BL%Rg1%aWZNKhsfBgN~LDh4_ku>LnT|QU1RTnzZ_4p1#mI{^?kcTMG9(3 z2RNQQes$jxzKm14?v&zCd2w)Ndoi1fMO%#!{yLUO`>{1X6impE%0{wYyn45PB89$E zqe`nmQZ!gZv8Ac0m%cE9$BAv)Oc153!g!+OjKr6CBLA0^3&@s|bA9Ms^Ht=rUMZHu zV7EyS?@)cAAuB;;A=$+O?=~iB{Pnvbl)JICmT%vyomHjNkEP{%H0=`8I~7b>p>^t6+s>s-$C;R(M%IiBPVPk<@ zo!iZuFDyR5=Ma@M74JuHni*BO$cbAAM`})w`?d1S` zNd~}D5yu@}@dR;*JwG^myY$~xWb2lA&qt)2M*`UZsXtLMeJm)lZ`B1eoMx_q`ENlL z)0=R@A+-M_5{iUQJhqZ;ZK>`ly%UZ2>^PC z729%5-(I~ZAGJ4j2Hq@()*SO?75QJXwn!RC7O>V?Mm*VT2ZgD}>CguPGf>p|_tqg^ z@!~v>iUhV|)_y-#3;{ou&i)Pu~sm@+(gN;1J96QwpI< z=3!5I@)uXxWDEQsO=lUERoiW0q#LBWJET*(LAtxU1Ox;mq`Uh8DQRhtlENz=Pw zb}p>`Y5w0Zb>RDmQd^^>Ii_rjQ{>|N7adXhxcMzx#+Br1=O;DZ(p&xZ&Ez9bspU;{ z`lfOBGeir+LZ)}whc^H6Zjj)Xe=%*Qb+P4rBZKz^l(&%vyo4iz!=nd~J;Xh2IGboWQhtFj1tmzOYms~Hw)=Kt z0ar1PE{??xF*lTfz_27ddQIceNL|_p@(Ewy=S*OlXqHOgbsOPCpu^U}^csqI@STDA z19hsAHxWtktp{i73ZezUP3|k;h9GA+L1s*LwyoV3t4(roYs&_%lhpeDgTdY3mNuC&nuui9*D3Wf$lkOzfRX% zDgLY4vUYIn&(uWZE^&5+LHh45;Pv6%@xMU3=s8rZ!g@%?V6#on3g9nshIEmFK>_g7 z&*<#JR6bknkr=MCET>5An?Z0t2vbz8|3!}4_Oo#x=b23PW02J$;LXIkT7{b`!?nFc zh{-iICP(EKnHM;NT6FW6$1l(vUc2;8df~aZjv3m^^ivcTkgn<6*SHl$Cv(kLE7)sTHY}~Y3$eJosNJ0haZqjr-vtNfr>|ddq9=d zLqRf;?p)4yWYHaZ`T(e1atX8QE~_gC(+W=lSL=7WUx6uwdQ9WKF;{D zq!)%X*fI-+RL=)+^)an9 zr+&-Y7Aj#a9u>}4m7{_+WNQB9B|4f^;CbZNIg(Frgzo!U8#=-U?^^CBWdaWI3q7rQ zH*W(P{VY?qW9}>w3it-ru07;}I2-zZu%OX;dKJ|ut0)bmI22?~?RYTYaGOi_{eXow zU^Q(V%e;Q>f4Mt-{n5%u_C7`U4?hL~NZL8JEJOHHN_}gHupYkPYngC?-qt=E4bLBt zy+S8P6{GhMM6j_euMXK`v*2%Q=YMliuoBAQS^eiP)@_Mz^LFmF8be7g0xObQ~mO+eeLA8=YYdu%~30Xzlx!7PUn@sM5+XY#`1B{jza%8X>3Dz}YnVPa zPg!>kcceVO)>-O={ms|Q;f++1(g)ZV&NQF1R>6M z#S(e+yw0Z||8;^??`@tu@hCW1F*g0Mf?WfCn0+inK!p10V_=`xnVa~CsVX1Gh^|_F z2pO?Rrl=S-QR#C}#9iK2`fZk1vQnpu|EKeXioxxVk&VGRfcSvoINHD0?0k2A8=tBq zgS(&a3FkHUwRIfqH8AMH0q`2N6;M;dbVW!jZhP8ICUNX1JAf0on(6jp2N(A{LKwD} z5c1i;=f7y8-zxP*2D$y${}E`T;UQo?u*c90TebnzZ3=EuEM2=q#tzNaFXU*pbj4;h zr8QD~sX3U$i%0A!YRRa~Z;I;WHTy&kN9P;C@##Lg(7i@#FAlrIZG4eJ>AJ-;30J{% z)9iPbWHDHh{U@H|RkMHS6bFp5w`yPR^Iw^tlZBC^)5qbvIH5+;K!I+rp~JTui*WkP z`#nBc>4Jo-$MYU?=A4;elGKb0`LZj)n zhkO*H;f^NTc^Ph#f?%-$F(2bbZGPa3o0b2@YCoCd?QwFXm zdXgk#I{5?ni_zFK*#zM`dsWikhzU$IW11eNcm$l;zmgg=BvDS$G&k`2bM3M_^8s`O zhCcHonxHp~iH~MAQ6)WjkN63deR>}Mu#`(do$1fp!M*&1D}79PE9rh#3Hed$;GV>W zADr+_kTV^IpOolKsB=mULgPv-ipA$QuVc5-6efa!b1f1@%23m_4mtAjj6f{z#v zyJ}H4oOx!rYGveCF0x^+s?6ulAh;2JE0V&xc#zOPuUu1azo}UknCFi1JDz5a3;byB zuIKSI34-Io^b#ZYkZ{oT3|^DKv!O2@5u%}L2MUp8O}W(T8=B)-hhBi^=h@sG%Qa8K z>J)}Mz@puK#j2rNsr5eP_whsUXtXwus=w8nfnrn(qO2OVw{``x8W}!*{xSkFf5Luw zDWiQc7V4a@&}LN04SIxw50Ob1qu;;Q;eMr2 z_5K-sNF+64=qvXkd!Ulh?pD-zP8iRzoR?L$N*OCvdT1@;D0}kpmOf*S9f+H~AwVo% zrdF{k;a?7r)$yaS{oopK#hv&G7`C~JnB)x9V}4Ph*Bf-N@7x(Qu9AQ<^T z;^fs?sVOUtEQ6$i8YzYaD0<*zDT&QZr*2J}G&JjO46-|~^AxzsR~i4Pz5e-`_Bktg z6g!if-1U&;RQyrGa?U4?2Fm$mvTFLnVCDyWht)ezIvnj%m$JDT^eV?XjDAejqS`P5foz4@-|wu+hWY*mu}VY(>F4Qz68t~3O)0OMRGvRE z45fg7Wz5xiFE+OnkUw<)6v*iO^oz;7om{C#uh@a6ABTTT zf!!P<(2>4pfF}UQP=FYY0oPfu7T;>Zf3FU0-!vcbGWkz%1~!4!)<~uzIin9apl%^l zP+KQ_!!1e%Q6(VT?a+3;EdRwk*z}8PSTw(_tpA0)Cw) zjh=c5r;QKwkocX=2O_l3Akc;E%|8VC?bii+oQK>*$q5KHm)+M3 zUTZb+ORV^O&%l5d(%MU?KroM6fvxph8}(rMM^q!R%eMn*6d zYpcfk>o66W?jjwIs>^#Vs?r5 zJ&)*iP1gD5YiL)CQ{H+WrZW7vdf@I=#Yy404=ucf=_;5*0UxpROz{_D3!;Lg>({t7 zcbW`~->RB)5(D`}KM)}+tg_iuL+4lC2qTVj z%EXMO@t*7GIQ*Vo_3j@k9UlKN7wz`(BO_fZGVnn4TDI}lCb}{m4)DFZy9D6{G^1w; zGyLqj0s`euBt1AwBo3Ks?bF9z()4mVKNr8cYzQa#6Le*Fg4&xcS}au+PWC^%iE~S2 z77EPqh?=@O%!bPP>N-rg`@rN;JuGn9Uw(HEv|68+XE>~=%Oz`*+_ST{!ubgUfi-4q z>wDlN3=#SuNH%7pXHK0;bM3glfd}6O?@m$Q-X@tx=soiHCXM5Zs{B|wPS+=_n>G6N zlDZ{KXDaVGcIjkI<8`UY-Z8F70Kr2^AcEZyc%gTt?^KphoNfcxs7 z`4#6szlFq)!WxcQa>wSPwS51p*aSnIa20~z@Ncg)oH{hx{%*-0$K)H16#E}f`r4)@ zrG=ZE6S)W+`oEN2wAd3>nh|7~oWYeeqHIv1>?@JArgl^$Dw?bYQ9V$cF4BJ(IZXzG z;8-44#LCyE8#V=^tr!x5QyM(0EI%97~fq8OyO;fT=6cqKVC);jO~_7fih&KMxn0 zmT0pBOHtzY09&Nn0T@m0EQ8x!*%oEJjvt;dU6#R3u+YUQ_2q9fslyvlri4H4#>5S7 zenMm(JyOSleETlrG{u!paD-&mn&0+nNZQ96BDT~Ue(2Y5;>lbejO139TEO~fa5Hhd z!%fLiK2)|;(^<@#w4KPorWG$)5xw%Occy=cP%pt^<+R7_c^m5?qv-p;&XCWeVM|B= zZ}`KT4PAQKFitM5+BYQm=Wd*=ZWPsaN2Qnw22(XD;_QY0Ul27;lXdv0%ywFWY0$`9 zuUN<6CxB5uu7sAukug0IoCn{+qN*d{YI0Z8?jF~`q%MHb75D^x`k}yKFaq7tIY5v{ zQ{ft3{;fT;0$2D9B|gQ);o#PuIY|K}*14eHrF_Oe_8zWmicwgSW4(n}4l_0hJ3;>|g!9 z5pmSo_=Q9SPZtBi#YY*=sAh|~S%l%${p3c}$@^a;xE5&_jy;8`0sgHIjC??2L0Sb3 z3bA-=_enbjj@%ihwRUDh094A>D%r_4KT$4&(Z$3Eckg*gGiUL|HQgq-G(4Hd)%BE< z2(!ZBqv*Q@Is;2P*0H$*I;{mXk>0-!NLX&{C4xNZiZU9RNApZ6&@^r~$Cx%LZQ+qj zXg-L$j5rfMuABF4s@l9)>Sm6G1-RGopYhd~_T?l?GO^u3^x4cc**PB6Mh>qu3Faw) zarUB3PsIujQS7`AqYqmx5sR1cJ9{ika+(*7(oe_i7~r!r<)vqqT+wukNwH;ieSgZC zhSF9fbJX5^P|8q8k%**PzO37Tgfq9nYF_9-5;vUNUZxnb)o5gQ@=wM{;e!7o6n+3_E;%fK4dE5gy>HDz;Y|+ct z7K}~i`6u4}N&KhmuGvSoGxl*okEbsfzIhgcWE*z}D6uXMUq0|~f&>OxqP#H&AvmF@Lo0dxIXIj^H*2Y~Ja3l_*(ZL4 z*$P!HEwkVJ@y;R@8j-w^yi-zy5*MRnnAz=0lwKut4GwsE8OC>S777^Hy|pVh+H*1U z6OfGI1;}KR{SnhxA|yYn4xE_c&5)Vu;Qx-u!|9{~XCoK}4zuk~I-dMw@_CsAp&JU% zqCDJ1u8Rsf92`)78>~J|(DpggZ-6Sk557MO{N+!9lvp=6QAIVPe&1{8 z9xiX4mcVP3In?Hh7+|sC%uloNIWyMlW71M2`#XIrYNl^qt-3&EG*iUnCQ^4x9xrE4 zVym=ot#v6UY?7z11p1WK{TD7rRFV1f|I9)p@#b+0X5am3I#j3^*M zpv<5Olu+-L(GL;v?6oi<*g~H}eT4-t8&eGEC0lf0V_>f}7_4~w>lP`a3`AP+Eci!r zy}!+WXk0B=JKFFO$r71Mf5c#)XU#4hy6AZMx6F|tSbeHY1r?k5mP>QAK6dHz$6?(m zZ||2Yk?sPa(vq%q3BXYTPPLy9T6KcTtM7N{st@ANPcI2ZZAPNd{{P0vPZU6l!hoDU z_yqcailoT+~MxjWcog-H2RJ-Kc8aez|+OB3a;Usa&2r8NO#8p zxi<;+#~_fd4*F9b6c{)1PWvxKg_Z}ANM7sD9(Yct8^_2@d5~kekK+}x7!dkUz#*?m zF<+UgrG8V;@6fDm^H>{dMu?)pB*An0D&0Yaj*(I{nKAZYciF~^!|9i~S;;q(m(MPs z2rTBHb#b7AF&aHY5PrH>MMp=WhA@tv+ysdk#=1isr`^hNvSjRz*(zrHp*HSwS>S?9 zRJxZ$U0t8vg5!o5(v{ z!5UWeG)zcD7uw`!r$drz^dU52vBOU#>s0CQ@)D3P2io7v{kkSAXIbdZbMEmfEO?FM zn=u-Y_JsLR1!d@0dH0Q0!~y4LciJ9$SD=ap;ov-IKzTV#Y~R$I1sw?+U^2SWhJO|F zqi4q>;>Z_yV7$Qn6j16FL>;|>MR3+_dSq9)Cg8y3ow4B?59;A-?BRLl!*+F!;Zm0w z1q#`WdTHoo-zcR@xo)@{Jy_Gv($!H0%5O)+pdnJ_j0#L>-sz=I?5XVwVf7EcZ|DfUFo9Rri zRx{DD)tnk!)=*fi%}c$!v-aSd#5ohuYi7)?vM<+!FqB5J$=1vr-6%G-8!ON{DpqOU zY2@u8!^af-p02?rA3ejuYysP!$a1lKQGWwz&>L%jW5ljk4cyj(a zNbG`6Ip(xH6wtHG5SU8+CNnm>fH0OmW1OBFrH3UZWbUA}xgv?gN)(#;k-ulF9}X1C z1G}R4C5-_&;oGibdXwN%$ikNZ`=+D#whwcPktD7~&XQOWH!K$XFc%m0eVkVyk zVx|}}O7W)%kajdpT;h(2s!>V_1Jj&fzS@P@^!n{`ZTI>xWl$eS_cKDx2r4gv5h=}} za@i<;jq*!>QocZiNAhSbC|+3?gr^y~H__@A?Ny&8GZ|^T9n1JAnjZlz;%wa4_i*=b z8zE&Td88WH@h|?to*;QhzLVh$qoA`jG}<4V)p^vO!G;V`|4CS$GAq}d6q9=;LK#m~ zhJW6MpS`-{&z6-%|OqK<&?|~mu>q<5S$6J`dcK?pIVAmj` zr>yPyp`})ex}z)Epqb$&dvcdsWx~|NR+oTrwZx8y!XHyGc}hrV%D=CA}qLG$|B2_t;^z~ zBOz~~b0!LHeleu`GGzxZ77*pf2>iGji}l6jkfFa^*QVw3CZ{W{i(7zC<2qaj-;_};Z;-JYGzaOwktX|Bd&Roy&!`A% zmNcuQqeP)*HTeCATmSU#K;uVB8a!qsooJth0y_+~pceuW-tyVPr3mqDl4~V~DQ&SL zyD;3jT{*g5XN{8J+zV&}igB(AO{5I6xotqN3It-l%hyi?iC{3dfcr@p_CGo8+M(anhQGQflMl;!h^Fr9Wk|hTuw#XJvZ`5| zzr8f8NHZHX2J;8SPi^j~F#)))xBmCHIUBxrBA6P{W-5_iUC@3k98vS?F%T-2!e%t* zV1VZ(VHj>VmLBHu&4@ZmAW2oFd9f;E-+5h&0y4&VoRuL{M1SF(AIJc?c7R+Me|v@> zs4#521LYno4Qi#ZiknIN?{IyBUO?NT{Fg46y1FiqLCyBtq~h!g8`B3y=&%N^0U#tl z-MnWCFI7inrbC8J(+RJj65DFEL;v)%*ZtiLL}rhjTq$-U!T+^PwFYf@>tbLKmCvw} zZhhB}GnrMd4qifxNZJ|Ij}u9%^Q)Ry?bV#a0bIc!LP+7eEKCkwh?1u^kmy3agyozs z;AmcfManB!CwjwPDzF2O8Gxml1}m-f2EeaqzLHjSsg`L=54~US*I3=8NV}ys7!lIc3U&H<;C?TY9A+bD zJCV5ci%uoHxbwY$(-Pfnv*N+1ZuQ#Ul{qJodG{K1o2k19#WcRcD~)Kn`~UL7BgLH3 z0?N1o30cY^eExM3nkW*}5^osAdP%|mTgK<>F@XwdEoC8WIE^Ly` zzRc^uhik&r=*O!|N(J9khITd&5pi+aGf^;0ZGnRc&-%6BgwjmKqbI)rN}_G$+1=j4 zdy#B)h~SsPO2=esdV;HB6*$K4&SKg_AoBScWShJ1kAgt_Smv$Cl0{Ao88|UZhEotC zdd{5czH*^$eR&tMB@fZ0zljV2FO}JzpS~23&p+SdXX1zCI4$$N7bjYTpxA4?~_Xl>K!pRsg z;M@`R-Er&g1Lh!%aFWy;UMo)>0?WrYoJok%C4vTW#rI%8(@4|An`NpQY&n|!MLry0 z&Ad|woClFlQ+=LG@IQ66{~_$3KVHNQS~C9$?(#k5WolYutfRp_Fs3EVo3W>xoJ9wV z)QG07d=qj{J)wQ?=5k65?9? zz|FB6v)HDp8rF9bjM*%>2uPxkYP?2+3?)R=)BQ7A$JRxpbdH&9xbVfk3wsb#Kos)vL#OE=D}1W9m++7GfP=#vOk{sT zgz`=Y_##?heG9D{2sjFE-oKo@+{-@|dcqa54may)sQ~c00fQ_v#A-DH6ebYPTzGew zJRYdML@6-(dtt0y$}~cvsYO6^)JmI#J@A@ZeYKfnuc+K9Vy@KXWTz(V$8@a;L-_xD z0gi44L2Q;eeo&fvmjVXZi*&;r+}C|YT0LnzfVWiG0(tWHKFWavy|@>9^zrOI=r992 zD-g8NBcwr)^s0o~fK4x|2zhTVdbLdC7F5{Bm@Vqgxy=0vi&p%Zr!i>il^<`BY#)K2;;_n0* zOY9ZS13C&2B2%Qt-PBv1-yI~zl(*0M{V1P0s$J**T?G25JWE%<^vlN`3x#rhb9gN~+SaAOZ2@I*i?vX$Ssx1uZd+*)lfiVK-aH6(0g4flNHJ zDNpk=M5Eb*dUt=rt1}n$y`BXDGoYOy9;(y`UfJ_1`4hv?UFO zH4%Dkz}%koC;oR*$6p0;9VM1XX(iJ3w09Nr72*YiQ8*Cn%e$2kE>IrlMn;9#{#&1O zC_HTJRT`zq8@o7!wy{`2{?MKNr;mP#)@ap6n{x+oz2;PffTVQoSEOgl)s=C&2_j@t z7IU7T{7$c`fFX=Qs50%%_8qr@sD3#miXUOBil*4!a!`&0yNuNP^6?U3mPmL@!y8%gfKeY(SVs|&bcPcCq-5pE zy-9nK5o@Q{_CkD%|_@jW+T+lM~k6b4m%GfnDj z5Rq(G|7kng!S`_!`!WrS3`_2Izw%i?Z$(@=6MwO#=9Q;wEo zuJ*su1iYJW)(8$W4;&AkJ(%J`dygw%<=x}R{|{#|n>n6>?)e2TVF>-J#!@DZ!F*c( zz}$3Kd2dqc$n`jyoRup|9>r-zV)Hm{i}a5X9%+JayT!x9TW4d(6R@7nQ=nd_=tQnh~9u&>)J9|j1UeXMbG9W0=AxSW%$}Q-c^*L1^_=*00uP@rE^-49iwO;78u{MpLRM`f7~boVB+hJqDTUz`(N zS6)m~50PF0Z=zVxJ!rHD214t9eQJs_v)=VkE)^}_@6N2DpD!?}(Ht5J@h}4-fhq?| zG(3f+SB|W_K1e$Q`U7k((-baP(rXd&eGvYhj=r3}mkT&7Hf~m{}hSq1!T753;Hr(~1`aAmuyd<*c zb`rs)#jq`$VAY_q58Y_DU0)mm$idN)T}4U4Z1Goa>%yN8pE)vFjTa?Oy=8b_|)-|es0*KKEL=iWbiKwB>{p-4Ip)^p9(N2($b0ICTLwAr( z+ft<$kgrG+Ir1+aMM$=P`M8Yn9Qkq{MB~Ek-+44|UyC4ul;PieRfYN1q(ae=2d!}d zrpy01Og)YC?fGQ7?5joKA(A7dxf7ksr}9W?b_uK7hP-d8aRRtE84bO&lWJf1HkUM) z_Iakxz%@kXmX?p;yQHaALAlU4*%6`_c((&>WjdDNz0HIA^UJpNx$mR-&W$j8=Y|^T zMJS7gSjwP|@3!*_nVRUeDw*PTx&#xqgi`g?0-;)xh$v*~1}+rkAcGOtp+%F`%a9Uv z@RYrzZUjwI^KwZ;sPO3SUq>?0ujCVvxLf>Tu327C@cZzk7POQs-(Fyz8ufltsdu&a zQU^l5DvmSoGP$rKo_(S~k05ZI*sE`9MOc;b%~PulN8kE6{z}4}L*_4d8-L5jhmzik zK}z|cuO()kA#@p%#mflSt@e|J9yL#{c9Tt8f+;sro-bSdq6D!e7}~>I_0}dDA&}Av zU#BSk)568Co`*gn=5KH$q`a9Nw9X>#htdS)+SYzf?OYx(Srl;MJ{WN%Z3%+J)-UIU zEVQ2&enR~Z%iT}Q;w($@B^nMMvS|7%9lK#nmFc)YyF|j+=!_TB@m6LvbFX(+M-dJL zjTKXzf+VzX*}qLH8sL>ihjBv8G@OF5-3;yN0_K{~ds7&sf}X+QIu{{zGi(K$92E&JD67+?hZ=jLbuISgzhs`8e~?-co~cQkV+ zcR`cz-W<5j%<6{ijU&VkYC@P)Lv;44pCOuWjsc-#w}A6_dY#<9C*LX4JkO3TYEV5} zA!`P>$H6@W+)Y3@02I-KvqePK_wmsQ4MT&Z?$dFb0lx2tU$#ssA*yDJ@%Xh!T$Z3{ zISs*V7W8=$&9$dESYb!BnnnfEpF2fN?gF+FAr?*JO!T=$ccWBK7uL+!M|yKd?k~v; zv_jOYuFi_(bTZ`Y!kA={7Lgx6e&lCvZQF1>+bUb*%wYaVZ6Ob_<048p1KMF$n4(6B zVqcTmpclozw}P6FJ?>`*bMjXYa09DEfGQ@d0m-!EBpZd2Nr#H3hT%fkpmoM?;zOF- z+j?uepF+Ctg4+C`42rXCZ%KVq?K>gdE0AHN|$%L)#PmV@m;3xR2SeD!o{FGqs$ zi+o9Rm0nBM+J1v#BZYFRQ{Wqy*>5==8@bl*Q~W)Vz1kN({v&)CBGvB>j%Z%<_yR2- zP2TdhMyJGms)Ie^gFtap81i>lllSl9fKs~=x+R6nYL%6 zUqz&bwcRKH`|;=SAzHFbs^>KOn+OCkMvvX!o{`=SOKKjh`;mEd=$;S^k5%pAkt*D$?P zH+?)%z_?${5tx>kVmj3KsNHIp6ELjRvpv&Qee|Dl1lFQJ_FLFgO$qd|4IvdI^ zj?-dT6Od`8z34i(cDy)muQ|J$V+4rX*q0rcf@xseDz0-#Diu9$c5;>>De9H1Jo-pJ zY)>02R6>%V{w>SXPm+a~;mb&wgBk-&8Vq%#I?J~S59uqh z8Cv8+{08F@ye_8$rdembGC|{>J`tgpT(ZRo}j$f>d}Iqt?;2WB9e74dLE_kAwjp zXp8dLpg6yfQY6PUBHqT2c`qNYyXu-LDczO$;my!vkpwn&x}R7+R}#Yp)1-0U9#d?i zN{c=Ec4I+c?j$6-R@hgN9IMq>iLPGt0}V;6O|@@ZZoMJ9yD<5Tf=03a960)Nn2Bw< z6;L!2oJm4T(f3n7KL7n2p9ShJ_pX@BNY#Kh!#xfD>?C4zcsw&)kw+BDH@SD-14r7R z=xZ?HViKR>w^_+XPx{&T-*`#SxMjkmx3pB21WFdk352nPDa-NnPR!c~C$ND{T5ECp z`}o4QHOh4k@h1g?%p-HUi@0W&v(=AlR?m-Y4hIPi33mava%q~IQ}!ak3>HTlCVG!| zGbvq7OI6iTk2_Bs0H|5|Y`|cx2(kQbDD}Efct@BbF-y7Dr=9@eLPWp}w?yV$G8BD+ za&TRW;w<*AQ6)cSJbd|e_Akx$_CbNQK%~KZL`kY$dDAH81~O@9!pufuhtqEV=56Ov zGqX4fZ3T};f_}fdO7!AIN+MHH#SR|>w)OU_QX$No#PRR}fz>yDd664Ya9=tE{&Ug3 zm&xc4jMQvUYAP_R&G_ZglJa*-P7taJUlMm=r& zIRhA4C#ksXpC7~i`&~F*F4oQ_Th?firBl^eRym>E9r^%i)3p*rohiP3ruzDybn+Eb zmu^WT?{Py#N7N56yMBnG?T^<)eovz5{p-~FbMo(i>0}AL)hJd)H6A{>uUx-NC3Sw@ zj++I_bc^={cK5I5w78Yj&As~V!=1_?-W%90fZM{+uzx9(i5@}={fApZQqzBeEx}Pl zpr*k%G;T?~;q+r|IRYVvz(f4$%Fc5R&!%_7fX;xDF?dK@>PdL7tswC&QT$NWR87`e zTDf?1el6>o3K2J@EhiD`WHoQqUwe^4Mhn3{+s>3pH{i08{X5p-BAlbqeJVVny2Ls< zd?O1;#isnwOS51&@B|S@1O!hp(MdMgeaB9Gq{61cf|gPh zL%oD;5Py32y8uC<|JBy8gg?QG<1C(?+iocbc_iKC8ivH5ALZ^zJ`A-w;8*Dy(a>#E+mVWlhe2k{jB+k z*c!+-m`@1rYrP&e-0I>{eiBVA`uX{D)`jeK+KPadPgu9>2k_e0uhrYXMw0uw>>_|; zNcx1zQV?G}>zv7fhVo|n%(`W{uyuPA$^As=EWm6(<5iz}v+K*9_{$!pcGp~#fdRcl zJN}Hm7ml#ffICv-HzzVor1?#xVDH3L3K;nj(tsn1@rLb^-MbW;wp0`&OT;G5q8gxf z|88Ho$ZOLustonlKXR_Ar?#BJ@Lc0S=vuL4x2}8%sXvgV8Mr)O%pmHw0oG@9F z3oR)NavMustig47jJhsL7zA)%$ayE{E(3BCjO`Bp#oAlzmHtfg@y$ydwRZeN3cUdl zWT*Sf$OjJl<)MixnQaZ$Jk(W3k?gDl!%^c*9yCyP2_0{7(ZI8tOQ{t9%0@Icn)^z# z8E1*DoYzT&g7kdyGT`by0GLc*sylh|rmOuryTYb4EdS8VN`L`C#50u#d3>Susquu!ty-a{erZQkC$q#U0o#`1|dIq^)=zp zexeN&-NH`(iB28pE7`C3)q5i%-OHasQS-`NcxHa@X5*Z~{pT9hdzX-rO= zovq?luJ7HbYvHWXWm2!CU9kIAQi>9r8J=q+a(XF(tB5Y(661Uou&I=q)<$ZhvHtHb zMmL90PU9SktU=$014-e01NA>Ee+;rnNoz`S-!=?oZY=t6_n)kOnGO|f@(c9i#yyaY z+3HOS?5-Hu#aSvXcF4qNQl96Nd6UtoAYLo-mU=uZ%l~GVlvKfl?z6f>qKXNvVzdb+ zeRpJUYCPYQje#X687e}wX@qfUPFmJ=ScW{wmNmB|J5C$WB>rSmWG6!|n`1k?q$~ zn(UoDSv7)THzh!usHs8EQS0!RVEB(t-w!5mgW<1wvFy}_84O0Z0 zl@HAgJN@P7(g!Z@X^`eE_q>k|*m`DI1!gy$jK& zfDio`B`evI*jX<~|Ios(m`ROhJ? zl?k;UIYCBp+m3}LgencgDE8PB+gxH2#;}6NtG@@46MUeoc;4Lnk%-uVQ{?3sG&&N- zJopF;t05h*%IkCaj~yTD%_(j=RV8BtlpzjNj@Z;PM^KYLAk}m(e;Ga#}G4e zmy#KuCmkb`q3H4niq0~Zs-oJhrg-W2U4}8{I9HEK5*r@8Xs5j4#q_$ zK%A2@eO3k60WqDw(k(>kF*$R5$$!@{$mius?PU>5seQUng)~`0xSDPJb2Hb#)<)g1 zC07d-vurk>iVKpwJ2Se){l*i=5FFBf%O)Ura8t3qrABseH0@%u{(cNesKK3!dUSgk zY<{&A-F~4^%-BWwi$oMXy6k69I_P>E?WrbC(;X+gdYDL$O4VkF6;({PDO=*Nu0m)b z5dJ7kA*l17baQ+27lSYXpaiY7n0dXdC!=$xYh~#*Yqa$qvNr)G-OZ^=8zOVoEbYtknk|9*`c-OM{P`SmSVq2CaMY98AhOYCl zO5mH(FZs^1ZrDwz0N?Rl^oh5XO7IaUk8J-?duQI`4YdP}uWkH<#6sJGdHO{dkxh$LM0x7OnK14|RVPQ~r%Z#DXGZHS@N-W}BiyY}2Q#layy zD7*oXOdlEX&@jgf*dl@({6(KSLe3P}(0e_PE4^{Tr35P(0B4#SkEgEb*;Fi2ZQWGHyy{qR9AJ%ggRs z(Hf}_sA{E2-`(+^2q`W0$i49 z&|%|-a8pG<-@*$9>1BI_tq44Iax;mTUaaA|$J7B~uJSZ5pYbU^tEz;AbE`)Q$Mpl8 z-{_RxD$ntRgDr#$OF^I%XyFT-UvrtO~qb2<1LWrFSR zNvtSoFlkIUg?G@lqqpPZn!bB^{Hm)wtuKp~?`I0ki23uE?xm`k1I~OKFq8Lwb~vLH z{~>@y7Zj0=Z$dkI@L54sM=WrPCr84}Y|XrTZ#O)rfM_XN%Nu4t3Y}SzC=HoQ*l7y+ zgCv12C7pww2$JZMCmCCd61`{5o`E^t`eUUA2ogtF>dku+b^W>fj;{SLQj|w}TeRIc z%>00J(UG&*|GjX|Mq<#TDC~KZSBGd$oPY}J7$MDwiQX$xJ9Nafx*I>y(0k7gQBPs= zyG!{qc$lqE6n-g5Ch7G4T=YnB}_ zP1Ez>=A1X;+7h{C@&4m?rSJ24#PHORcDWXTbzi#cEX;c2#V3}=*skbj^Un>fQOY%; zs*%2ChE^3pbC<*nmC*+YMH>?QN%4(Y@duVYk^TU_L@D>{`eCf1%$>mk&WWCCwXTX~v` zgqdlqGUD`81Ey#;Z(;iNjN(-ti{5lX1)I?M*6;G&tMaduuC!(fP8`e_8@byZ3H_5X z$_kD%7_1wzXkNqalifvH@1d7f2M&;-7?^8V^$%P`v*|ABl9ul7?gr_OjdXXHq#`8^Qqo;#{TJtsE4LfIZ^b(^&kX*q z7<9l0Wx3@hp@&qD7F_o7dh~$myz`ww=PFQJ!#Ta%a5lD=>`4&cOLj!G6#r?;M}UHw7r)o~ zH_9WtN|QO*$P_he%MX3!t z7em&3UIZPMOADo?OIEP>(0+KBx7pj7AQ$OvN)qn6OJ*>iZ-3%6y6`lnrzR91q zG;XI4@c{C&T{G@T4>4$gp;EvyH@yvzX3`e0A3ONGf!gqQVE%zEO}2$9pd;If zCMQJEPbk;SWPE*+CIW;w(wDJA-y-EVU~DcJib!WWhiY@Rq2I|-#})s9vz(LT1= z{k5>qBg}9Bu0w1;+%Zr)U;mS?{jpY^jFN^0st3QW`Ix{nApErr5hLGp=9j^830BM% zGGt90Ygn$|G;dzjnk&W<;bEj-BoLq9K~AV{$v)e8Mh10>@C7|?r_QDXCl&%cZ%Spv zrM4otuOC0USo!`w1h*QfUA8{nJ9q7__2%v;W{^_np0)po7Qj5X1Bck->>5(R1ZtSW z!FFO+C^l;AFe*RwC(u5w#Fm2u4fXdlC@`sqZIuN$D1ik4=ju6gZ&;I>>@k{8po-ny z-!f8Eb^LU>`;_)B-1IH61Zh_EHM|KwR@H;2gtRnWkRX-OzTPy;+Z1xo#4pA0^0wz< zz0Yeaei-2-nIAQb@xgxmST{}tMr<=QoWag-Z&fM-wC z))t<~uMHe<+AGC?iLog(=H7t9rBX&?-$`&I`sei8c+}~mvtrxyN1;1^< zh{gpa0n|wq+d5b6B}zM*q624v@M!9$v}#-8Dh=5gR<7!1@Y8}dxc(-qn<>2L`}IuM zDM+ELAi}UdQfy}mLt?IBFftb4Lf;CF4N32FW+GJ%y=*!*xojzmx?zbNUwL}p3i;g) ze5V=hRD$u(d>}d#)TJ@gHn>*^3mMySG>7}{>ChL?KejPV0dIt}1$qxa_4bW{P~qB1 zhI3CDiQ{+1UwlZSnUl==voYL}>e?fwiA2DTbB2y2v2c(#c;?P7a14m{siIh!DG|_( z#IC8Jl9cj+Gxr_~?k0a~*KJDQm-d&~{mZwDjP-eKe2@g1H~bF&Eu*6d49DyH*Y~0H zYPRlV)M^sasUcO6BgT_LoWKHEE4H}=sf^u@mX2?;#>#FEXhmR5&idM*2hBMPB zs4eVe9%4zXU|13CotsgrG7k5pG-OmAX1?i=9B@n+7shq_Jz_R7HOK42;7}TImy?rA z_PQBmri_P&^-a-?-7;QWT%5G(Cf$BD6;9qVF~!u>^ryxqO91J2aB)HH0W*cP6<9>K zuYZg?bqW^9(_^(Er1E-BVw6}SzFjPQ_))F!%bn|HwHU30`>OXsF2xx-H4!j>?09(0 z+(=G8;;rmF+?-_WvJS%VhNLJpOWU1yE|f4NjteFGbI@8^UaXAWWQYGFrJ5{+#Lqo2 z9Q0s!N0sP#`TDoF^SZmc1E{Q+UdnEv5tmr&U+ob(7rhL+G<}SF7~R&EZiSwollqyi z8LI1Et^r^?a+Y=}r|%(v@qSVO0r9C9qw^1pi@MBrsw_X$p$i{$R_O++<9L|3sa)YP zjRVuJ_nmwuy&+8LpCC+IXThk(&0m(oN^Cz+s&7~OV;7)B8SrGR z_FSO;+b0M$ry0=Dg)U~OOug|7l z9>ExwcP(?6Gnq;#g`x-SkFNZL4&PajJ3Jmx_3@mrroAUWk4C5e1RDEz?iczl=1SVG zyX%jpoToEJ5j;MY&0*|@*j;NU(w$hNj?4iGnW$LwdMpO+k_blOzzZm_vKAG#hkF7h z%B`$xHuf$){gSjPu$iVkB-bAWgoM@)?sqFMsA>&OQewV=5a2Iau#Rw+>uu972_R6u z*j&+WdzjDa7mEU)n%CZyuIbtEanhmVGPpuiyY4&xU8^*c9S*>sYhrvoZvVkRjZLK!RjoI{VMPB8IL&8~&w%v8BGEwcja2T{Vq-#zH724c!2 zOk)vptL6o<|H>=9{ZAeU6zP;$-XkI*&ZEAfO_``DUwhjInPtPOg}2b3Hj2WAkDbc=(K&IC?vrYo>%!r#`CT1* z`8;q*JLLOG^-2M`uB}sOmODiC+>6aa|kf*tB&bGW%vFE8qf6=vIjDCBT4ePtS zVnR(j$rFw3czNo6Oe3E!Uu$6f)8!MER3yWk)0_}n43#P1GugGV$X}T+mTSJ;u)>ri zg_ej%`3RibTP^)Mb?T6F8j}iUtwHLSG-b@ZOQ5-o)Mb0E_O`&YW$sM6%6O%AG?)&a z{QB`GvqH{5S~1XSC{$5!??XvFv-Xv$XPzV8&vzA+N)Fz|6uMW)nk5Z96rQ7h*EDhP zN9DCd`dhf;#7a@d8ihxl%Pl`YIM&a>F7E#)NyrQ3sWyOZC@H8|Z&%BClc4o99~?;?94z@GKTg3X z$nr%~)1Jg?PtTW9MHewN%-h$~_@H8%2?R@kRRWlHPqWq@Q?qCnZ4gBKOa7y^qk2!{ zcksOHC21!WdsmKVcD726a(a17Hf7wzkm-SwiA~7GKSZn(a;O=?fUt+3e z1fzwD0c$fjuzNqO-Z03@(760uMT)FjKF&`;029`s58&^xJ7QkGyc7HZ!cGtiVjt}j zvy2w!(2BRsZf=RpwE$DrV=UCnF22B4I!0$I^KTYTI#-X%k`Uz!p7OShal%eJ^tr|N#vkZg-rJ$*PV=CG zTM>bHPr`0Bl-OF@UEJ|GzUaqKz>V3iuMLv9rTr(IBYY6jRG6ks)G|Za7tai{B zAks%L;ne>HQVOH&Ki7l-4s%V-fmh>qm3-^tcQ$RdRLP$?5<)>aRcK4;WAe>82n6jr z*F|*FzY3)}-UKJK=$1JV49BFrHv82Huda8AY*dz4Lj1W-gi5X~qaW}XfuKH_q^XX} zn**1fhm-KC7CdF-evjDDkVO2@OQpy2@prd3FVB8`%8!0T1Cl}Z$b7N4Wxu312Lxok zDX>f@FU%hT7sm7Gop&lF*2y3g-taslD5RcA`=58omrHv-omcuYcGzaRj5N}bdC?W3 z^ZA_OmJXy4g0&OZ=?QF92Xl;BD5bNeyj2zPi61R}?m)A+FO!0s18B70G%7sL7FHIY3`1KK|sB zj(%f+0(BA~u?c@qrYI*m1|u!>wbj&C4L2XDd_H0?`?3<$kMOX zX=110&Y9+Ev@u~keoH%WoxR6Lh6VyNd?aY_BBMNO4{OhJ!q0iDk<6K*--?*|nNwXF zwmPV;u?iV>N+LAtqc>T9wiJMvrP;5Fhqz9>f(3w5Vv&+qx_t@c6yFMP$uUaE7fjE z#l-jfgBGSs8ClAoF&zx31Jn~sf|1R_RKNZ%V0oMHsgWQ?vS~74Yt#G38*4X`vD!`e zYLZJLloT_1a3~OUVuUg5UXIu&H&+4}B&5i|E}Fr9A#izys9X*d;nIUqZ3_!z`996> z?km`VL0b9RW7y$*tjP_WN78lp{d_seyqXub1{ut)3@}_#ytfCjU5tAnk_Hf>&u?&L zP-M#|PMQWai#UYVJS0gqaiU{8ySN3)@wD_nH>EXDXUcB?;V0hIdhhqEp;>gtI zbksc%l&zOa!`JBgUiCTi*UIe@&losG6^6Xw)x~%A zN`3~#K?H{?{s@Eu3nApea^)vCwkEX#*iQseW)&!vd4lMFAjpeljMTRNu7ZSE!Ta$0(X}2p zZY&uzV?TkM?7%xvE?nawTuFP*B8I{4a_g6zvp;m@{eyL|qa_;?fzn)a!Tn`?ic@fF zw^^8A7F}6$r0z)b#HL#q<5U9Cf|!Pp_O*{l$~(F%IpxLTWc>hJtOD{HU3^O1$WZ z0I)M>T4K{D$ACn4tDz#DNlW(BuJ(9v0j?zJ94oVYXb(KzuZJfEL#p|6YmCh2Cw>P2 z^7M`X^TrPb3zaD_>;zTA>!aeP6t&sMu+QgnxfpK70}hcJ_9LVJ%w=n2F|-umAm*1) zfaL>(s02(r1~z<9CG#KQP@eH>yk3rGBxbed8(Q&4@t?WDLxc5C&STTZE+V2-Ga~>U z6EcD`mmH4|VnAWtf!x^&QUj!Rwc0dI1hI6f=O~}Ba^5*g_6U6J+S^!rTb3*DC@YedR3Pp}G~;yJqvgTm9ULvv9;4yf zkAI;&Mxv3SFfxPdk7F##X`PlK5K^eMF8E47PYcoZ2ih;7|2u->D6BBzry@y?J)ik9 z`+}L1x-K|_Q)i)+)TV7J9*ul}es&z(1FJEe^Y}WIe0!>3L0+yJ)>_8XU|Z0lAj

zdw$Q+!B~@sfohBMr;6lar<{$g;ketw?q}lV?O*BYcc)@@c|80e;+9HW0k6hEN$+{cBG2Of$gy?vm-Fi_qd4&D ze6sIn>Q@zq%KY7;dG9}A)E%-tz zqc%TSK4jEEm*htI^Jh;fcZ>|g9ph!$!dwsJ=Lq1~--^w1n(>oHRN6@FV!&JB6fB+% zlfMLO$;ll497DsfQ)=X0`fV~u&o5U@OJ=qEO9h^2muEvtMBxT~G|Yu>z4 zGs@?$OGT0|(R>y51gJmrAN*!gBi5&5RIT(8+6z?PZDNR~vQYX4HOEh65+sPV2llH& zbiVTVD2{Q?tkj%XsRx$!RkDS2tSTHAevoC7PQrmKHCp!EWt*_zXTf1Qr;vwI9)!MD zXRYhJyGWv>+4!EP5?rblSm%o$Ksj8%;MpKq+p;XTt z)0x(O4zq35uARfuaE_Z`?6PC|aIpx4gOc#TE8PE6p_D62M!rO~RW2h9Y=WUBm3BPV zAT2iFFsx!IsF`a`Ub%x@fR?o1s)1f@Xm_Ba@hgRJj~GIb`vYo|x!pD}u7TT(s=2`H z?&&G+TN3y8``V22K1W2xGf^U6^1VpC#|R|t)=0?bIr#99`0@Pt%O(6w*(ZcS!3y{} zeEzX1;g{E6|8&rn%((yz&g zU6=Pu*4idZGERuM4X-uqE42~Yo)o&ZPDn}}Hu5M9gasMm&{6p_Qk(evBirs2K!XF( zEAiC;&gQ0LuX*QC``50W0hzyk7Q_}mBJ3yw*+uDNYu8Rr&+9%B1Orb~6(2Bm^*L3i zn4WbiLkkq-?iG|V(Ax`F8d+py%{3-WDAsCA)D6UAU0d1XjQBE<$|K3Te_EM+k1VlU z_s^0*BfhuD3?)QWF(iwVLfJu~@l1A;r;qi>anB))woLtFSg)UyO#O=P8{F<57cFns zyJRurU0~;l9#UPz`RMqC6y9Zj>)+%@W}g4dFC(J#`S6ZjJu$B%f=H@BssI4eaj?FZ ze2?UV(AqTNM4(Ky&qbX2FXCPp0&TFq+S5lB&EgN3K5T-%Mqnj4-RSq~@VG#`*rV@w z*!`R@4+~h@#p{n>?bej?DfUi%n}>g1rQphjBCyJGtv0dxh(_J52>H>Ho6~zTF@g=H zc{!rlf6&|E1BiN1CnLoCArBjiDv?~~xs-QpKYw~J+5C1VXL3+r?f42%)TfSuYR)Tx z3ysTVfGf}a_R4BByYOmkyF(|M>kCzUOu@UouQba%Xtvx(wb;XOX>TS+e6R|e>Fs0r zFndI@^H`8qIz6K99s%wft$!naexxbHe6tMV$CtUDohzrX(+UmQ+|S+f=%U`q98%39&n=<13U8M+3F_Sr-D$Zconq`8X<-sA9B)oy&(11ahvLvATh+ zet z6P}6@nmxP%%|1#d=@LCfQ)J+Q3z_qn5rNCDUw1#G5gIB6i9{GP!bFmd0`nQe+W}%t4b{SMjGR z!b~nPnT&MCva-XUl&y88!Ucf+hn_X7sbJm^S)qQAMzvVrVO!icg%y?g%NP|!`2}ok z=Jm{;X7C)^ND|}t+N25AG?$;=ChUxhes4i+L8D*h$9!c7-vsVyZBPypm0W(3mr{rxW*2r8SvSj18KEjHg@J+jCsyi3mIy~xV%zsBdE*$l!-CpqDb z40Q~PwJlQv4gnTF<4Awh>cg?C*_=J6_VO`l={EGxuzoQ;jxiSd6(wJ6e}AD^iJv+L zpKYi9#`V7+M8$2t@|qBG_6k{KLGPPLX%b9qR0*4erz!xwm^A8A#i|D9s~i$t1Ps72 zSY#4OX#ZEEO{qNApf@)iwht9l_iR^d$0p z8&{xTR8zwH)fBT$<}3$=Kchnpoo6LSL*#iK_6iDx(sq|LPT6tiC>1g}Qo_&`3LK&1 z4V3BJ0IPT$`5zM|gxR?>L!%0!->w2=lX(xTZr#0-ftTE^I`rS5ho^+`E&?1gs#%=- zlIt|*b-;DLcL$hkcFMe{{NLcSt`b|RscshSetEN1Vm%1Hn`xwgz#?|)=Sp5Q;bI_Q zu9i|4b7Z3Ero0|X%0Ttg+IB!Lm0SV#DPM#5-5h4i9-HSvh3FDXv&i8!^&R8PZC{YI zpg=kU8upp6vuWb6Qft5O*Dk)vmNF&<>8nlK&j^gyh_9%ZIr!Lnty=pGrLB^-+AiPt zm>n3f;#0|P!aD(5OP}@=+mvG5w7<+?A{jc(_6IcNqQStfkY4`}_?5U9;*p!i!KLFn z(O~*(u9+y2(1marL$5lTvwl-UHd?@NdVA}ypO$$G96J#&Vb6#me&WhfrtS&ZX2f9S zc{u0|r#jQ;EM$uOE2~!Df|h-Gp}DpUq=Im1KX!^9Dx}v*ixd$iK-l23aQKj0o3iq4 z?u>z+JD1l^hFL&RsDPQk2&T@#1|YMJ9*cXI`p1m}j*=nNoe4PBA{c4hGroYbyXJc% z2=cvzknFs7Ln{JPEJbq;x*}6Kwn1Q?q`ktAhQ_HoC&#SG@J&W!4#$O-wp@z+pExH0 z#b}~`Qlxwrib{7Em)g>i2h?Wtoh0TQ$=lsXUAf*K$$!zk_NJHg)wt=oJ0{)B;rpHc z#X?X2tu~JYA9?VTo!(xK1ej0Q4mk4%op=B%85J>A&aW$hUaI;#T626YnWy4CD*~6l zE|J({n}P-yV{C`7TEG6}1w2=uuTzRB<^BCT)toezo>ohtf{ND?}6&2xzI;C+{@CPjNPCrnKJ!vAN z;;#>6*56mvGXxnFmRld)coC-$La0P~v!4%3^aF6rv@=&?dg7&dmTI(|Q?km{8gaY7 zjgh}!6NjjS4nWZC6^ijLD(ddjyagG3g!^&}$H~<_@PYvI80jWo?UFLD`rbu`hb2cu z{=v^G=1}54es^$8lQzn^`v3>e{pB|9lZEn;%t zS*rWupA%}3_dm($?p+Y36>#f&%_%v886klRb-siZ4J+;A5dfGWobK+Xf=~+9d-?VG z5;@4n%y`1!B(us69ur9KI8v#^J)HweI5+#O` zBIL;_bHhTPZiUQ{<`yT2N_zb}os7ST7ukcw~P2`@cpL82_gYf3PW(Ku^aXayhc}B3eIiQ(F^A-u9oo zWXOk)2)jhZHi48Q@4l!j|B`qkR0dqsvoBWQh9e6;WykmZ{wv;W850fUgYi}nD{+7L zN4(;97Y*3pljhWU;n~F0ABdCZr3FfvU%e+V6c3;q+%Z0{FR>hqMzKp@KX<|tzXH!X zpE=BDmXe2xir^oE?f#UYNU$3m{(lxK(+D*N=iKjR1xPdg+)I-7H&VS=kxRt+&j$C% zP%OHuvR;)cOAMg<_~4$C`B`w&%VmADh3&sZw0^PCLltO4V|5K)X^Vzx?7>FE0x_l7 zPLakO)RmUE*?Uw`o2%m}WY26#`LW0Xir=12M$3`tUDIQLyCRjOGHPVDrp z*??I%+{g_tGJqCtyx(NCS|0Kh_WehrnHi_Zek@)=M(dvPnbZ~r_&mkFDbT4B^W);1 zhd2Z(2Dc%Qf|KW;0C`p{Y0oH6A5St|X5!$1jRV)w8=xCJVy4_uBQ589f;39JF~gJ; zeI&}6uKIg3wLjMW#x=a(PawJKOnO?ME&Ov4IIOQ0>v15Jb`(04fy+A$V$ZnV%+=n07 z!wWMba_|QaO<}kb;*%8``l8?cbuX7Oh$TM3je6tx{d5mTlytbt61~|_i*yncDL%5ermnqLYmJTHiN^6SzPKApS63`? zTk_{uF=h6vRi=fniOvOeKm79oAqeoQYkP$SDsLfHTNeV^>vZRWo=R|V8d^vFGooUM z&|=a?{Y^C(IX#Crv$+a#$x-s+w*S4P-4aO9W$%vWPh%d)Gn?jJ zS-oDnVOfuo?rFp*)XjibIjK$;^Y@?!r34dDE74M#zb7egWrtN}7Iobx*9d0X}h4L1K6Sl6lsvRu5?jG7&8*Z3OOLyLQoP@=ZE2j4Z|13+1@HFX!wg7^$IWZ7hGKQPT_bssi6c5hhjS5P%@r*1u3iLj^yZI~G?w1&tEbtQKHw{`&|E3{ zQQg^dW^B53Kj0TZSjhaLAioZYob;Te(vS{H8pT=FNB0B!2|zP%LF{@W25#C#@6z+q zrgn4!by*g|)co#Y6%8D+N&lU6Q$X6U?-pFlM&@H|m}LWSNfha$qz#e2jRZ+y1Jo3F zXyCHK2m9xx)Rmi-4{zj$G$O2uZ3$5R^X)6G!n4^=x9Zn`z^N_9dZb#jr49`w8boo+ z#2UUc3Bx5Y@28sak!(sdVHZy$;BHk17dOVsFE=&D1j~F%AuB(7+h#j6kvIN9N{{#N zc)cDkYC(KfXIXzbLgJ0_GP`yEs~$sk;Hz(y8zn4`ucAK}kRq6s?3omdvA4eOeb1q(PSRr6O`=iR=%Z}E@dFCkQ=Y0_3_ zy-xl;Tq7w#N7f;`0?`_1O$b9TRQrO|vy)7rbPkN!uq4&OO3I@^Yus=dI^i7ezVL^) zkl>*KLa-EiU`H18JQ(;k;rlhOneczp*|e@GTMfNTsHpg_Z3HB$=>Yq(X5ny|Khm88 zG3t)XlE(N`hb|jIYzhY zas%Lx{m8^JK#B+$_h2UZpLqrxqNFW0f9MBSRM4Cr1kylGhlQVEa}LvC%WNS$bA3eq zaxz4~fTMtNZerybQuFOwEa$h9;D7hKc%8lgqI&t|zo}`PUJ^oU4&nlAP+ee8;_%PE zl1Vr2{9n7A2 zoQ7k2T+4VR>%VCXm^@)4H8;``a6uY8MGFyqQH2om$wOJGpD-yrI zOXI4WgUl8SLcDf9l16f$I{v6#KH2bM)1@qW-8E&-6gfaJDrO-7iXY=!>F-&-(nQ;^ zC6^VnP^go2&`3AS2T{!L+Xj8=!HwMt7YLR=1#pXD^b_DygCrd|vu7wwUS4l(d7*@v zWc-*ts!Wr;{JDdVlp+=YYeWzkR?%z7ZVJ~7$1b2S!M{n#9M#viR-h0F?zCMvmEeR7 zrsAu1CoYB*EfaT}glH6w-;lu*B)RpbPBj#iu|FGrV$zZm;C718N_K9apw@z>rcRL2 zze%m6ZMLx=nD7B`(6rDzlk@PM@xE<+@Sx=6kONO!&>^wa&xq%v5z~~D<{hGs7fffRcyY#%0c+omJko|5)FAM9beNxDPfRs0RYpLJl?=E7$8+_Xqw;uiIe2 zOXjHt*^4IE?`Qye&hti05vryxnJl=tH;ENSl>bSV>SU#>+3uNNncT;1PKai_fh zJd&4pe3%EH4c>m&Ai_e=IgFp6TZYKzuN^nhS+YbTBf6ta)^m^XibfJ=(o1F8$@^-O zBdu%g_8qSh!)_E!#4M>2)&f2LkX>Yc-#g_k*^;v^qV=kN?&p>nf+wNUUk)TDj4|Ql z@N}zBxBIU)u=hxS1z>bfKq^tjf`S5`3k;fGSI9iu?FsaIc4AHNohVE~R7YExxR^fF z6f*SvheW@_N^TZc)x7pyfID*#G{|)FHIO=M+4V5rNCABl+8r#iJmEQEGXH2BSPRg2 z$whi%n$TMHrt0N~WK4g^WMxn7rT-}58`JRMBiiydPq%Yu)fx&OJHx?na`6$XGg)ff zGcaOvnZsD2Bz(^lppp_~C+PAWCG5|ysJvQhN-ESzMS~0k5t(8VJRZtcL zcz=8f?0&ugq;2+vuChyDN+}gre#$lqXjc^#lQvM_xO|LPx(fj(UZJwo2+7vvU};94 z(ymT5?y(_R44M*B6FkT!22P>WlFcjGeXpI5;$voGG1 zscwGlco*1fXpuC{4Y4?2k>$EA@R7eS;T=wzntESVN$n|T9y*=vhmmcnx1j4Lb5JMK z!uF*ER6wcC$zcuW-$=eOk9|c038V;*K2l#0-v_Pgz*x)N@zbDxw=#LWs?pMsUctt( zS!*H#@3ZQ!Jjzs1w_$YTT=ZCIORR4f$e}xtn-41_*edED`R}G< zDz~Qs3t&cpcQ9DGOf&6bvE+yHe6J~IBLcwa&5GKwq{N0FRa51WGk>9fh&8k z+K>MLAAVPwezqR4MCUvymZ@}uzCN*xP#v*@Iu@^Dqc<8Y!UQt*hT)32!smNf#smZD zBre8_m$gXKp;eYvSwbKiTUW*^V}US~#rt)pp&FMjQ>R*WiXCMGG2a#&qQ^wjxI7HP z=zotPf0cDD6-R@}O1Co8`rJD5^hudu&u5OW?0tO1Dm3-B6hZI^xVeZ#?>08b5EHu3 zJ6R>3_mQ3xh)flNh>`a?x>^%Nse%3M6EHCpezY{qA90vR(nB^nq9Twn{`m3l)h(3t z+G~!_fbGkzO4;;D|7mMnuF!8KFw8> zr1G5$AmIt&8`048^w2Fn`L0QS9$0m>9)I{pIJZCXHW(z{{=9L_3BO;c0wXW1ZMDmz zHW#^eL2zmV_42>scRga;pdU{6Irg@;hS9aEHPaPprr}y%&Iv)(JwS#XxeQA?j(YI% z4D`uR`aL>1FQ5e!mXIVyaN@$O*A>NE+PD)Qo3Y$CLuwFJlD?UD@3ATtoca5Kdi~~y zx0;|0JIQck$*hAO=u!YTO_p6J@I(8Tzm&fn;;G7hfyrX8q5oCpvjigRSREF( zQ>atU*11p!3d18#8PWskobocu(r?e$iy9*TsDtS{ zLTXGu#78RfxSrdhYI&1SBxjFGuQb|1D3@9ut3nB+6*7A3J_by2d zeMb8Bf_xI&>{ZN4v@+yH{eu?MVSV~!`Q8f_k`Uv@kj{_y4geqPN2y{qsPCkULk zbhS#%aig49Gr@9Wl2s|&i>`>ug0$Dx%M{L?yIp!y+URl(nSS9v`w8HYf!x9HB}{Afs|a`z4>>D*6Bnn5nBzaz_-kQ3QR5M5S5*)!$1!Y;OQa#@K@JCvF< z!Agc1jP3B0%0iOu^nqiRIh8FCMtwjFCxiecRBK|d=?Anz=B@8<#Egg!sbz-HSjh1{ zL2fIP>?q9W^l`0Wr!-M>=FIyq18J743l=)GT8vm4_43lTmZ&L};>c4M`kF5O4)wVG zWtX(9*FpZ0tyiA3xqjAV9}|ny_KZ@MCDy7n*#yA*v!K&CYaa_AGxJb7ndFM*Hc${9HNUK6`DPs(~g+I~WJFvE? zaTfO~EoI}T0kC9&4e4;LW!x?bjb&O=#*fOc)VPy8`{vf6Jb)UI{}VCK+9vZs=M_r4 zqyxvww>^*Dl*p}g?(8-!a#@S8T~mJCHDq3QE0}8uoiZc!);tzVZ|AdzwI{deVH1%4 z5H?vlR=x*#`Z#*r`p>Y!dH>dK1n}TGg?{X} z^p_~|-OILEnv1afVXJCVzqsxw1giXAm?+RJYPG-GV;D$f7g4E3f-7sQM_YESevNW! z$kUf>$1`t^sm#4z{0R??;NNdY6{3s>C7h_;z&e=>aSBN(`i?*N8i?uJjy^N*nBxl; zPWrC|08_bp7+4UJb|-NOceR}_$;J|KXxDB);_38k4)Lri1ct=9*dc2Y3JeJtk%@73 zHF3f(cX85l(CpXc31QH$c7$;IZFC|d7ZZ-2IQx~5D;*4&TlF$14;M&J0De_l1@JIY z;8Bd&^EI9J1B^kl+t=-nu4fzlfS}VgXu*v~r5^HM){L8oI6H4`kFLkTPuh} zmeLliKiC|D*?jhP;^Bj)GlVY2ENSnQh*GyOyw9#zdCfnmqr9KIncywJ`?gGY1-h9` zbGQ-a&H#J!;#X!r2v`+0sXQX)C>}XcjGO{n3bj2*BhWB%aRl}>8^w7FH^y`6s4X?d z6w8zXPWcqU+c&nH8Q?TT5JO*-II0ol%ZJsF9Ju`e3t$-|+^`D{Wo_|&Z2z2T=FcpG z@}v)FLfmn%V5bk!Q7k|j2V6a7+)baM;9Jfu;sWK8BUhMsmlxODM*ZihApUEVWqo`|l1PpFxC*|HCT=n zT6~wD-Yvt+Zfn1X@}SH?0^IV}*nTNYmM{#;6Zt!7AS&)`ER*)bBNQknIwNH{dnToM zWF83Zon4qTE_~(ZCv8w0|5BqI3(M=NI_&k1L=wPKp98ZkWLp;!LxCK__SKP-WsWw@ z=4CT%bTF063e&q$2{;iy7eLb~Fy?67xNbvfbps_` zXuq0svgonw+E0&}w@P3HgNbFZBE&AE4@18>8HG-*qWT8i?}gkKiKdW3A$)Y@q_y18 z*dCviq~DB_bTuu$DGE}-^hPU!Uw7Zy&CSP2OlIQFMsfjY00L9MD*wz(g2wV(5H2k} zNL#TOj&2YpnUm_AC@|&V<@Tir0pV|oq!hc2-G7Aus^~1@Yzu{B*kg0Ok%w(| zRi|dV(gweth+A^#lP-QW_zm~ZB)(G|epOM?1l2~h50GBQkw+P>E%;u}?4>O*MP1Xr z+tf@rUY2o4Nz2A93`rP&OPbu8=r;$Bv8Rf!{j3>B1g=&8k;HZ2D)PpV&| z*@1(#d8@W8s{=7Q>=WmX=8jgLn?#93Rwykb{KIXqL8W{7WD|?DUH{B@u&ZWG zdWSRCSHfVzP|=V_yrK{-m`3dl)Y?mO5c$UdLtOUnV4{kIs_#p)hX&VNM3mFX)nC%k zev%8|!W2?Pz4VR>v|#4KAi28ZHp?(bu+ z+L6yKEcj_yu(ExbfB)iD?Mm#6K?N}$J>*SSFxZJ78~3A8Kx~x2H)BN5l$5}2Zqs3d zS5s!^XR=F3+oO+`#Ay^16x`ezR^;1>R{nS6l@JRdIZmgR$L@FN_Il~%ArE^Z8%tRT z(k78GM!)_<1u+c!6SLh?m>xK_VG+zw6g=TVI%G487db9bCiBIv(Ck$K^VeY)Gxm+8 zrfcu9+Esfc@qKkRnu;iSo65SPMjZsUwhTkJ=&-ZL7GCsGg}2Y3t|L^)MSTVv1OB?B zLt5={^&yVVQ+9g|w&(k3+PL;auUGxGYnz_&JCh*?Y!5t4iR>u!h;Z4f?-m)H!WF?$ zum4_IMQD69Su>JUJ2bBsAsNPd&rqpjoSc7YF6|Dlm8UM8tYF|G>OO|`!Kd60CQXyFWe&R#~?9*aYqMtjWuVU&dJ=i>=a7njxeE_$swQBM>wt2GdMi7hE- zP3&BaH*^=;G4`f2`r290k|bC}^ziBd^_Zm)odFV4=bjjAMlsu2HOEDjtMV<}UI9Z2 z6AZ!i^>bi{d(G?3b(^5JFx!Z*K>xzKAS~^M`^+E{iJ>=K%hQAttqmjjjN*2Z$sxW;-PkaXcT+E@Mi?-tylACdt4v+w zNb{vdU(MPZpVMBU;iU*w%B0}Bz`hQcV$+C_|MB- z?#l)Go+{c@q0x;u{~La0-g4FURmsez?H~eT4Yg8gCe?!9W(?RQOTD~VsHLP-EG)9F z1PWNKlq$)~Q44AKl*G@w+YpPCI=hh2qsCalImpVLRySv79HHa6J+ z6#`bkQhhi-&tGhAtC+T`j|QPNaKTO0>cPFyQO9jtC6igiQ_f3$;}G@DU!j?q3~MM0 zZ~QeBYB%s>`8OVf{y_#=89gFV5o?s%I`>lqzH)YWXS3~~jshlC3p9+|mJ-*wbd!9a zjWTBF=9N2JC(*HM=ugLh{xg5IaHJ3$XN6J{BOGGw@g%Wi$r=ERC6BGUlb)N8ye6u7 zWx>V9h7X+aCNB>nFg?Acifcyn(i*}@${M)!C*!pAonf!a8O{?Q?{~Nq=%KaUzIV}C z%WiyR@aT)&t^pt42J%IN!NRM4zF2xq2GhCx+a&1Rv z^o%hW;{C)2DemxP@72YC2No2KiPDs0oHYGzbi~*z;`zH%9!raUOnw}aLkcNksVjHjfRGE7H4HxVNaX#x zt<-}|EF0=|Sjdu!48kUn@Y6}*Q_+Ym$KZd;>+a!;XO;bBCTz!;&7rn@X3T1o2k>n#Muc2lz_KD+G>kpR! z1CPM~n(!_fGbOCKgAF5JZIDdE)~-$Sv)<;o!6=!_FY4hVRX zHBJeJW79$y;OAd(wja|FSxB5D}ZJ&LwYjHosrG+&(my-km@lEpwvMjQypA-A9u5Ny(_mW%Fa@ZfpkG3ps z^DT*1y`JA7jJ_(Bm)kd`Gyb!wD}9|kyan%0sDSYD?Kt+YAZH@AN?rB3zVzkedR{Yr z9!Irm5`|;=(0`9c9V_P<#|Yoe#V8e2oi(YV-1zj^@C4F*?n#qt2Ce#j!|^QwGPU!? z0}RM~7baYb&fwmB#oa@#q@LzRbzVUQP>J9kOg#=P^8=Y`ak%1#RxMWi1g7EFrE6Va zz=SD*f@Rs~0}1fDzql+_#x^Ltk167JM$7l^^TDz-SaoDamfD|>3t=`UrAESHr(26bRM3Cz~ zH4s1}wWxItbMOuf>0&3NLIi_zW3SD-V z=`hYE0kVIhJ@&9Y_k?2FPMR=vT!`(=tUu1^*~L>RkoPr=u#EhD%)72#wqf?0dynj} zO}Jn&sfnjdiUJbu>2TbCq4yx#k$fe5)zQ|}pgEq|f?4MB;(C{F*U_?;*(83&Q5HnJ z!*(befkmf1x}s%9j+b#{i9?04AVJCQZX0G5mSjoTAjTr#jTh_oW7U>N7q#H`+ucT$ zuwPm#V>cNWxnTr#DEqvI_wxUct&B{Cs*~jOf_QfWB397!qx?Czh5Kz=+%WkV32ui zDDGx7@Xz&tf9gH|R6Lrgrg7_BoFfC?5+F{^S%I>QM$=X@^#%}JLCylVOyt-&zJ!VN zz8b%D#Gi8toWc3JVx~Y*L;L}kQ{lg^6f>m0zq05x+3?PEFNPnf@^Y$3?=E&eTr~@# z&@`Zl@D%D&R(xSLsW=?5X2Ho(HKqnLJHE{If#!0X&2om**A1Vith4LG!e9B=n| zG&nZKbhW|Op9F_AVs=W!rl<|1IgC6Y|6H z?!SWvA_;p?Wflx-#1ycMUOZ;zS=E%&;EJG!k=^KNs0^bjis?Xd7Gr)hovZQXx|eg? z=D{{rZ}(qryeRT}K9O=l$7HXcZtdJJ6@3T`r4NXi8sD(+Ur08;p)4VC%lxd$ykbx0 z;LzG$X)bk(PVHlap?S(3Ygu+!P2uh11Kdr43}&S|S%p=-d7%Gv?^r!p%bbDM{9SCM z&z!V>vpdwB(12>(Q%KdiXh)A5m5iL6gD6sF>A>;t(9Nx@z~;#dGYC0EWw|?wGR43} zYO1N#+?m9#QnzEcidf?cZ>tx!E!`w`3m7&SN%n| z>YHvV@;+-U!t-}01?^K%b?i=xnUP$i0Db2Fc7IR3eM`?slGSpYlVo@n;ZlbqHlns< z+4F3s3Z>C5+m$?1_U>+9NC|oIL|LY?*t(k?MrH zlyvL4wRgBG15f<>s)gyqxYx3?af}*DVjmBGF;7=$v*Bd!X(uhjN~>vo=@vs!lUbil z95MnmCy5B}#P_P;W-9v~V=YT(H15Nq4_95joIy{ny@tHqq8vRe&kkM({Af2Vg8bbF ze{APL%|RxUnkpX?Br@Sp?LIk+(m>Wrx>W24r#Dy*n`@o=T}eDDo*do6oJBO%;xNHP zD2o!~73S}tJAY-hwcY|e<4;|^clCem;%ASq856O&U_@3kr}1Z*tFiXl(8V_GUFdPQ&X z_M6qfr%DdH3FLjj6<*nU=Z6LuJ|#O?nR^?D3+$j7Pcwr8-i-#J?I|;Y!7@r7Yv1BPu~ce|J96@ryY=2h>=lmBYs7ly|B4uN2(1 z-*5(cg+j91NDhl73E=S*eQ+X`#?x-Jv7Av%Fh z;Ieq^?BBXWxnZ}Mn^0Zie7IXfc+lMK-j;+WLF@J)L`HTpd3r4q+@%vpIiZB5z6Bls z*?X`LQh%^-4Jp|5V8k_-#k%x=oKX_)zSRsQK?#Y#9=sIYqB6CQMfS0z2)f+y2kKw2 z?Y-y`Q>C}G3AO+65^az>z{skTas&dHPgb=`dZ=wLz5%Q!ZyGcB$Y}UKFHaQBjay_T zM|N!=5P?)Yy?tVfiLm(H;od|fL8!)!?{)7|xX4)e`@&jHR2JIK@7L?;6h8Sz==*-$ zoS(GyJG}qd-oEUj;o)mx75?pV`Ue%_=IC)BsIT+HSZ6=&0p}Sw>lt;DoFZ5T#%H>k z)%{QxG`q>s1~v<`U5whaH+FAGb@zKMtAGF@ll5!0Tu;5pHnpU)wsahx!_v#4DF+H; z;t$iu)qQ7E<8=y%iD%m*@Nc{P94q*5ZCS=q96F9|I41ne>W{}&XkWA8j0 z;n|`~=H$L+%247%^N>Y~=kB|liSJ^T+~U-o=rQC-7{~QdGU)K`2e-woguT0~wcAGN zCu_G=W#zwVb(U zK|7ONfF<58b?K2cZY&lleWY5PW#WuOR#{gOj~ajhykA!{K~)MImul1B2KhGpwRHv)tEOCs`Af!unag*;2Xxe3 zN^qb&&W8jOw$;o3yDs5xJWbFcFFe$npAM5v|61+*#82d87J_KSLAz#`yeE zy0&p|Q*F~1KtPOniR|CCX(LID$DNp|Ji2t-TnSl zD4e>w7Tr|>x#?pZQL;W9gel0c^jirekXflTlF03M2?S2Pry_%}9mYhT3>_0bv+HB^MI_bkaaam#U(u+g8zX|yZr8VW z3ndZs6Jdy+Zf+ZD)H0}ZcR)=?BV(P@h-a^?*CBYetR+Q)kVJyyw~4f5uxa~0&Dw-)L1icoEIu*uf^83Y{cE@nc_kxiGDH5>Z}9SXv5xo` zEYl=T6zMpmyB;LYob7UI?0CpJ-l)PEvV#q(oivb#E`y;L-A*wSFRr39(VtS zA?1!t2-G=3My#r!-H{yFpcRr)B^D{i60dDp(evXBEx)n z!j0;)?y+yA7q;r$u_8;C6;SD%M5terGzD z$Fp%q^k#Q^7x=+b=u^wsAVLV{>hy`TPAlkyZ|V`rl@@D<@{y3@*5R6MgMYyvWawzB`b~#8WJk-Xc-xBa4jnz-QhTBe=A;p0sco=c z<$8L0fT;J@Ne^=?YYzYicOlwr$*@o;!LW3&l*QGCrC&%GA1=}0u*({41&2f{%tjsH4^H!5 zwf=fGY3e4sL+MX0jTBdDmyKd&O5?qH3W31o%?Y2E?-oOnm**Rz;$3;i680=)R9KlH zZ<>#ufSERl*f6Cd<2-KC%Dyr$%LXkl$}#o$w%TpO#k^r*KWcFdX0|KM1dEWy1ih*-UuUCcvd)AYuv-R{379uCA#Oak_&jzz{~G-G;)|SH zHjCv%vA=JeFWg3`SYDougUgCm{QS6J@CrKN94We>kFvb%%1d-9LJ>08=NY`ULGj|N zi$;d(IT4>&A3kR#6aJgT7BaHbcu>B#!Y!?#!*n!MjW+IJ&&1}b40<6WoJ`-m|5HwI zfdU~#t({WVE9}Vaz(Ljt*;6EvfDAM5QvEf`@BT(PNVViy=inN)=3x)=Eb&XD{e;~x=>DIYflJYZ? z^vooOf$mS@?{z;bG(O%r*931t0oxX6{$*O@hK@Py(2^Qc*b}Wi*zq^roA=#T8(OM) z@ZdLLynjzh!}70ULq;us#iYHhQMY%w1^a|w?~U6Fj~huO{eS<~@a}>_`*g!LsvTJa z3mWa1)E|6V60ozo`MtEcZA@~Q^=+m)N?2{sBwEzdO4CUwXA-b6vgwn*KjZvpmj7|R z1nIs%7a=LwL%JUIV7`+Xtzclgx!m0u#WZ{~l{hRAoum90k&x%`Jvy~R<9G9vzBz{e zE%AQrQQN|mod8X`8OSeZJzHic{(#_i0zIbz87fa#Mbf&n%skd6-I}YPdr~PjP-*Yc zIa##?58NVuGs?GqPZ&w}4tZP zD>qxSb##v9jipBeTA~74Dhwi-a*6eBJj#K%6~$o_`8|f=lXI2kV*Y}?o}v_~VaNKV z3#E7-=y5M){%|i(h8#P~$>b*`0WlYCMg@h+qT*;5W~#y&nGKGZ|=q050(bmPR58 zyv$Myi>uwa=X(8nNawu&bpwrzce2UKAG~B_5LeEi+VS3>gUgY#MX%SRVOe~MEs2Hi z9hX?xKiwy7U`+0NKK^(9f7kN{xVf;Yu~_xceDQB9P<3fSfS(P zLBo+>?{b877Yw?nfg&2rNpRra7F5L`B)a!w35~2H)i;Kg`~zh?$wD9KLz+%tZOx4D z%BVp%Pw|o5&{^w!pLdLG6<9I51+BuJepR7wXofmf-aaDS9o9R;oBlg-Img~U6ngdX zPH$JV5a{h~erM4_s6^x0dATdB{4hA{=edu16zDYY9;bykM7YvV-85NtkBTGuUA^3b zA4-ZL-G{|2tOYBvS-IYYYMv#}W=>lq=pHooV#*Q(REnxkS6jmWT`d2bo66a9%6aHv ze>{H7gic)63jQ6l=J-wjL!>nSx+84a7h;dDB8};+cHQx_m*>~>j#uRmk#2nczIk{9 zerIW3rAf#sCmz)f6_Lvi9!%H+RtG7N&@N zsz+j~cV+xGV1l?>*m;{3(#ZI?uCKM}!+5Fq#MfhNAA{mRmqKqdFl% zD(t9QWknD66W5V#nmkKBXe29+vq#rsWPTJ-z)FKEau+)DilEovMXFEo!d7-(Jk3l90d6 zjs6|`Sl__?tskjwH$##Gvxd#XyIo0NY*Rhay?d3?V!qeCJZ^1i0o#WMNSB=jCj4_# zOqCw7v4%nes$nMfduZk|xp1Q@!v_WhdF#H?H-)@WO*~1u`H3~26ZJgW3~JiAM9$w* zga07>>aymkD^pkRP|5D*=yu?gDw*rQ_w4U^CSBH|L*VsxyZxwmloNWtzvgVBn%C#q ze?k2dK~cx1wOt^WS<8lX|6uvcaf9xP!)Mbxf&q{?y)COxwk$!3J-RVj8E9F;3b%$V z5Vj_7V8Ei$reF5=k!+Ku>p$OYTAB;b{%BxIyDr9YIyw5PaU&aANPwm_@}o62`T=oC zx@{Cx`AFE3dtL1~4m#>;F~E4#YCqM4p0Qc0`e6R@HP!a4D#cX#{P`UaVx%J2X0+0O4EDf&Y=HIMz8HZVU;HW~aS>rg^e zSjyqN+rez)VVZH;n*d6_+;);1Ro}osUUg8;K0uo7qPk&RwY-Hgt^(dSmHinCz{{T?~Xx z1e(O?qDaBDR`m7ZQmOUoOM(WSCFI&FQn4_gy0|hfz;oG3#c|Q9=T`9PZp%PE)eW!p z-+n^;{Fj&~>4sUw`Y_KgVDa9G!XiX!F1hU=pod0HRHIG(HD%P}l;Vl_X8Ya6Bhbh< zK=%uNIG?~o-Me1Ky<21MREj8*r3>1{QUzaAn&p;ZqyMHcxBP?Z)9qjq)ItU&h(H zao!s(w6;o%zlOXt_6#<$NQpE*Cw9e+kwv;LVQ}yjCzeokw$>iekM0S43nMRgtjW-y zPxey`A0FgO?bjCZ@`^*d=l%geANCY&$Hadk4+@GR=?_OvW9u%gSRw=YN_2>y!fwlz z7dox@qx2`s?olKNSld2C!ZebKc`aFoH3 zAo1*bi{NWy*n>){Y>A_H-V8;Bmy&X$Q6N!j^7&^8<@_dInTCq;3-qVx1draAO+~otkr`4hj+~bI??fbb z(^3xpB+)CWxVSp>TS=db3P$jH`XzGsf@KJs%;)nx?z5M*j>iUJh7L`35R{(ejHqVj zm`P4Z8!I-e|JC+j@JxWn1;Ia0-5^l1m0Ku3UqR!=zS;f6u|=6gpP@Z!&ViD~uNzSb z46^U{MbV_5Xh9REd?t`}dQK3Kaq}~el?CqyFWRV7r|VowtLeH_X4Y4%pE?2x$0?ToA^o5gB70tZa~hSu zs9lQU-wDBE$z6Jqm(0bnA*TeodIPGg^+R$VE6L3$PPC+n$wSFR0454QrRR_+)|M6* znwf#ci><~8+_3*uT#w((Csw=%RV(K3H!3*G^-v1blFGy5?Q7O{AG>{4BzV-M7&G_c zKIoSvaRtf4TJ90Dow1Z-U6k$zPwp?+NpFhb^i8|iiv(P1f4LFI{m5o&1Sa=w`V(JD zaY(sb%97P2FnCZuvgB2|-5uW=*n2#pIqJl4ZSnUC2UC(q@i(0b7|`wD>g#7s9af=V zfc`nq?rR5mk*B>U&pYTeL>X=nYd)OLjw5&DRcke3MMrg4TBf^PwVro&Q~B7Yc!PAG zaj;#tHf|@B5lV+=Z_u!Ut7U4)x1)yiaLm%<_+V9}gjiLGN0NK`2r_EyNDbSTel_9% zC3)A{LPbQ{5Ur8{Qs0hs9>wz|^^&Jq23hE^*-~|EqZDmM{0X z(EXy^_0zgSxD&)p|5$+na{%+z)z%*H2y@r0Xpf}x-xRf-ps<4>&EJ=jjB3mrl^La$ z_a+Gv+n>N&XKE~JIAQ*&ayZ|yL65i!Lv{5SJ^0KsOH+$)_8Q^SsQEid>7*ZDkL$0Q zN2+VbT9Bw`@Tl3ghHycs1AGsser8svL{hdSfyDGTfxlo7<{9>pAI(zja1JS;3#$C^ za}MMB=W7(OfI#)=d4KUyl>Vb6gz@FN55c*6W{Vp9ewB6w0Hy@~+^*T8TcdIM3G1iC z-EJMZ#n8QB*K5dup$QwBfCpK(ZTQr(*1xu<(dzT+H$68(7=Ewo&2A%$EQ%i0ECR{F zL85&Y@}=GnexpjUL)U+cGNp$TWP?7*ji)fXq1~_&UlS9;yIVsVWnw&fzAXy{9qFsc zCJlRIH|*9lgWB!f(&gO3*=)k}PbVk{$CQzi33_@E$6$t1K2^NFN@z!_kqm*Hs9|a> zLiXQX=2hidDa#wcTe9QpxE39*rcpTUjk_`y!grvbnpruXZ|-)II4A%77Frj9yYz!V zU`shN?^9`GT)JNo_4F5HgAPwTyFoAg=J+{SZf$;HU63-gjQ zf_CC4JKc$|IYbJ36zNl{q`Hyx30H!v>);yH5tazu-w!Kb-&CZW+L8O@Dn5g8t&mWG z(xh#Jsln7pE!nYdj-peHg(S%@S5Y5po_k{}!xwpUQOx6_#4oS?Zc>zSCpm$r_{^bB zck=VB_aWE8YkPsSZt}Cl;5-Lra@t@&N!35iwt5iuJKV({+_M?lTwKv$(|n*x45c`140v>vPd}_i~sE0vVp#8Qow~m-7>Vc+8!{xLelkh zcK~LVyn4kJR;FH}WKObTA%JKL%r&|h@U*)j$)z0rkZNw9W8QMZx9_;Al-14?%WK^_ z1!T<{qw5fd;%ZI%_Go0lp-hfA`Nkr;VL7zne8v1h9x#o!h4fiEV%iEamb>&mm-Z!nr7_Pc#P3y+TwLdX60FT|5U#a7%g7feCA=vY4 z79DizFr94A)XzZ^x21yvrMF+T3d5JK=I9E`w+yQQVw9xniES$5$+dEG&%1*<^~SSX ziz86Pgo;X$SP$Fwy@JV&uI<=37iqg8PsV0X2zpUqQPqmg6i5%a9?beCw<*gwJD5T9 zHjbvxkRwI`#(<`-6-q3dXsn>(Oc!4(DVsIpVdB5gnaZZaNb_~W8&1;_ z=D3-gV|wr=LEmk$--O?*&+!HlC4zI6U!^;VICkV=qgS9E^9#Iu>=o<+e}^TU1dPmH z9hwMshMWY4WBogaJIcYymLme={13gXK+ryh!ZXU&GR20w=LpTd`b@PEIDA zwKI$ZGV&J*j@8(>!+AQn-x z)ct|AQYmHlPKE}y|Gs(0=GECc-Ay+wHHYw<{^6XMA{=%f{;&maC6a;A+(9<9GVb?J z|GXO#-&jYOcyp_y0wJlVXQy4S|LM#nwm`Dmadjzxiv|0GFyJen+JC?NdSwGRx*u<| z&OkcED}MWHny_&bg=jUashyLMW3!`yTX}fNp^oDDM^aI@ca$-Ctkw;V&ahN?Iu%Jr zp?5+c_QQ_VD*;5vDEo7uaC&*w(R3N|0&?Nozt#`37bb&^<`}_%>T%{p-m?+P`AGyZ z7Ms@?KiXuN1^D;x30aW@1Xgo_@i-ygu#m+kvYH2Va)_%}Mi#bZOVi4i)<|(cJ@C+D zb=*TWV(x9#i&t9eL_E+6Pr=tHF4+AhnxH*+4dmW=^`R-J%S6?lH@y~E;6aYcCFO!x2}5?^B00XoFxc4t;}a;M|v468V(5UCy&Ag8q2u6i1V@}WRS51)a?7# zS;r2N%No|d1A%_^b0$b<&*0;)ZP*@^I7uMC&xn1Ir%V1Ok((^xx3ytNLA>_&@bTD{ zLcoM4Er)fS?R_mi*Xr35)Sva2we^=u{U6i2LzH$M)c#c~$ICS7hi&p`L=iR?U**DO zdKC`P+wOx+^i7(6e(EXr3!O+p9zN@4;8N;xZew#X>9#e5Bp`49BA1Ajh+#86UVEFRb$MR+6uM*$`SLOMNlEr5 zYU?ap4JXNde!6Lz;~^kBku8^3l!-ij$9O!fzSUZ>5S!~9@~@Z;g1wK8!)01D)~c_b z-l?{eb|n{U+wpqCjNWV?K@o8W=RksaT`5p5VOEEAI3FHjuFawstrpnhjjmd0_)Srf zN3p0x8;zjy$bu!sDWh0~{|$d^B$Z@z;}EYVHzWR!HoRz!ksylL`;RUpA$sua9QRq| zlMNhk`u!5^Gzw$7$7VJ4WkGvxcAasTj1yC~4Lh3)Sd=vAw^p5VVHDK^@y>L~9@BHqlJalP%w`iA)7oLF2;cncD6_NzwG!|;gX|%LoMNl;z##q| zIX|5bv1!*xR-x+RB{$rl7-NswA!f*#vn9sjfbeMo1WQpdkp&ST1yNf@_G2s7ke{5t zJWKr-Bk@HJ%Se}>G>(RIAR3Z48DmzjUjd@Kf)u%>Qt2$}_Dg}Rq05+)-rlyO$JIe% zFKP?v%GZl61hF!!__UzCI_&$Tm2v{R?wB7Jyi6@4fEqELkrBO>?GF zO$E%~k>m-GCje!bNsFd&C#WD{_W-tF8kw;jd%g}M{_suX7>u!g7Y~^2d*}nfi#+`E zGuP-T*KWDQ&NtFJVLMp;$RcbBEd4}S9`;!i^gV2Gzv7A8BH}$Y>N|1nNTU%h9k>-t zQjFW6GL-0Nou~z&`%$C){|0YqR`JK&CD4Zu3krZV3FcFC!dzP?y%kfnE~<9&(3-G- z>M4uf#v=K_mE(F({l>CWM-Mu`*&z>{0p1-)L_6u)ZAvu;uf5A1R#lpK(ZrhUY-SUl zj5s`3K4Lwk4rV6_Lal~{0U+K0gL*afARzMEznXi(Z()7>_$04z|FN9;ozy$JdC-nB zXE*DhCJ1Jr0ofzA6(RSYX6qfiQK0J`Yf1{#EkNPCDUm}H<@p`wFycGUa}?0cKF7|0^`hHdn~aO7|A($pG$ova z9#jr?a-whtJ$x{bK6q5tRFRThfN>+!v@TxwkXMKFzRvu*%pQ<09!WocYCqk$zYjBy z{a(3{Dxb~bZll5uDdjs_cqL6Vhl#OCgV9jMM}m>b`wO~la43C|wi=#psh)$;O*VZ8 z&G)%x{e!4%-k=rt|b1htQWKB%s5`Jlrt2JQ6N>wY+)BgFO-io2{ zIc=!*H!-Y{HF=!oXq2a$E1gIVLr}j{pTGhC9)rZT2%4pW9*6;sJ;QW(Fj07$>&7&Ll zeoJRv1QSXI(~PL|e}E@r*#wU)<9`1a@4(ugadU&*Ei-Y7yZC%p$}U1SAx~T! zT$~{4R86`<)>bvEAx6^0a_Zeq_Y^v87Bsfoq6!EKp$w3+kC+mi0t<-&Jg;n3j$imy z-Ajs>zlNBfXM?|d89O|&f0?|_D7Rc*g=KQcIKk*8|2e_bNNh-xEmK_`1g2Z(OKUCo zo;C^04*GUN(yBLDSJ{Uz%U(wjeHBmD7E#^66}RuZ5{nI)B%VBPNr0?ud z4$Juns%0qGu~2wot0nA*l|$$x%bU@1eOXXueBLj_KotOm7S7RoHB&!|2$t#JDTk8v z>8F3%K2(aS&xPh@SrcZGH$hyGZc`p2gdX2hyV zoMxqT$Ds=`TX*n&?F7^tR7jtgTZ#WP&GZRB^<-h*34vUuK4LeEOPiVUPG8x7hRt2q zrX@Lftn*ct^0mKH_bgiGr6c{jqfy1oV| z3`9l*TO-NqQ`n}yLXU!3<#}W7tY{Q(y!7>D+K}JuZiD4IcO5ChzZgA9iHVK;#P&g9 z3{?;@Wm0s{tW6AO08E~C`LZeRr!HZLGePP==>n{mo$q$duan2dj+UN6rK~eMAF1Y4 zM~3xTB-ZRyo`0cf^bq6wHOF(i*Th=o0Z~0pheA_p+DMi7U&L6y7R==}C8m%xEzC*x zPrf=B8LP?Dp8z_#TP8J16Y94EqD*oslyzO9auf#7^#M`oZ!+CNk<`Sf$EqNWq9{5S z(eC4{QK9WHNXHc>$MTWw(8?l8s7|Hb?oK#a;q z29@*{E?|U-lN2vE+Fm*%x{1+!9Cb5M&{9z71oUP8dyFvEGl;3x* z=}(jwSEP?ab(~9(78tnGUfKD!h(`;Vz%P>uJEiIL@1JReHr2Eo5f&xWs?#M;&b!3T9oj~0JEO)yK(}NFW zO1z?FRy8_!eG++Qze~xMKJbx6ORMVpUsdkix0^DZlAlcCqLfH3f@zfX1CnXU0&aeS zpDVTnY7{JMlSE;Bm;K$DihGD8ZvR%8uH^lrr+ceZ!$Jdzg*sBjGA5f_p&WlKPL4VR z8(AnisEkNLB{f`vy-fuNyzNE}YoUcyNj7lw?_Zxgo;3jFZi&inWDgIgc3b}qZIlYqcytvk z)xN1|3$e zpG$c2%cP&M=y9UaG-IWOQ%OokOYKH_JX2mCU2Oi%4s{p@S1C8nf%V=ZRrm0(#j>YE z7@)CMAK-H90uYBCqU!4PZaEN&VYDhmMZE z4c#I*74`&qpEPgtS87i8w2+D;o|ILKXB=5A!7$?KXD*nvwYgKM^j||lQn$_-1~)XR zaE~mldlhO|Fn_1+@oASOnZ{f`g@S`F(-F)MVV-;)rX#H{ETZrY6eRXATF@wmAtBYe z)!UxvV?h511g7o4U^rzFacvc(UxAPq=O(1kx|+upw7L0d--IaEdb{Q=6p&Yg>VMIC zejVd1{X3*m4p20x$JMwvH5^Spb7swggR}qxVUo3nxKO}!>&me1k-(0M4}`3Q_o%I zY!+f5L5d(6YTH0xONSNU$v43LhDxg{t}Ia72u9F0f6 zn1=Ko){hM<7)ld^>?5{ZX#X?RS`64&r#}pz)g~v=DrPkHQ+bVfZ}0C{PNmD^$Dr8r zB0?>Ne-fvsd*j%DfQHr2D??FILYFqCGbf7CMYwM{te>`b;|$9|4C(PRhYwqX zhy3OvL@PdU_T7?5K2}93@dG;*VbX>1Xom-b4zGJQS7SLyA+-EW35D3>TL~R@e&Y^{ z@o%Cssgb7_Sslp6PmlHfA_UelMHOShHomXbHg0NDLwwccSlurFfdc3L`9RTe>AQc8hnQ+>~4 zzq+~Ba=RKhI8xXc^XoGX{yA0a(##xk_U@^3e|5sNcQM3lH(t6;AbN*Ca!~wYT74o^ zv0(0^Db|0}f%5~iO&ks4r;CG;>Q2x^tPrlee%g2JEoSAW2a5I# zZ=jO{8I#fn#l;&?!2PSNlA+qO+#L;47+V*6-vZOwNQnkF)wgx=LN=DNmK!mFtO;O6 z?-$wp0W8E=ExEXwTTu|WqieoIWoBo+1yx9-v>9~lh#yHU!H<%dyzigYBDL;BeIw<^ za7vojZ8!;{7}u7qV@wH21~~tIdWsCS>{use{o1f%CH|EiR>9Vc4+K9}3eC%YsS38KDGVbEqai|iFX}~8%nqL^0(d{1D7+oMkeMp zjLs{pKs+@lBtJtjp@gULLl8afIyG5z0Ej%E;ehHa4;n68X78$-FH@H?3cFSMY1h*j zK`A%>atSPMC5!y9KBIdrV$JW;`M;JEwb}6gIXya@ZS+0^92bD;0PHVrn?897ZPnQU z1QI`6|4Sxrkj5*lc(dM9=c!Ys+a?=A^db(NeL$Gyn3($O%pS)+%H^WkmDD$^L`M9`zuX zu$bS595h%YBxXOm472$+UXW+NlvDQuZz@x0JZ$+^s{dcAK?gV>or*k`P@y=3kuR*c zXd?aVDRlXcdG?F;;Jq8EQhDH)MFLC}K{FyuAvqG=HevkiSRNuYF^GE@5Z`jxt+u6RZzScEG?X+pa*h_k6b)P^sHtJndCqVf;w>|VEQLNsjcMhB_S|t z+H77;0#4YznM7EY_XBr(iu)|B?5{1 z`)Oo?%Q0O3wf2}rl0*1jPPpG8JzWHMER>g%>v0yc1bx*`G)&9M7Y3A$znhD{B54it zr*ZXz&xA~;@d0oI!0NYXSVEPV!TWDV)eYPslZ&(SO5X z%OKko%dA*kRR(g!Oz8w6U}kBLaT;$6N4>wOl1luGMGo|p!tZ}KWe`&;#v~eRsOJkr zOQ57Ma4p9VzM((dn~_l-h1Gi6h<<$&wYBW1$=aKIDKY%g`*2cE?C2qQ&P6)JN^s;@trgAv4Nw18Rj3k-nkjAlHQp0N%$PZ(bjFV#VA(;2(>ge0+CRdq z-RT}Z+VNd-RA4{{;el%Tf-V;l@~7*V*bpZ`0*fL|1meXn^jIgNXU?@sk-}o z$Dv;Ziy(h+{fPpg(7Rl@s@em$nt_Qiz;- z(Dx4&O70TR+^gTvtN7yY1h+m>jkMSQs-X z^H-euH2ul7)2yaSjvNd{gN+8s3eol`I7KIJ?Y({kG+V}y|7g1U*t_v?^!VuVmT1JuA^XDrlXE9d2Zcpfoxh>j>6cTAXd`Q2VN(V~F$rdInH zB`lOR(Hfz0Wav(nR;_yVpM_qwE4Ytl({afFaO$z$q+u2TVj$H_xL(|s5x73cx@&eV zv5rQ1I=s(w&=6W<9kk7~2M>K>6kafdQP?tjXeh^!O|8o4e zs-F+?xOj5?8%GAHLWCo7GSEmt@=F{8>q`5Dt*IO43xA$`cLOHIkkHb}a zfb011k}E@@cICLgNJ7$vb}so(7Lmg&ZwtW%+EIU07ED%bD=3Gfyn&#M|1fo}Rt#Ll z(#}ahf;QomZ=sd(DZVJ326v)yc-pPi`ZX?^PPU~kh2_sfzTR$dNZ0~e8ptQWF^m9v z*QsY9`tMG*?(yQ7H|pF$8sL(47uBIqsdiIZM=ILLN?3oU@Cmqdxn9R(eS(n1R<+!Y za)<@c+8=!yV_YG8RkZtlK<@-E4A13=eu7l0{zjS8Y%kvx~`Xm%+#4ejL{R{rV-_ zDZ)sz0M33(5%KqQVdzoHm^Z*;^EGd|lKA`8b+C*|U2 zX9(HI3+mb`JH|ARS9s2RA1S3+FDeSCR0^w^5kE+&gch)Zxzb248Tuv&00Rqpje*z- z43x`J--o%w(f@*WZCm8C1D}sklYRjZdOGy;%bBA?f30@*-MaSrat+;IQ<4M_C|sO+ z7M{y;4+jxXPww;ZXYo~6*D$?Xbv)$C9p^M)jSzzNjTv(_i!0K5S+C<9`J~C`>$Tni zxV-~iwRD*0og8uu_~T zhawdd|5LM0a4M;MMZMl2G&TlccRRdU_4IoiS=mSHZp0qe_`V*S{OD5kV_pyZ~SoCH>9M*B8 z(IJG#u9MQRl}e}`;BxfVL0n|}@r#3@7U6)N*M7^H%jx~9Q4j3&0t505acw0FxLm9-pB~>t6$q|dHjK5X<#p=N?YTE)%k}e5!(pS+Z5LhIt zr3&@Q@ak2g9m@c;=(e-1{@~M;DnrbM5WBl`_1@AjK~VXw+POd`$=u|IbFm8p;XQA3 z#>?~XucVC}I}Yd11faDF_3o<@h>Zh+#?iv$O#YgI7dvW=Do^(T&(9AD*>Nqc9pC1q zUZALc7@4!%+7|LJ@>6&C@eeo zJSMhAj(Krd26BvXz-sg)ONUMjl!?>EAc#9!Z))v^MSVnrRU2pOLbgDgnqQ6QD)dNW8~Ee#RLPUJH8R?JPl*q!d~$fd7MX%}k+jjvo z#vC?3CdM$c1}%)Baw&o1D4Ml&+*V50jaGIZ)cuBGe6y05(<9tFQY!t_f|yQ16kM-k zPcLpFcoh|x^ypT2un4Tnif4v^7bUb$uGcfGWAo3S5we| zVu(psNx!d=$R zt?OczfH5nl#E^Xy(gE<)QUT{2e+2>w1N%#yx9Xs zL_C=@g!}++4*oLEomK&2Y`mdJG^(?rE#eAmG6ot6J1i`DzXNO9o3nq&$-}8j5RZ1f zh6Cb+rKr%lUs7r%IM>s>^EwlfJ* zkctGyegm3TjRp(wGK|ne;a+I7v5Ggn{F85OOE6Hpnbp{Zp0V@eO|p$C1L1r2Gyp;a zAwLCSXQzCJUoLvL9=)DVh^>L`)zP)Hz$N=?AI?QEXL71Z9~Ddr3_1IEeZ{qOISqdB zY_x$?TYAKnOVR2KO`Ry1JqWIyh%v zpbppn-e_F2$BN^d6>nBbYiI#-9=lP!dkxa92KhRbWM)c z(SdWI5q$^&mqpSg>wv^>2m#b+db%KxWZW+-IEp@lr+2&0;->Spgm@j77pQLOK9MUO9<2c=S!{T9@;j9 zFr8e+$C;tc%6YenL8%SYjA!0wDybLQaD{X zu*Ue`p$@?Yyj)UZBQ1W|Tc!1yP$T?PaZZ8TKp{VGXOBW~Q`D^C4Rvx>~J;~i&KQ*U2>Xgm%&VEFvf0lW!6l8r|Gi`WoLX9G1_05-2 zfcmhM&i2bd2lbOSLP=xH?Gct$bNr~F$%pmx+BI9j$A#F^VL|(ozljzM4G3iN|Fj!G zJoYD&LuN4_2V2uOtL}SOp`Z+;a7Xe5X(uMxWC%Gp4k;uwv9f6SaVSE#p;8U!(uY|qoe+oS7QMt-e(;c5t>o0IVi$R0<{b7ZKL=}6sL;c@`nY}UFlVo z$Rwa9jq-g{HvAJ#hiDA%MHOxoTBVuR){#?(OJ`;Mwjnz-W8S+cHW%|~Uxau-2)1T# zC>(|KCi;7eE*!NLBNOc;cc@BCz|EKEAe?nyh9KqggSB69W=`fGWd^p$e_YAEQjp9N zYLGoWzC;E@>Mx>8i)v~kKWn(*S?VV~eQWXZH_S}*TTjF18QQo&xAKVJMgqV5gWd&l z-WM14@nx~+2ig}Qc;^zvT`DahEc}q;@PGX>pz6y~$La&2n^R}{w{^-|3<+%f$&))6y)&FWf^V=JVDm z(=F78bzjgjqO^uzSX~+|ZF?)Oo@{R;zDZ^QFRJ7+b5!(!&kt@wxj#h(gy@P|(8ZH0 z(CDtoPE?H7k+8pex(Q!xl7-Jg0b=;IB;FSC|3E*{^~W4q#ZMr&tL-Ax=pRnQj+Bkt z`93S(Y{__-D!+W?FyHF6i0^Iav}G`>aNV_d)_}C5k&k=qewu}@0jQQ2rT$=JEtN+t z^ZAI?SaK@-p0fbUy+J>EKl`|Qw!)^)wXK+L&P~^~U61Fh=}h_xZ&TeZvv_5yxL4Oo zf!)%-D)iQqS?A$cSqu!UsQQ#WmxU=SV(oBU&Rd?YasAkJVAATl79oo-OxN02au%ZS z8ctS}P|?+7|C12tDMEoo`RqI)jhcs?9^_ZPAPMy!MJAvy*y{X=BmO7ORUtzn{kPjD*K&)kcYkC1j$44RTnm*b5Dz7td4~D z|NT#ZEKajPID`1+{YpKP@XH`^(PwY?xv%l|wW`#9Wdi

lsf3SW<^F^YyHAiY7<4 zU6uXfD;cn8#O|ZFghy$wHPj7C*_A^YKc*iJ*&o?4O zXWX=AmDL~gyKU#R8<5#TT}xmb7tX6(dvn`5(7f9UleK?M6fBs-2cen_fa z>}~o9OuI1)I>%!lXVvPVx6qBtIx0i05)`A7cM1)mA8pzfj7dUzP@@Mh!L@~5vD=u7 z=%i{q4TkGvyMour-S^ii3H`Fdq}K)vB^(hO*RA#AgucsLL3mBJT zskf(#<=IZH=@0iNQjue z>?k@sC9e=L`!6s5rx9?uz!-JLQZ#g~@G(-q)>Tg*8g{c!o|G{!q*N~WYKa*@nQ-^$o_^5RH5295@22Q8lv*{EI+|Oy~-%r>~EwWrk&rzdsrK1tN8i z3fh9YcM(RpV}mwZ29`@F;iFZpP(n51fJcL29I4Ob`2c%S2VdizrBQa>vaE-^8X<%% zuBFomtz=8zZTrutyNO6fL0A~CqM`wz=u^LmhT8aQ(sz#B+}tVtDzp|3LJVy?WQ1fh z1`$!wg7uTEGxgCs^fE{KS^YoD|6O(W`;~| zklw(=*d8qINGw5xRh(k&YmHIfF4U;{@Zq7RXh3R*X`(qxWNa$#ezf)a~4qo?{;eA|x%0rK9n`xtHX3J9DeGsH+N+kt~tL1g(?eCics#lJU zn{=H$2{0H~F;>`A7S+a2KC3~&3=I$_ELR3?`9Y4Kix^XZpgZNghtQt>VN0lDe$n^} z!q|EcwWmA{wyySKQa&3J#yCCl7x9HU`i~=IvFDV}+W|LVM(}VjBxd|SbD~jey8N&z zoxe3@B(D4CTe&1DZ37d=F8z-0DrBR(eFLYpeV*KWbabOIqoue5_|pgM7a?y;))~3& z=5Sdeq2ggGU>DPWi*q(}c=`nvsYuWMlV|?l(6+d8Ej1V<>?-Ukvb~NBy#sE_v9uAK z7HeN0A88s`8LaHUqtlnIauelG_c_9_!BOl?AvEXGnu(){P~|I)Fx~;wBBRbv5WjYz zw{+Tb>?{p?#mtQv@GnZG^3~nyRt`x!+q7-woC{Ez>JNaith|k13vC5fr_KKFsSich z)bZdFWsqMDiVU>ONU0o)w=AP?NXGFd>tL`2{LeOjGSLV9-&+S0P%kH;ZA7JvufmQE zuVl=U#pJgB-wU9MMhwNY&e=!9uiM;bCS+_>joKHoL^ey?&+x*Y`(Odz(%$}FD+PFG z7wrWwdq(KRou=aKws$WF7{9ye@dUCoeo>#(fc~u|pLhFFv3^3Vdg3Ysq0qA2Yq2G% z4uwG7eIVr5Q_ypmk@8sDdi3(k`CoY*m`21#O}b|Yo+31uk}Wy$AY6Qebk~}FjtPJ+ z8Vd`o?}c+uukK=oFQQ^clg6FN(h4b0OTZiDg$<2JmO3N%b=Rn%H_kt6w4*(|X`mht zGm4l_=QtOcEL4ut5!ZZpEL@}5N{0=Kh>_xLHZxABE}OgA^rZPmr0rWk;$o@(jc*kG zm?_`cOQn9NZ!S!JOi~}S@Zdb*#PqwN$<`jR{miR0SKF`RqLs(AED&8S!qtTTb^L)5 zAqTgBj<79^RLaOwVrSXqo$njcInbOdLc&T#z5SswC{qiy4;2R|H}Q?_H+^=ZdcI+< zjQX2{6fBmGS9=ShEyXJJIA=~f|udHi_6}k=={Xj^I}_kbi&`%&IMPGC9$&9+{!V%3G~7QtfL;kpn3QdP zZa%ZTEx*lYzT4xriIIEHa2y*NzI*PFO&Xf)+68{2r}Oc>0?Cb@TfyxU{x0 z%XyJ0rqd_q>z+`+nJ(5xwsK%de*4fa`swQdC^t^mhT5(2v!$P6&|h!eKWXR`Xx6*r ze?JoxBl)9EQ&bqb`}v1io=Nj4_G|^q*GUV!q}P&eRUZm`Tk{d@9Zt-CY@2;AV=+0L zx2Nimw3q&up;QxNk~fP+=P;b`?A^iL!P11;U4587mO!Za(@n8Ff7NJ;U*Z;TDr;O=yRz9hc6b|nP;2UXMFT#%0D-K^zblqt@U*jmw8bb^< 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

j#oQSNc0fkOf$$M7naR?`$;cfV27j{H*ANM%4|0 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�XHpmjh)vo}X;^4-c;1z5Q==#-T*GEp$)>4!>+c_>274e%Gnn(&73@g_`YXZPH;Q4P=_e? z`A{J^vq`CBPk1)3i>dW<)@mlwEO(}mvEn>8S!CE+@*jhT=4s@eZRgq0?|0Q`g_&Y7 z!!SVKclOLNDR8u8NCioZLyxj3@$KtZl;r{Ix>#bD^^=%?ZC&|kvS4+vFp|vgVJRD; zC_?>scwG20&p(;Vbp}rc`08G6n}#6^HrJJ9g~#LW?|k%6|Mb`2=V?X|vKf0A2Y0;t z@YZ!u7P62$8UTr~D<@p?tY)J2xI8G3T0g9aLMsG02;9(a~vNeTh%rb=DXK;RkYUE8>9N2P&6W;G}_4U2PR zuwB;`Z?A8z;}@c>h}qZIx2MmY48o_k&t49w#Y?8_d8QU#`o(FQ-K$d_4jwu%nh%N5 zdPK{m!8Z`dXk^mE{J8>8a;YDTY7~-uI$hk*9fc9fvgC_t1N$^`nYf%U*q{V14bp)R z`ARTTl8*k+GN|uH2Fl!W%vIQ?e;$CbR%C$mU*$r#sSCU$@@KIfLGMGSkk`d@IB8ny;4!+%K)G4vnP$|&t+L~xxDO*@9B)m znDH#w9WN}7Ocj99HCZ*`;e4}C3)D>}z*1Shz(2|7l!FY=HX2K9Z$26G` zfOm6MRRqDdh4a9|;DJ@3Lc|DiY#X8w-ulfpbPnKA7-F6#Taehhki@aEFib0Io7$3w zTKXo|73(~C64bgd{07^GIHo$FzTZ(*l%*|}av4Q||88y5U`2|o{M855VH{2QkRXhn z(-JA&jAEAbF3W&M5(=a$-7KRblZD9)3 z%sA|(sc|@*Fb)iUfq{>UEs5*8SQ6oE;MjtBRtP}opo!#clCsfzus>^Rj9-=+x*^4y zz?KP~QEXg49!_YQ2j*q*&K1p7V&}wc$cMac1Xwxy(Ek$z5r(021;8#pW;(0RGfLKe zmb*%#E>#Pa8T9fMMMYpYQ=bnRdHg zQ4|Hjkmt&>t{$Qh{pULPpL2foMriV|A9|$pZFaYC7SvHrZmki^`i%Y!)=;UVz$_Y^6~z|50=lLK5;c@VH+gBOXH&&KUX*vmItE?koHt90%%Ng*3En z>!q91JpHsN3awQ!dIWk!VW+qn;FY92+1P`cTu%8YP7i3aDtpEHo#oB{e z>t3%{#Kw1i4N>&}j2ToXm$?uWwzRq~YTFo6r5uH(X-tHlIuE_;yQ5+3J9J&^qR(+0 zNK2?2TB(i$=6OMq#Hi~Uec!%JQFosV$fuqAYe$-;zJ{YH!tHva%gkn0(NTmDB3v(5 zJC{mGd!z#Y_uuHs#@Z>M>pGu8l$LhCtVaU997ZHY)#sGhT>Dy1Q%ba-<_URG&>1X> zoQB~SmYoYiz!611AmHOTx?YcB$;I4WY>Hz!9hwBK%Z$G3-R_kr*<=PGmlwK7u&FO| zhX#8$?epP{N-0ODzQgr$!{^8MAEu6BKQf=zZAI6%_KryZl3Pnzmgu|QDXH5=u87g$G?}_wVCCP)GWw zM35@t?XtdI&J_&(QXd8Ivk|MnG^%N4^& zN}~eHWH&qX9ZshPZTmzNML3_&Sk{f%680QK(b#Rmpx-M8qUZBr`*TEIuz`pZYC*QQ0 zk0V8;ZJ!8hhx7Ra(WhmhT9>tJ7Y{89DVLeKTPb^Db4CO0v86xIxsNEK)1_rZD61oh zV+RoyYdD2eQ};@sb+`Wwpa5BR#@iyR-5qgKBP;)8)073mU$%BgtRgHzD*jGDT#s?8*U>*#bkfu=Y|?Xhl5LqDkDj4PO?5kLL> zi#N5RT*o%aPSV`-?~0;8Sr-02RCjLMZt3=`pVfXgn9JF=Q@bNNV?m; zQRjQAnOWDiPcP)xl@rIhZhV@SX9tC|umDw9JxN&so0eb`cG@4O<|Gyy;1JwpRV)-Y zttkq8dH)G*+j6RJ=MRIvE5CDnx{X28TpnDji2D01pI@1Gxd zyS+1qXWNkcPdki>QIa!ugmMYZQwUU& zWHxf8hCv*_G)r>H7g21?|sB3g%aWe;!|2PV5(0VQ37 z_?R4jA3=yNX3`}DjZoWn*9PChaOFHM%zBznWQXBG^aD-gp?e)e!OytljH~r zRLE445dAOmg2})MJ-!)Mn7bR2zTdhXL2@bE41>WF!B3tm;DL` zVOiLfg+0FA-pm=uE-B-I*3}842{)Hz!I$?h&ROPjTKp1wKJIvX|AOX3YrSzCJ-t-L zR%{arWiiO&voKc}Iuse2Y-mf@cR<)J5gU+;*u?_Gr0rN2dYqT8k;o85@N{lX4tQW! z?w-X=9*u{qAE=Z6okn@RT=Dtw-Guw|VWpcBg*~WNn~B<#s2!tiAGqG$J=5at_KuH_ z@2Vw`Wf^YQHw?pIO~~ZylWrf2>&i~`3G24ua=AL%J)8aHwykb2EW1Xz8@+0B$SL1( zy}sFKn8Mt3U42v@0<}qLmUK7HOLL6!Uz(xO*2ZSq~jTW0s2{P%OCb z8?M)Plttmw(QVuC_Vxv{QF_uWvpr#1EY`4zE>S5*z<`Klo^ZKb-IN1hrVY`>&b30W zHHd(xtxFdf8>jtteZ%)})M+TaJxLijrDj(&y5@YgDYfZqY$Bt{lE&%Fy!hB$zb{FN znkm;rm(?CPRh*|0c~Q6yLF-xWf;t;y)UYfI0vINEIbZ#J)>vPH_o459;28IPhwJT) zjxjrnCjf43yIKGk0CS}?k-sLk`_7bfyEN%ac*Zm_WxH#iJ~>OX6z%ir;fa%_g1^#G zr6W{9F3ZmL`S9>wfad@wTAZMzSw`NzO@K&28T?#c*A;I!TJz4+Y&7B7vVCGN@-&f` zK>F1pUhZhGQ#rl2b(zte&t7l}j04zcXIW}FO+Zy0A&}!VnK1zG%m5Ji&kh<}6h)?Q zI+`ib$W%xYg(ux`+c)mbOgwp6WF1_NOOvj8gM!qJtYJdmTDf>7vl<@ zTSZB#qkVRlFKccKoe*g3LWVUxkD0^o%i(c0+L@^!@PHWGnGrGPd z6?L8vMTvpaa@sUQpq2M10-NtFl{Q#rBePSQBXj5y%|Ep|Lx7ju-HM_h^~&nHZC@S0 zW$ltW;Er(ECYKd$u$AW#3{>Kp0=nnZ!2-Rnr-zwlW+i?wGH$mwz#=RB4$3kQpJebY z@6B^_M$?>;{ES0X5&ioKM%{i zaiqwovW${v`@}4-@bpL-k0R3RUR}b*am2opnv!R^qZ`f-w}XY$GNO9B*}iQi02Uu` zwaJb&C@KtGbFXqZOHI0AHPlco_0$w$BHG30T<> z9uuYK^KO=b@Ztq#J1aXnipkleJfC+YN#a~(4?$Zw9gx6Q1&Zu8*L6jGYMgGt-@m)~ zOnD*){cv}*g@-k19{`+&)if99s!GsD+sO(NvTF^hK#(1%-lYVk!Gz>2e7VlMzO#@% z=FsdmEtEI>x~?el(l23&J@vejBynDHSyV10rKKXr+;w&G^(drw-`UJ9%VMK_8|j*f zg;2;xlLqEp^mL3fn$Wh=&bTZqo`q)W5XX^u;%9i=@6I9D z#FnD*$r6rh6K5VN>{?eci;#vyd(Hp7@vz5XaL1f!eGoF<3E1)rYepPM=?$~kBewsNZHgR zS7(K$Je=-Le)fEP|B5Wn@qFBIdwVx@F!pJ|tI$=n3p)E{zR$1Mo1xB`-&0xx-k8~U z%d!kz*W!A)`hF3&xvFUdvTqEHd_M2^$AA1E)_mkYfH$4dJ+%+whz;!cVyrMPGwz=s zZnOH^U;hiIhL*m+|Mpi~!{p7sPV@$wDz{H&5|w4ev&S6NG%=E(UDQ_@1yCPX_%qa` zfyFox-z>|qE~`_u*o4G(F97StGhm)qf6nuK6vuL|%U_-^0Jr&dG(1hs{fYnCoQbTT z&sS#aB&oT(@!Z#hjQ4D84Sivt2Q>_NkvmN!$6Iiv2Gi|7+qQZrUjXgv*PVOIE*GpTjW*&WG4lb|J?G|Z zfDfmH0@|`X2jUo+HMWWEk2s3mXh-@su`vkVagvLO+85q^livwRl46<$r(Yqa<*&{y z*N{%5TmOa-ewYGerehIWuco;wDeiEVL6Q{`e0dRZ0lxq=jL}y-?yAXhk*CDcYNMIur4#smkaM` z8AMsl+;y#MandyPMuoX~WSmH(9zsC!=YRR>zCnflZuBWRE~pSi#DYS>R6>U6FqES=FMm-sG;-Iarhimm>H^qzhDXU+NXTN} zwI&ukc)evw6kVI<_0I60-le%fA>>;!Z`LerssQIjiajzXBd?Cl6kXuIg_fO z3rnCtW|LQ~g;yk%6N;LJPf_v=5Dm)2jMK#D_KH3W@mA)-m-jD-V@`JazQwk!xSF_E z6V0xD`dKm0vw;i@GG(CS9hb}1^DF2pUmAU>#Wa$G{@Y*wi@5;Np*PdBC+B!ZZo*Rv zzj`XxQrec#=NTi}iaiqkw%Ol^h} z;%8sZ7Y7a|TYK*Ix6HU+ZrFBej&_@Rc75k(iYDR$j^=6dX@vevb87JM{oB#J8tsBq z!QOv&lBBp^Z|M5Y-Mk);yVI^zG^r2*VEGVq5`>w^~`9NKhexvu&TiW)nNmn4> zzwbNhAfnjrozm>)Pwwoq%(LAMbTZQC+;;}F@jNIDX}4+CG`Y}yl^!yPK1~qp5EbVP z>NKia6h+wA&1;%%C51|BT&xpjkM;h0g_1`RH6V!SaJHD+pa<*PWG_uqWJ${D;fZul zJ@3t@n5okV3%ggj!Qp3euOP;HrB=L zl)i1-_&m&wixnB{PBALtx?;58Tis!)<(Y;3#W~HI(N}A9nbbrPLx)2kbx0wPg`L%E z#6sZn8v5=K&nGEltGk++3MUjcdFp#>(kG-DO%67@zv&2e^5+@FoOEgrZrf_s=G6Oa zMj_Td-HggdO;+T0WM&y2V(V!A2s~f|R=U;lYCoGaVXouHgSC0EChC}aPChMp1+0|s zlct$9rkon>+lJDnIYnOJ@qA!4P`<8ebX^Bh7^@d>jo)P)M|}O`cbrbm(JcP2|MfqA z)#5yg(8N&}KZv@g001BWNkl1HX>eR2vM&YmgY86ODUN{Y58b@!C#Q9e3l=S`=iq?yVgdrE5*DQO_Wo|ql*pb6a3QL+TjT{5$Gki}m3|yi8?{JQv~_)= zn9%sQ<2ax>Uz~EL;!c#Fd7k}{3wCfzxVCR*VqndHnh|Mobl5r-X=n3tIbYbg7KQ6e zCUXqZ#A6r+7a=DJlhF$kv2z{r&(R%*1wwObn0!3&5`5h6ejt(tSD9m4f>U!wQB>|^ zC;FBIg4qiqU)sJbWD%+hc3DW}GTi}@zQp%@QC2p2D$S`QwWf7rI4v|vPl zcN4?bRqdj7U0ToQgGhILxVMZ$Z)kJl&6oD43T^Fo0Rk$vLkRf4|Mx#JP9v(S@&x24 zid6jfb&s_@YFmayJ=J`AZG#}tRoMY{ncozvbTYm^qde07mE&6SQofQ!GE zWpQ_yD2g1R*IBS_8^X>@CyowrXcWgL24@b7oRC7GweIA{flrKA%Q^ zphJ-w&~;rsseOGBlrHn^Ho~uNXMNXN0|zhcw{`VG$Nl@`#P31fDbl|XwGKW}^&WPR6SH~V7;jkd#WO2#hwCm7{bjbLgG(6(=!c5KWLlX1v2O-L;* zp7%iS`;>S0kyWCpGZ4_V4`ewfumV>URvH2=bYlUaiL$X417u0N?~KZiD8g#sC#+%J zccyS}MxPI1$7I<@D)x0pZu{=^w#DvM3bvWu6@gO;xn^?m!gVS7rhp~^jjOHGwtb>$ zE>=Iy-Uw_4CY4p~^!O->a5-OmP4D|oO_;qqM3IUASEn$CUG*odkuQvmP+APYPP%@U z^WR%jQ=9GiZqq^m;{p&v0GrKKnifhSM9WMPf?7ph_=GggGhELXtC16FglLd*9hPNb zI<$@9_7|!R4^BFa+^%m-${hy)0e}DZ|A@A2ac<7&&D~_47cW|_7xI$(?#Ylfdl2GY ztBKlnj=8IN zd>TttmP=Dnl16ksUoeimpw*nE39~rHX~Mcp2>WJ8;%u}lCUdrJi#*S4^H0d~0;l?f zVWhA!wZe~MLt5|N?;j{_RQkAoqN*G0JCXXw{geFdvO-ao+&dG)(c(BoW5Ho+plDBf zLL>*JEJqZ_XijHu`1Rb^Wk#NtK-m2v=K5gcEv-pipP-Ppq9}aQUI1^fR=aF6J1bMW5Mxh5e?A^wMCdsR45^Ghb~#_rb}fd!$L;p+ z>E@X^IYm+I1puj+yHgUou5ryxk z9Xux~P7aZFbeOxn`7o1{JF>Rk)I%k zvwaWd3>A4uDYMRSD5F>J)1Dy{cMU?Ylah_Lhhy$(f!Gq?$A7| zwhKF*{UX5WXPjElzWi_s<2xC~0lNh)%QTA3EE}=w?Z)Z6F`qOAr`<64zB=mUXz^U& z^Yc53vND=I&l`b@G_&G&P5#e6{qJ87wLdSmWnJ)iK9Q!RZT#)u{2i8+L(3xCF$wDIdAtO{?j!pFYV=lWs=87y6LGUW1hy3@9TpjEO`WP7%;1JG>@)kv;y8Q9SZ*~B2Bkh4) zO;N~rh)#Ha`{F6|r}~8N-@l?hHO`j=;EpB?sax>v+gBoEdoX$p8?mA|&|rW({?^j5 zvpjd_9GEbTYiB}pYS4Bq)@9=FUKUK#V1nA+59B;AtO=&4w+hK~bGAH;#Bv^37^}G; zjcM=^v?yqCEcdd+`LPPuB$7lMzuM?OAq3p6Z=@F(65Bo>xL$8i&cV^>#u)n6gRC@# z66Nr)4y0>^xU#PksKpExfMc9}IyD%_-npAP_=k~#^L^j&{o7ak^wTdaHd3San2xD^ zKCxRP2#~UKxm=N0QoGRlu4^3?65=TB&9cy8?(Oz&7gOZAjJAE)w94E%rjclUlGtS9 zNwh9WUWzB~>uH{_Z5!J5iSy;c=}KNA%MVNHeW$%bOLE0EiVz9Ky3Sl>-FaR?6=M?calXr8DH!<*@HM zoGfuZj$?fP_LcUuMqygl)$Phv&`Cp7*R@kj)R+w8zy{e0HcesLwsjG_7b})G0#KU} zfw?NMM&oh6voMZhT(38@Pc~b6M#|mjx)w>C;Cj7b9C-(vnlp=wp|^tP$LFAii~1{& zqGir~M@s+4p9QH0Z} zc95dTIWbyh8X-s@CK^VZ$m}A;<$66p#x$jst9@SyjgurXYkaz%bzKKp;L1@?-$fb~ z>BZF8=*-ghi)<$;~gSL~JtRhuiHa;Ws(`o4F2ew~kMED>`}$vsSI&f4!n zj?1DlvkV5s0tDq=>4)2PB%1eKhh<%y?u#fg`Y?<+as;HxGXIq!AS7JPiYPalB9$fY zhpubM7O^!oF9audD}2+GsJJM2`_4pjekY!Nuhgo#s%?U11#}d>1WQJKU+8;ldRY`D z;^d$P5+vl`ttp65vZ-~Z=7 zer=x*Iy`NwPbQXmBt=I^QR(?17|DF-?7Bc^%r zg{=@aPGTZIFp2i@=dSDO^o?bnac(ZiZ1k!FP=)<&$eo@6Q@DAUg|IuyDpW_dW+5<8 zaocvZE%hs#<7gwB~68rc;#^% zJ11X<)491E&Q)2CX=Z-Lsiy16?e>N!f>Zj0%8HLpy-$o&U8C!s&cXfDFMslcP@#Hs z+nCLoQQDRmt_w1b@oxOgyeNLKC=}|52zcB-al5^tw}3;1b8g#e0yXNMPW8#@ABkC1 zp6b&N0ZFpFz8Z~EnFX&@i*XvQnJm5NY|a`q-l!B{q7CV z+uIi+r6w)};6iuUrMRxEn@p(S*VIH{jHXR0;wYx)9xjT)4I${<72|w9`#DxwE>cxh zE<~0FEYDd?-L7x0A-P;{)Q4D+ux+IHOfyB{gM~&4VT_{4tR)v9kp9*_pSa!LSnOK5 zv6|I&ncWRYQ?=JMFOW(Fv*?TM^XYoObz#QL>%Ld>AsvC%F+rYyVd&5_%@5O+ZQC%8 zBdG?{Xmm+l#ClJ`bW^WX;@3v=`M8_w4e83_tDQS*qR>S-EG zYrs%mHDP7J%#aXvM~dT^VT$Xz;^&`#L6Mit{4q+%_wQd>jGDekQ;0O<-F`JnY1fi& zx*Kh62i>cB6RXR@lmNiujg*qOBbzRfkG}djJPso>Khng{(`Di0k($cP={zdH{5jcs z5~vd!N4nk0`Mo8Yq~7IgLqAWXERx4g%qVeOi4XTh;NEuXC(|^?q}24qA^;2&tjfw6EMi|shoG8FlL78c zTCg|G8EKMX-8Urm*{B66+?YUz{LXW8#;x}pP#gdRYN4iZ5;S#RCE9^s=%56#kG+~^~yQcbBo zL*KPdv!Y;C&Cujjv{yGaIXLO>YdTS%PVRK2cd48SA!f?qP(d!*AE#TH3$CTZ+SZNh z-kSHp5}|WzzS1l=r>RdOvX)J;Zz~?p2LTkb2`$SC-@g8Vum?M%I^;!eYlFZ;VR|M7 zZwV}r)v(US*_z$j*3MvvulBtr8`tX%&&R`&cYxFLb){u)mSuQ8nB1;{RsRIQ5y?dj zhNyE%;&;u^_Y^7*r2Fn6xYkPahIN@SPqT#ycBTion%M~~Xf!c*v>5A)^PDt8Q5+j+ zwAsEK9DIl(7zJab8Ot=%7S#$U8ExzvsZT8E7ZhbhbXU_bqXNfq;^q-?9DDO1fNL>l zBu(Aa>~7{XR#@;@XLKCpX2dp~*|yd6n6YaamD`o)1vLjrOd6J1w=;7jGf>dX2Syq$ zNK+NIjg5ru6%~OpT}k4^sWJ?@Jxmj(kxogOO(Fr91$T~R8ZnKNpO1BQa^o2_K+=i? z>k8vIMv-M0$BE*2Yh?C)!#vH1jaDXVoN9q_82pTtk%8O*MP*u-#V08t1l&JA*OeYHI(Y@WnEEPAuVuE4R~Zz?Y?VWqr>xz^`5}`c^Yv#HQ2V@oW{ufp*9Zax|Wu| zadJ4*dgGZQir}AeZD$4u0?*cMWoC$gQWxtR_!U`gqZ(0D+HssP^sR$O zuhaNfqmq4FalPEoKA#S(?^btGkH>rxQoCknAw*G(IpG!!&%)9^hat*URb#O9 za&gO(G((oA=(?vl3+(=XDsF_5CTYgdKoc6OaVm<^L)HRFB~zfBP&rKl#Lpjw9_0&V zW;1I%6{Me^pN{mfFi!oV)yu98wb$pZD%$U*2@}KBEcGUIt}9yEDqZtbpD;}$X1i!! z5r9|Gch|P~)1UqZU;p@no7onTF15_uCZZ@Z=Q9e0@|QzBiXylEE6dVsJQYZ{S%N63 zO`>uE%-WEX)aw*OeCNVw4f8x>T{otQgJD_vE-FCIm#dHB<=8;qeI?@BM%$GVPa2Ib z1tG%RfELOV%z-7((6tZGF#!US^w264MPVU7i5H`!QSmaVZ2BRNJ}qo>q-o;Kok9|m zBtiSU+eD9lzN}96vp44j$1x9Dx#@^oDkm}(*19;fPx8FLtCim}PtI$Xlau(oRmH%+ z*W#F*<;f5}TAUsx3Gkw^eLl$fon}k@WucU3g}c$!)d~0e2jV0(IwYT^p5yazcWXc| zQib-}R7scUVMfrKXM5uGrC)ye8#K+?M)aIcG);rLs_}f@y;#s^r_Kv6v=y$yWi~38 z?aR@o0Q!5PwFxP2pHEz_S5m7Y77i*f+vmfJuLF_hB}?>;#T-SOM8SK@{viEj!tL!H z!SYcCYxd&!$kYJfXQ+hCN<`bM^_QCNa`(s1SQR?ue}+FN=~nHRN{ia<@Dg?VDhu{8K|};j%2K zPbY|4tMfrFRXQI47KZW5bJAWBm7%I@bL7ciQ0&Dx+M7=&@}jW&XK+o90!C$ZD&apx z*T)(cBHFdBeQx-KhdPJEiU1Sa8}&(`80jE#0h6X`^QqppZTR^9jlpI{*%i$*vD_@u zkNJ1EeYY&1z^S0wn<^kr^cK42@LbjXM!I6|bfwAwyt1qege;9ZM4`XjtAq&8ma&rO z1@?^@B-GvHR^-hDxa>ZgrxCq}*8ar*ZZyrZEM3bWz?3?^0TF=B0LDE8&!-5xsL&Kd zXO^X*yHW`G(0A@mDS`TG8jfM;oW{BsMSNK%*P{lrEw0VteBXnk^7?yx?iGrn!n`g{ z#S1(4x+YEt0dbO=1+E$0AQ+&@x??twNN4&%kFq^)`-kG|7G+sDs3Wb$WPAJhd_Z>c zA&{Q-YGx2cbZVNH$=7w36CewLw619!48-egf=zT@)Z5hP)U{>b0MbXu`v0Ky2Qz6A z$QS~h%hngyD*_QYmU$#C(!gq_r^iT4vl9Tb`!%f-fIQET*x8(BxfT7XgG6bX@~*LF zOn`~t0-X@=+1bi5W* zAj+HK@~{8;mtODT zY@W{IX6G3Znh*j`r!&sy3x5CYuk1vPTPUu2ZkOA(Z456f5A;^zMY`~u>PaLS zMJ#T6vqKE~j_c)$uJ2KlCBA01aS_Q3J?fqdKe4-@Hg#fN3%~-IGJdY{hBt4D=urBn;8$Qum;+Pa& zz;Z1tuuEA-ddHd$PL@1hR+V$_DI{iNB!McTgTv0r#b8a-=DGw;<(05p)wP`?M+2dx zc}?827gGz-j<j?&}1_Xu>d}7LMlho1HZQEEJnE-z=8t|!Rrc!Mt6hq(p zbd#Tfg(QntBFR-*AA8l-rV!B(9o+ZQnqWCE?IA)G1)o4jtSfga=7?needIVaFNaYK zCpxm^W`S9lz3yVPqje_zQ~MqubD-~97yafw1&iFK_%%;zdC`D`K-a;p>)doJAO^$d+CBS}IQ=d*Ju01=OG$q*gI<)|@ z001BWNkl z+Zt2x&d3Jov24mWetkWJIrBHR2>)rCT?c!Al9 zz$l6^O|xGdLP1x%jj z?snrGXmbHrP0XI#s4iGBq{~|ei9W9c&+E22q9$~ozTm4JvB=(^5} zYjLBMJ0ORzG|N1xSt*%yRa0!Ak#o3*-JPrSy{o$RrqEL|?KuMQLrsXUQtykru#THa zv)lfXHIg2d(EJ&&&3Xi*0YXYvB(Z|i*Z|~3fiz7lv00NnruZgFf^nR%Z;KZaRn3E# z>mzsS(ersXJp@t4*s>=2p~vI#>DF^mELzne%1V;dzegM=Xif}`Tg;BJGI4wWoa!U` zV_h9+P!z`qW~*19PF}>z8Zm%ty{b;6eMAuu#i+`XnGk?CFbW`2(|b5xl+Y+UHvyv4 zs7wegU5$!%IW{2#Z%p@X^`=bWl$uV)aqNvysigGsxG>^4@g`YD6UOCYA_h(!Udf+wb2>rny#J2@g9N$2ybuiNG(knAa7e-X6Y<8JA?OaMccNdw^#_~ zIP`88nWU*Z`bf+3{o7ak{ontiHB5`?g?j8eGjO`D!)_N(b3S9+HaZ5{Ib7Sb*Hj2N z5c_EqB1|8D70Acbe0OA4{N`zz5Fwyx&gi=q^St1vFF&~ngX;j(6r}}6%0-BJpu!P% zHD9`qcB6@jeyNFwbaa|@>Ab#PuK4);Zqu06i-fRmp1ZOv3#zI-)~}(*0;Kf5oc3lK zM7m*F=FYZZU3j)gA1L5RD6oLO(o(z$x}4GXEtAj<5KNK;5rPM%P8Mz$Lcr(e2N+g1 z`ji2PaK2nP{fWpEFN)HrI7d>stkeTL0Xt(-3dZ#qJ5VGF3qhwt2w#+D@BvE#UkDENmfga8OcuUe z%XEPx^{6(DVwy1pocSGcBeI4$iIJF|^yi;`_Iq|125%@du@wNPdz@JhtNri0t%JpF zhG8I3tov(SF^?nSBt?B{aI!TaYx*)TFqu_<6q5ylI6{%8(lq3bGX~2CeJcAzRB~#v@Xiai+$oK zZRECY);N&jR#o-OIX?KlSFJ^=7a%I3%!t$gX}{|HZJ!U^-rl_t?b_BRioKur%eo-> z_ka7hU&nFqk-36(NDT?qRg{9$GGg@<9l zx=dJ>8UOGP{{wlJvrydm^2)NrG|xWq&_#5-T=Hn;zEq!1Xe>-n|7a2H`|jLt*_|RV zn_!tIraYc6E~14M>A4-CnpmvMjKVI#*I-1^sAQvgaJCmDY4$_mOA*zKB#|>g=EeUs z4L>w-aU458QfRq~LM4nV;ayxmeP;=3#r;f7AE5=tLg_%?MNd;2rW~w-eUIDq=6aZY z-%*?60XgfVH;pV*=$0hk=T}O~t2kSn|5wx|1fu#%JtsA#J$_zF`&gxIinmAy8W@^$ zdMONFC|5QWVbe&lp)8vb$=^Q3zENalU zt!e*g+DOXYj4xk)c50oFh{1xIrg1=hI%DXW^+FNZ?kJpo);RR8aR6lD3r8&!1jYT^ zJ6f0-HBN$ArNz@zeK$%{?#+_Iht!bDWhAvC_S@I5D9h3+n=HVRr{Rb{_X!I_xi85TDM>SoL+8j_-?i=} zMzpcQ`FzG~&EjHoAx&Nd2z2ceN(&zP!NsZ}?D+QWD}p)CY44?JY8euTMJe5=j>2Af zE~Ko{?p4lznpCj(&JDRO{M<@RXnD{@bI)brXQ1d>x{v$)(}bv#zbE<1%i35JFBm^r zIXZgwN`(*B$aigvpMLsCT5q|zrRcl|*lexqO6NbLj7m?HB`OrOIEk3_jLH_=2@6TGsj{1Q%#wiR1} zCU-AbvnC{)4thBrkGnGn)Tj=9hd5y)Cfc6%teU)FfnPj>Pd3qIGgX)-voefhjyAH>~TCZB!ZXf}l`2(uoBSR0ga~(}<$1pnyhc z4QMm{hH<1VZ;_WyP2IK)(>Nh7aszd^mNV1%P>jF*kfoI8xlQL*n`)5qw1>?S$n7(l zQG-|%<2Y~$&77XaDfDuP>kZ{bfEx;BMUH*jZF0657@XN%Oi?$BMw|Y? zlCZ6b6aX|^v#$bl-8N1w>^X~GNArQyC&`KZ`L=5z9mnhBpAGYFG;kTs#Fk^S*tC!I zztoxtHKf47WKg4Vy}e;wS2pfp!%ts+1`ydhVD62kzJ1pkJ7sdvX5V+xht|cYy$O;e zM*DoCIq_NaeTyWH41DA}rXFYY8ez2wOp@m44ETy;f=A1;`1!zklv#Rg=%_nkW6rvV zcQ)4#X`!)+y?JiSaE9hiB|#}`>O!DKqdqm99Gdc<~zNpIObqRtst~uBj#*MOov1|1dWOb1m67>_*MV ztvh|?AT?j-sgCe$4r3)-(ylmSxC`(!xFiilTBy4^c+4tnl9m z;G{^L-?FOkFxr*$267xZCQLSgw9hE|fF=TZUm*nBgQJC6PJaH2GL&VRXH+P6rtMmH z2vpJdsvFa@-?r63pKYf#WL4H~9I;sOtPy`~phJ-tcs}oD>~TZaJv}L$Hrv6ev7%>c ztuKZe$8qcl^{)Y+uMNMf)RQ>E{qvLD{fXbXYg?QzS8rx?w#$CE>zWom{0fSoa zq#|WXfUi+ln!Or3X&J_0a9W=V+>h_y47udlC$aw9?H%90f5YeJ2LXXR$GJIsFskTy z1eP|-QR2C)W+gFgM^#op9NUy|w}On#iHtH-knG!r!6v9hmSeW{CM$GULz9^C2k9cm zeK8C@ZPjy%-zjh&tw3Y(x~(gnc+3od=j--E{lV|T43#`D5XGbt(+Zhc1NEuKx~xu* zDUJ502^y!Pq>|{F1klocUN|+`*9B3MkSSu55?RE?ag5BuDtX>>I;=^t?C2Nc()WD_ z?7<6e74DHWe$207Q(>4LX~qnkeDy{@O3hq>`jeS- z=7gFQW@0HURE=$Ibj`^b4*RxQu^-tal1&C8O$rjvmP(Qg^ECMRC{{&k_m9kDqWGvU zV!MX`U^Jr?3n$FW`a{%(gWgd9GnaUuCvk#xBM43aaB=pG^7K@nF2;ON-5AHT zBQLD>%FOB)FOv{8(zR(z<=#0C18&zFhM_}M)p$HU9sEer6v;pR)BpZe0VpbTb*a)> z;+SB_LQzOHEdz#T_by_Le46+4sYC&pv>o-N!=aSWQz9O*~#h z!GbMp=`CE06Mpn!*CzV%{snsgo{vv@r<-_E#fx~R6f{x@JWZ3Qwx8+~9*<8$54Qus zGD}{7R;pQ^kc{IFmpSn5nrxGsykBB+3fq6p(SAxRSpn;MP&v>XkGJ?|`Ks(6wf)G$p) z)U3b?Y`vels@*+C&Lr+K@q+041rKI=bd0kjT$it!H2#>eQKx& zG8@NbrKtj~X}QjazVq>Yo|87P%#+boI7%0{GKvzTQ?RjCvzz5gtgaCP46&wYPJ%pf zQir}HYGS`THA<4e0BMRI_d73ZZ;&@{WQL*leZ3h9C(*p4zP8Skm9v-!epl|0kriUM|}JG2lk!sFwaRFA=Tut+10d5 z<99lf5yIZ1^`u6;r_TgT}t=Hy37~{>UY}b z)9J8EY8N^m*|9uMSs?hR^^BzW9EeY&Yb}!E%RovDROLphQ!@;A==Cghf{%Ro+!MJXvoksXLHajtR7%(wi#`9P{8w~ z@WRFKUY!AYhb)wHVs0^YG1AEC-@Ven$8kgipf;Au&~c(KcdvP#Azkt~GO$_ak$~hM zlg%~7<21Q_KHLHwc$qTIG>bvt{jw}GY1(m&C{8d>3_hjR?2gV12zHxDi5e?9S^(Fg z^5mRlViRPY2fXtZbI2Un7!Z25>66|409I+jHr_w0Szs4NFW=-Ynuw|%FbpHs)eHz; zSS?8sQy8BSVCU34N0w&pc&O(sI&Tz3xLmG$-*yL612f?9_{6r6MmqGpe+D^f_7*s+ z>27^GVX=I>Wm(+pMRxch1O^dmtdYMQdaniW(04f14f?)kVfA9U%2;;_jS@q-UiApt zcoLC|zR{U$2LeZfnz(R5+X&teE~2a(9p)hbt zPvo?&S9+5BESq3b1^jHB%qWUHgo{pLyc}xtl~y;c>6Yv%FXt54W zV1jFYRujVM06n;vMh|!CaU$ z9`4M#m>DcgA>Y;or@Han7WTIs9ZEw%d)M6#HLl<55=mJ+;YCntE-$v}^_ z&7$&XnsG9_ad-Pji0JAJkOoInpb&ytE|Z#es!u>f?T9E%T6aRd<=E6TXA05{3=l1D zoQOufy?;T|oUvM=9RPZ_Tey>&%s4rw)=?b005LJ%f76^DWz)Xh*3D9sSNj>%o;@B9 z*QiZKNx_Q-VOr*4b-v=HdBR8|#3)y(!X&r75!DX)9j*%S}PRkwYlW<%#I0`~yV8BR2( zX~eowU#A?TWuDPA47b%JQ~`i;y6T4xadc#7sd$VKd_T{&rzh#YxS|#3ll91OQj5zSaIX#(uPiZ}+R>b8+ z;ToQG+kBrzQH<{SL{YLq5Zzq&TV}ag0LZ$q^SEiw$g&J=`}EJO&^OVB#lG0=z3khD z(Zs+iyz?SQ8q=a(G`bK-f2Zazx15mF?}*K`t73_q>a&A5q;91?U6u8}MCUNDKp=$f z`L=x$)UsRFhjBPTx+=HC5mkDNQE|*|WkYVZlt3np49)W=)$6972Ev z`jtLKmC+4NI--M)4H!LmL6(Z8yEv5x<}YV;lxM#}fwx zlQeZlylvk-yXL=ZBjud6?~HTMbbPd05rK_VW^AR)^=jV{zK4?6-}}%1=bwH>B!tws z;f9u{rj-C9b3(`+NhNna$F>L5b>$pm09O3$UQFeAj=G}Px@Z^ThsH^Qi&1SfF`(_( z?hYrsqza<|kh7dyoV=Jx@tY;3gI`6rg@x;tW#t@Ta_3r~x~Mr4ZG(qt<)b$h_Hj%{6K$5qozs`Hsz_BD2Rxq- zoG(|j&$~B20Gy``+w@v^!MLKkc~NgK84|D48eMc*mO6zbgx%3bC1r}QD+iX_^#+N@ zHObL46f&+b%3wMiH9D8`1@lXok4yv(tql3BOI%qVhD66WrX{CXpD~UT)K%pa!lJ1BcPR94HI!}NHfD+h+WLh+)Iv?P zXe?j9{_g9Q6O+OxVWhMqNK>w5PE&Z;eSCbgr1HZ)Tj|R}v!-!$K%hCD@qFIVG-s#h z=#uHp!AC{5#MeSGq)7_l5G1QvSALNGF5gjnjLnB0jk%beUJ|;6v^A#-ryt2a<;66I8I&2t6;idQw~IQusNL?Y8yagFN$Noj0&Sy9P|qo ze^phZH{sy2uIBh8i{AT}AKq^fE>A9v3aVh%@pP}fXnb5JPY0MIg% zqJb#F?fQnVUw=1h(dhXrnmCE-7)6|R3;fVITa=Zb-73b^l#7<21Nn8jdTJVK2rVB& z=)BHO7R|F4Kuo5;9!0yMo7+ZrC2yz}=G9zpZ%AUIbkj8A=U@J0?{n};stO~0MyDIh zGp;u_)91?tm-E$~bvW%G(3~&SHr~DC?`{GJ#5WR16sU0Zf69Ef}!$<~5EZlvVA`MI0xdb*1TvCY?!=;Qjq4Y}-m> zk~68F+qNM#%EY>^$PCDlZlN}lg4L+mQ4|sB-RP1f3X14VUDu+nYXn21mt{rM@R{s8 z9UTb@t^O=jw6Qp&K5-leByo)0N->F^chf(NLy!8@*t*`3Wrfp4UTYT>ibYXUUlJ!+ z*O|?&70T49zze`MO%d#TPc6GblPig%wO88bgH+i#vgrpA=2LTW3KYVQb8~TkCeL%+ zKR?|)P1+U}w<>@1&{Y+7^odc1G}Q+a2uS-Kb108WI&{g=HG?cs!8A5$SN!*O-xy zZ1|%ncG{3=TB^O4d9s2!@~}|>nQCMNnh^*ziYegq#ISEDtJ;8cHpR<45wzSkBpEe5 z0G+d>E!Mt{0Gv*ACEKh%DXR*@Ft`im9s=fh!M=)mx*=F?y)KJ=zZnQXoLI=R{eJ1# zR&$P2K24s{Oer_bW8Zg(Bksq;k!^KN)3(u|No*Zy4RsfhdQLrZV+Is?o+J5>fB&~% z*X;<#f}H2tY=pd@r%s`^eE zkDd)x)#zND$k%{0K6Dle-@ko@Joi;pX=0(&?4j>)yM4jq{y{PM&>sil3td1ompD#b z_`R+x#&Ps;nmCSeyUD6GGB=gp?I2$dH8lpg`CK>VxFsEi&<1haIXPiL(llr1D(3}9 z`x4g+WkqDcVatjy?_Z2+M(fculP`4s19wy+ta&+7SQn{ z!9PE~JMuJ7qbJwaRf8l=fI#<{>*YqVr=f$(%-}!QH5lTRzFa2CTdB>7t0*gPve$J* zKlHd=-!P7cn^f0zrU6P#=W}?wOJgGOa1>F9PiL(XeMk2c7ELEeKagel4`Sq^EM3r7 z6a@qNLa+jq?@wA3?K!!eX>u!L0;ikWMH|P7H%s%pn9&Bu_|ps3$|*|QhA2L4gJtwl zRW%;>PmI>IiaI7|9P#2s*_HjR=wW@|x<*CoVCXxDN;8{-R8dw)(hPCTb+zvS&6x$v zWNY_i!H+!8IfaxZEole*a{$bPp5_$@FCthwZz6CSqBBUEGYYiH1s4TjSth#^_{@I) z{Wmt@hAytlioD3JpgO**&Lc$9Q1nN5rZwuW#W9M7=Po3Po2qd76=UBvra>2_XHMyU zDT)%Zvj(V*8HRy@q+v%enr0MnZ}feKD1vABBzDHAU@A))Zov0=)9|y*%VLFbhBRZ* z(zdPHqK{6Y0!XpmEyS{_YdoJ%Qlj<^eb@UsaejQvY1QR=V`hb&H%cp`=l}p907*na zRMLzQG}y5RSXRP8ua@>;+c(!jkkT0W`7BD#`}Xsx)3AlpyJzXyNokPT6IRs!ZmVurL!)=32c@w+i5B-F+VbV#6TDHuSpAV(c3?KJT zKyFTvS=pwCdta94h~fyVg*whgpV~Ge)@@5o6|K#=_Oqfiz-7X0g>7v0NNwgeadZTS zCRS63v7)*q1R8O$uApX3Q?|vln4IPv6Y$-b4?1h(II-N4>Sc}WxZZB=*d^*Wv^05zEtjU>4QiIQ z6-mN+iea6lQL<WY9%Vq;ed7o}(Y0PsVvaGA;^NF8+`UQ{s2c~Jn<#M&0lh`Ms zMOktRY?l1%I-8kGK=S8*`R899O^uZ1oj4-+_V$kU`6LacC^_<4Hxf7BFbRH2yrZ)E_rm~=a<#V3v0gM6|ygj zV;&|7H;iKP`18DYaZ@@t!qOT5cnK`zfjEwX^Q!3Kw=b6RK}-Urg-Fgyh0pzl11KxM=}I#vM(~VGCgQ-L)+@xAFBZ=L?2$u*2`rk!aJe z>x$Lrb3!T2kUX6h|8)2 zIEtcUboerL(%5KTyLmc{a?xTf%)JXQ-E;AqxUh1Fj|~&2oq~ zCvmk#wk*1Xqq>+5^vrz13&-# zCyWyj?Ao#~hQ7nOxnPjPRL*RWLh0N#P2og`G&C4BN(k^Yjz*Ded}@^!#mi(BZmSrq zxYhU6J5qx;Pa}q*M{_>YD%0o;DhgJcNNVq?`RLjwDO$EhW^? z-qCeWItGbmxE*QKD*h6iwyFr(_uUa~olA*L4p+13)SmG3Ydy>oa+|89Sw{M#jm%lZ zl|OtAI_qpWH7Ec3oV-4W>Cokrf> z6q@g7O&rg^2S?4{-@l+AdLZmj^7^)I*zCN@vdpzL`TtMVn=VI^X2+o(dqhSq0IGVp zJ=Zl|n;DWK#rq!pu-7D#(_IB1Gh<)$!`)Ay$4sVCYq|=^jQGBDe9a{T`T`Q{`>r8z zjpxMRr=L}_Yly@p_rW-=Yg^gTwXPe6u8*@LO&O5Gfpw2Wvqb}`8KZS&B(w`t!z-8P zNYW(q@zY3#vhO;|(X^;|+011!o+rx10qBfW_fDE3FH009QR8!a!Mx64G`Cuz@7QH# zc5Kr*XlYZDxXr#m0?@>+vw*2|OvZ9zqk$9x0actcmaJM*$Ym5*XPtY?ac)hcnaLxa z(eIuUK(~FPyk1OzJ2^Zc?_!iwDH0qbJdPt?US8EI&i47bZUkEP0+%?CrFkKy0_ue+ zVPD_<^OMiBmJNDxrjW`HeHTB2?+z~U70SHCG_gUR3!swL#(|O6P-39ujO#MdGYZI~ zoZ|RTA^=lfB6&Uw0q3iJUf(f~`#pXh%eOXt_a5B$oxT(+GyueWMoIPwNyh4k=i?q; z)$`>NjGV!lRWrmm4&hr%(-b?7&YJ-@}A#*+!Z&esWW3SfMzL7S_J zg5^*&87E<=S+p6>3nR=%>B`UR~SvJY~Vk6yWS=JKFhJ7B(JjK@CcTb!zSE2cvBr|DT?9T^v z(eq^VjuNM)Ibl(Ph(GJ5sqql4Tvio^VZg`xPuyN!BTdT7z`iXAZSlYV z_y5l!ezy;zh`<522s5sd<#kDdkT)_uuna1C-x%fkY&Zw@ z2z8*WQqr>XHBdpy&W?EN*OyoP{P{x?M=n>E>t%V4+w~U6Zm(EO8}CNt*~fsjEU~nt zX%>sH+oA3MvD9jwMm(O6Kq>RQpu|Cj`E^;MxXDB6*K_gn;{)f*1s8!TkNX|h>y>Bt zve2iIFn|5_@}fa@iDbfY7|_crbrc0=Vq+d5CF6Tbl+Gxb_2Ri0F(e5d_dDA2Ids;* z9!sR@dNNJ~h3uVb-4}hp@ivcz>67zvz85md^T85DzAJ#pJ>l#j0$tu zafDo$Niq0zcoSLv+DP6w&m*>#iAQ^PPEHmo* zgtDlxC&znck5HCTe%|#R{T6kF1e|B)c}CNoV#wT9u~GYmUGD;cjSN}FM6p`Fsd*k_ zK3T;$?YgfRKB5xbbwQq&y#M5Ze0h1pIE~RFzv?r!Uybp?Tz0cGlYfNo4&Uu612dF#G z5vbrhoAv{OWDXPQJD%Zfd&ZC7f5Xe`8`=MXK>Xu=kGr%9_G63imqzS)_V54xZ@)T; zh!UX*a5i|TAB9NewPTOTTjQeZ=aP#%gV84Kk&yV{Dhz4aW zHfztp6rImklzP!E>q-(vrx~#v$C1OfE|o$WQ%kL^@wKrS+QfG)6xJ77;+E$H>Z%Uu z+pYo9vXI;D6~F!MzankI7t>)V-(p!QWr(vja+*d=iVyUqK{>>xOHAlVRWTJSOR;V{ z@+?)t)1k-o05#8ZG_M-X<)J$RNU`s0piH~c$zI>SsXu_1=czr5y*d0tNqRKvQipiP zI8Ja0kP)`SKf@jXCd-`SpfBv4AC_nJ|`GIAgaKC>d%hD*F%N!`p!nysG-{qFyxdqu_PF2U^I>PkN%D_F;^gnoNl5du$XHBP zZC39IK$EH$JrDiU#NtdZIK`LY%?RM(&pRX)UP^s$%?@EnY2bJJcrUaONphffxzlw< z`96+8-&*(A*Kb_H)oC&ggUq*!0!$dOY;X!m3P*uD)sRxeA%a!f^Esq1EaJ=Xc-)bt zTp|IQ0(4W1=UGRDTAS=AgF{{k;s9|?ukslKM?lTqzZ7jZAA3s{F-in~>yQjFi0KhaV3uY;lH&gP0YoZUqu_-eNK$;f|5O1a zFiip!69P#-E7oPkILZgKuGn^<@1G$boR>8KlCFDv0TwyeQYw|{x#5{VYd$6jm+L;} zeBpEEq412a{b05yxKy~3^wNx;&-x>fB|Fj#lQiVg^lhFoj=hu?r2=UdEiWe}W9iTN zmw)-|uhfWBADASFW@giJRar%DFjED5IjE>lvZm|h8cn)f<%azC7*%Kr zlW5TC)WUIudBH4Y>$cZ*miBE8O4O)7B{;n77+)yVLkk>WL;GQLw@kuFW8Ivhz{Lvz zS)ERFC#bs}nL3hY9I_KptfNpcr@{C;*>|UJA%4DnTXDWzgNZOTZ}X;yBGaX&-`9l~ zVk@bQpP}ygWExd04@Z2WqkgmOXpi;~^~*1RhcrpU&;$+JmUOHOmoi5dd&s77^r?%> z8u49Ti5C0LjBO{j(a^}}ch!&&Bq$0kD(f1^w{`XQ2jrRmj$`4S)JAPxwuh#^JARMr z%kvzK4v(X^WYu?Zk6shNk;w_F zy3qlvZj3BLb2`TY;la>_jcJ<6uTY09F-;SE`}RF_?qT}X=hifb?}evMWq|n z+d^t*-xP;~f(V+l&pxLd25`N-@OzU4kSya7g5l(-N+BJl?fqv=;}jsrI1c~0voX=gijR*EHcD@M zn9H5sxa}LVjPJJ3kR(a*eDWRZx<^P=8Phoh1G?>8L{fbQW>nHF!!BRm21xdl>YU`C zXC`#tCF#=p!=+{sV>-f~0PER{vJ%5VIeDJtm`0w3l>Kl(q@n@HQi5)q(!j`Y5v0qD z9H*xJLj?Z5?>IGW%oNw_jVg+5k5o2;VF4s0jI*}{{U{%tV)?ZiBZhHFf&E$fKbrzu zEU)dJcZ}-IfTT9v^GVsQ24@3>5k$1EOuULEi*t?#R37;ZRxq2e%(Ir1Nns95X0p`l zxC1l1|NI%?s$1lpaFu9*GrMgcW0IxVRx+Di_duE`v}T^7>^c*09`dj>VcFn%ba`z8 zx@!d}EqWd|J#UEy{7iue?x``mkY;JH6HPXLcRJZS+k&}IBo?U`kquXpqSo1BqzCyUN5&-41FKkebe{W$yw@Q#4;j+C7-ef#e+&N_P{8K znG478@ue=}1>IxdMhtkQ*PfWB3E#i{64HZcDBfv8Ly}OEQ8(Ck@Ip@#3^HJD`yS7Q zJqKP|e98GaJIR}1(|3EOshX@#5t6;3@9_HiCJpwE_IwGsOMAY+o)~^#c}QszWygC6 z7>7=h2b$hJbTF}^IW7RCI(iOIj7@a8Q2sPMmZWK9Gr1Fgs;Xgu;J`$Ty4GU5Q$Dt9 z2=}v9s2QA5p0gGq>(%$ToEF6(8e#L$=1vi#(%tic>-81~2lL;rA?E-<6i?_ob*g1( zO8tzdX@W!3nkX&mhE2x5by;w|y(l8J3pOtN7&3p74NRlqmy(-Qi${43Uds{@qHI&u z0Sxvjgr8^VsYlf?$Yq^HnGxC9_i^D-*5c-BmY!y5D!nwd%>KMzUf=NZ#}A}3IXjw> zEy0ZrT|TQm=+||@G>v%s_Dgt&ih^>vb=@?G?b5@N0kW}n9I45*LEHR?bT52D<6i|(JIC?ZbQ z->D_1nHU_u7dGP;Vn7`}ux%@xqF2eEVfoI`Gd=2bYV}?vjF+8fIO_ECld?S{m}E1{ zD5TwYguI!HjtU`D{Y>g1DDn)$IEIvorEf(HYnh^V(irJOHC-}R`Q z8ph>zNdyTvrMgE}Evf~Uc|@(Hg3`Se?fDY&HiL#_-G=a^y}f;toV3REa>Z}I{WtO~ zjWc~z*NxLfhrWyFjqhm{=e@&GF4r3}Eu+|XT(391+IvXMPNx&nOi{u`fx0vDJ z`*OX)T|;IcR!N+EwzBNf%XS`K0;(g{Nc(HgmjEaCeM7GJV88pzLK*Y6&N#JK4ZIba z(+N&ya2Lozy_N77e`~_zFdPacHXJVoTEuZQIJso*afmZRrrLL%mq7 z^d(-PUH6FiuW9Tf8tifZK$e$Gl2M~~mgjgr@8Jdc+9mP+^M^FUWtgP)jV$mNfa z#?FU!l5j9KqT;k2o2k7CCuxeyEKq9{-*zuekjU#gZim7*uD4_ReZh0N;c zclcs<{IYns;Hz!Vf$$qO`I>~|LaJT4+t=%jdcXCER;Db5G_0HH&*!teAkP@0GnwXy z_#WsUr2$F&j7Q2A2XYSp&Z@Rv+gaK^7(UgATD}J$>N!Edowko%&+F} zvWNUb6Aq?n#x(K*s45QQRaJ>as8ClGo=;_)kE0|I(qtATnHeqKTp*|L%eV!dY)&1| zq8Cu>X7~N*8~I~&B|AnMnbLtIF3Kb^n!-MszI*alN{?9RMrCD|wOB8GI<;(8pC>dz zJKWFW;n&_JOPeg?qek>t63U83;>}I;`W?MIdw@){JXjQ`esQ>{<8p4AQ+%hqkmiUj zggqt2`VDp9l9dRCSF+OqL_BCtaFO*ct|!^XyHi#H6{rkiQ>+5eFyOFUR7( zA&_~9HSC@b$uN#^fxIYV&~^yLu5bgIjtewR6OsTwqnGnF&VX^~(RYVDfdeKJn2wY@ zGDR->$}*Z5-@g5VuIrRvU*h|>?=%fAYcSCKv*uts&05*l!6dXpM4F z)%Sf!WBnNhfb|88;ZR7krzMG&AMX3EWo?yDq6qf(`M7KNNWvVx?ew4c+4J*f79o=i zblcWQRWhsVLGR=J9m_Il(C71WYFj<4WbEygxm{oIpa187v!Pjjma?kEhEa0q!b-D) zmel1Mwl)ovwIWT;q;}5-m;Zg!`RFaaikI-2pGH)*JX-4(2{}{%ka2r^`;JvI%4MDu+_B(%xdyldK>Zvg*+nfw29TPD zi;-LE9V<@R<^iag;oF45Z`;b^I)KRf$P~|c9I=BE$UM){KRYF0?Ex5BW}Bu-4A4hv zScNRli2PO+!w<47K(z!rN_9ZdH{yay4uDlv>CetE4r54K)^!WieOV?l%-ez_rG)+V z@=7n0(%`I201O0W0@WrB^ckMdrxvpUAMfu-upvv2h;V?w;3V*~EO|cpP9*r2iCx^_ z@;ja(JY!E{!priAxnGwFX_^E85%1^9J|TCi3_bg;-hcko;JxB@eZkN_)!oAdi;9ni z(r>dVnm_4HBl6fV12R#3*DWh{u)@9X}Q zaU5}KPjQD)7FEYPooMMP%Q65-KPzdPVjdm!PIEaV3qD`YF*oi~mDptNMZ)t?rE=1~ z?{K}`*fX@LlrcTZIL+|#?_XrGa3Uq=LeF=z>W0p~J zG>ikf=RM>DyJHI_C37dlGS6|b%v!!YWDP3(Dyy1hThf2;`_8=RdDMXO9na?@w94zU z#LMXi)vT6(C!0xqVR3lwjzLe$VrYHWRa);n7?x2cLw{b5bPWyo^C9%>h`XGnp|-Kg z5206-~TWmZQF*&gSzUxU{<~dNT#+hqH|r>(Bymgr;Lq~1SISWAUl)>tHmX4 z58bIt0#kLSxFOZ=kNvj8qu>BFxF4S%At&RK#dClKmn)pacfMTz@NUlYbVRdmYZR3|?w_Fip^V63$8TnN zj&pm#4x)0MA{UFI2w&Fo@sKo83!GAW9Is5R@VCD?#Q*>x07*naRDgZk@&5jf=th|* zUaB(F8a(nln;J43lhSrgNcb8mwCEHVwrd8XOzU;zR27`}izrD&?}D zMMuoGt$4Y;;;BxKWnrq{`Etecd8c1(81Vi3pLiaMh3@+5>WcZ$!tF6v4-k^t>f+tmruoZ65Vc3nr{ORU@Fe8uDOiRRRz?;iZVrV**w zl$Y06%tCBw+37Jj-4cRbHcuDXwT<(#*E0W%OZtBqSoj|i&cSrPr|#J7rCO(XROPL zuJ0IhAc?G53kXoecEmG}!>BoD<`ACcNWlJ%wr!(+z%lT7!9SB8D0wIA8c?S~nx>4i z9qIp=Cl1C2&o+4qYb{hifBeAh<&84GA}5lbraW)NO0vVOBeScsV43GAhjg^<%k73? zbS!rh|95~yy5qklkB&V{K&?ip>KY#(ANcEgUd=CI3HIcr}MZU#5CF)Wnj6J1Mc~Jn{7V}}2=OKCG8A1vBpbCfU z?M3WT8FNT4|JX3}*tQ+hL>=X!{w-I zpI?YLbpS|G`gZF2=!JVe?r?GHp*EVNnmGb_yp(VeYU|GLZ^;66XzG0hWh z`eOVr^eQ6rcD1bwdSxna+phGaB@EM}9;!vC=(f(m0IZUAS^qeRy)atE2HBI4$pI%d zat|tYnKUpvDaRcUmK@M0FwkTxDU0J6c{tcuUgG)qjJ^aXFWKDH_fK@)Q!#swh-kHu zF-a2KZuGGj@%4p_B#C9fOM{afqEU9}ak<{uXEKeFneAaBHA-f^o!OP>tk|rRg<7O( z=rp?J8q(K^+9Cu(DCIcLME^*OQet?VNns&B*sAL zkD)7*gk_7SRd3>-AMdEDCZ01dDRHUFpiSvnBYk=wL!Jjv{{B1!o4UdC$u`;8Dt)QWE9o%V|bMQIch|&N>!NMx%Og-L@6~`Jev>b?ttF436y6 zxr2V_8IQXx>etwHc}-e|H~`FwWptuc*FCj-lPz@8h2wQC$#T2*YWa+wvF>@tFboj} z5pCj@WqlcLKR$lq_4N(QI>%vN6y+aGpR0A<8m?2ZWRJ%^WQR7Ky1BZp86%r!*_W~` zF3QWYu<3YN;$7zZG2-?04Q}mri5H{0M@fE&<*-edEaQ(KKa^D02HIy?&?e)f4W3n1 zi*aU($@|YA$g*6f;tTF7C0i7Me7Rm@sd10SBm~T6;`V$2b{0Z1VB^jUx+o*wn+?A# zvHE!bi6lwBm=39#ANnq&g3gkU7IrQ7>$-*+Im=R%RgL%epHVpL<#L%9`R*8@YOj;Q z8Ecxh_gfvLmkYxp) z&pYxgN8fiG0Ppwkax!VE3Gc@$5Dwc0U=ym}bEX(NOw$~L-l=V29~y&eXh0vQ5oJ*j zv`h(zoZ2&`bQ+KtGoMgWml4D<7*-1avHaU%1-!#LNkQoW%q8(56U60nhXOs81((Yu z&W3N_e?dQVkt&&Gl&RT!LKF2v?>&F7b9;%dl6_~A()Dr+){_I#GN zkN2KKg=VMUEd;X00AWF%zP{sqxb1j8pEzGGd~fp-4lnr{!QQqPbWh5U3B1&Bf-2;T zbC87DnqlaXWRf}U8=8iG0vEb^#-UoF4j?kiQUydf_=2{A)9HMGqS)a=Ps*VZR65H& z_q@G*)7ig8T4Y|7n8z7KRYnJj<;wKHj7;1tYyCY*$d4_hPLc%My5Om{cmqjZO86PE z>xRAw${@FO3HdTvo>rh*4n|+Izr?ZJ_QE)2&vQJ1raS=AP60Vz=ON#r&@9_`U4+NH zy?w{y{;4}_({8XHGm-juk~CFtNQU#}g7=?4@O(ay=Owbg{`JqldI%lI0k<0qzG}rI z&J&lDaU9V!jkd`IG?UUCebKO8hP25I zxt7&1=JGX$8V}9q_8iNMTx)-?>Xo>cwiVf0FtUC(nY2X zN(U)JE@PTCO>>MIKDTv^f8Sd4ZJncUBhUGa*$hb3xxvfr1@l7B02HaWtsJ=fj?LKT z%T<96^hITPLA`KMM0+_S_$HaZ%RlrU__$5MD1lPK+9cL!x+ldF8t|^pULQ zA;@NVMqQ>d)pA)j8)pM#T{kL|l#Vk^iQp$m812(6qefN;kkj;*c~l#35ez|55dA;t zclUzrt_`LdF~ZmWA4_%2SX6ZlcSf*KGK=S77&yqCFIS^?rTNef4`S}Qoh1KrmFKhHC~ync)2YTs52!=PtpfqOG5B}b)6 z!goiKF}^o-bTxP>%5yag?=s^nd;yYq`aG@cCS;ianZf7tfg;avYR@RkDk84kl`u`y zA7oN~PR!hl(-;MkG*xag){YuDd)!`LwA>uM592V#vdepDi$XN}aRz}kW&|m(nxc;Z zI`1gi*wrenD9?43E}P8HscpZUBZGWXJWtX@GRpPvVtfTq(lm(>6SLvh%Pr!Jod(mK z+K9GHK!kr72B`%Ya$r<^M}mE0deFMe7$=p4!nyutqIZ0I`xXh1Q@np_DVJ2qvNkU~ zl$W`&ISWq!0*Pf|9S5IOQV}34Xjms($*_wor78UN^_u`8G8w6&eR;>#z`ml8#BiP_ z0)KfPe!+E_alYJeIaB-J_q_m@o#lZ${caw99`{c)rxTvfPG=48PIeNk!L%6!B-=TM zMt|S;km~tt&vHsOT>_g%07r_`iKVAyRpGz?>pz3J7{?w}bJC)C1i2(>f_+_)WLdCA z2?V}@iBC)%%IRr}g_ujI0jJBELm-1fYRy?W=9!J{b<<**M_ey2cs}o_>IUcY8QrtP z+uJuxdRFFf;5h}VB|;LO_?gdTJL!BzJKE7_J+QH1{)8>kXz=r@4)-d-?42QJ{2awBuXxl zd6r>aXAJ!i;5wItj6ES*=%0^IBuH5ZIL#3}!b$;3zm|m(JIbvM3R3FU$S+uw1=T~- zs5H<8rHU=LeaAA*d`_gID2iO5JI~*7WEarT)BidQJ<=pW-SD%aU*)Xs6*4FW2&}dl zCDlqm?=0`tRT9YYkPhwyO%vEdWPj>JR^|RlIb2a7`;Y(lk6+!d;TBL2WHu;MVw49u z$Duz(-*qt@Tjw7s4Eu&w6fj#k%P=!BGS^6%GO<$+c}p1eNQrJ3`ayKF`ZxBYxP?g7 zL8beFa%>ncaXw&1KV7coSWq5BwUDQo`PzDDSx7V-dR`es?d&&ml;=e(CPwVNY$Qn{ zAHmU+5sZjB5Zd;F$Kz8bqgjVfrnIaqE^H)8AiQ2|=4lK=5OA0rtyN8QXxm@oMTx`u z8CBKbFnV&4IU+8NK+WHI_I!r3uV)$CH+g`J4kAg^ zIk3k9XWeflooHE>l%MGD^^$mMTRb0koZ422IfxDZ)V4x~NL4n?DVQ{)LzdDxF{Ug_ z%roV3r?&l)rOpGRu4`N`H@v_9Kzlyp{`sNrkB7qN=X-h-8 zr_rFAq!~v2eeSfO`3&+;}HW1ixyS+xilo<;zMbwfuA=5O1{#Dn^0SY*L1JuO2m3!zryu7@MVdDGa z;whE@@^Y|d--UCIyC%!B06P=3T(Y*t^1z7j+wB!;mdcZmYT?EqchZtFPxShH`}SQ8 zz+CE$Mmq90&x_Ew&eDW4+kV!<$)Tw^ozUxd?B&0zboRJm7yz0tVF+d&*L6|MHR5}L zm@Wqhy#M@(Lb`POi+0i9Nt)p8?K?i+f3k^s-^7M8?QoVn&x?+kJrB#Z(%+0iL%t&j zH1J(vcFSI~O;Uw@+i|_Vhza7bT-D5scLE}Z?Ik2gmb;zXi-JV*NHU8v5M;hyUf$5l zu*;TZnp~GJ zL%jkXY=*b*;sEBh=$UeQTUj2-V$JCkXIh@;csxEs-qLp+=@>|AKf=I}pB zoVfrn&m+<-MIvCNJ)fgjs1P8wZJP?nMkLrZ_{{1S$s#74MpsHOXEiR@^$89~FtD|* z8~XkW!yPQhJydWym;2of}*@RfMST!NqAuvpJ%Jz!B(VU+70D3W7XjJ2+#E zi|# zcMtT#NRz%m#>exHzVFq+M)qbLIuz<;@mXhoU#iZaWnQqX^cG@w+yV=k$Du=ezGB~Y zY#aMCvW(zqd%0j9dt^$HD@yvGHZWfO`RwR%$a3s5WSjZeTq6lwEB>=To5~h2M4D=Y-WU)8p^PXo6P@CCjN-39Pzx+B%{@?-=r&#%m+4r4oqje3I4yKW7Z(ZdMdPgpotG?7MWGXDy z;)CjcZVkCpbCzYrxot6P8#HwYq+!6J_Kshu2NqsrMI=IaA#q=YBWE3->okhTof+q5 zOsq#VQkg48?Q*>_m;S5oL=qk+H(3knGC>>meBs&9?h9{IgecoEiQq2sS|mUWHBPMw zSs}mYB)-?^ciA@?c8geeSR}?pYn~<|Ba)an$%lj3rZUC?JNA%g@!24v zcxunFBxG40Ws^hSBTdp63ez;jRg0XXRIMi+1Mw|lK^kSsW!X=URWxiT1N%G;0*>}z zDdu^SKcs@wHj;!1HM@Q%qdJRFnIvWKK_?c}pR*}hF0fm$A+vxA%93hnWuc)#w7mwl zNH5xH*j(l@OzY>%HNXl>|5)lZ#dqOhecx8RzP@2zmeAyKah#(A0@yK56B!p>Zf1v^ zEH_SLNYp+*KB5_R8mCyo>$-`d$NFv$*-jd3niHCuAs9)LC_#_F%q*GCG>*7G?vV;I zI9B(1i!;bcbIUxTZO_QFf_d=zjO_uqT&_5`XJk2LF{kE?_n$u)ZQJno^LfZ#q(2(x zmzn7%m&=v0tt$~)r_H&rikE5{i2w7!AO#l_LPNCUc1Lx__#AmY9%Pe1qwp~FxZm%3 zSNV=J9girT&7{k+;`QYfeg9NvPDW%LWG_8PxEsWb;NwdYivuCt$y1ihqqoeWR*_z* z_~mWm-`n?HEYEDrR!Lr#nlqLtGbB= zpVFNzkXRz7$2rKb4#gbnJfm!k(j=y2@tyhh_6wfRhs>dICyp+k#Weg+CX=;CCuhncyb& z$p%(3@I^>KAvAs(hlt#+>l2!$!RgfE)DV!O&00s$IzMMdbOEVGX?itd|!?%$uHXFF!Zc5D@ zFwKfmRTxYu1<1NAs86SePE8ZW>>BK3_XoW~l!6LW(mcYYoXalbwYm6Hg|cCpra<*W z1(6q+h5-o@ewOmI)=t2ZOe_J=b$v*NE5+pZeTQ}1aJgJ5>C|96j*gzsktzvn6HvVG z$D(XNAW@H(JzC2`m4J=fZF?p=Dk&+MJAw|_<*QHtQlv!f8{V|zl=`1Ih zxh@NCw-@~Q@mo|xxB_8Tokk&5$qt4|oiA6hkMspwa_y*cU`O`<{m1|MbzZbR3f(8= z*+vq{vY3JyWY{5k>ERH74vI8}0;2(33U);nu1Zj#{(fC&4g7_+%#|{noygxjPs%Qz z1F`s;f88`kp__jWZ}MM<*HL~ICQxu|XOSS0nC6SFeO;H(7Wxv;vOLVYn;rtU*II_4 z_Zu{V-b0UQGmc9Oowl{E8=^5?W_|Z9;LGB7bU*MiJvBsOy;M!}gpZG(XwMfe0+Q1( z`@MmiNQb^tnv#QsDdC~Mz7yhd#LcED2eG=LL7wGr&*)s?cgiHE$CCv^HeXv_w{0tR z%US{!Ek4$X8!0f&XSv6!qzHcoj+(R{+=hIYvRQ`W7i%1-g?Dhk4oXMffBs-8W0D5y z-l!PI9+AtH9*|ALiIJRTo`t5D`0a21MLC7i)+|@UPRcRMOATQ6kf=D`dK@QdtFw^s z*aP6?lCr8Xjr0P!RotmVlcKKM^M%Y&eZtT`@%Hu|x7!OwNsu;q4+s)a9(ZmqN3V*O zeoH^9y1_{rZ~|#t$ehwFV?v%J8_&ll-rl|wv5rAE#plO6ZZEH~oIA12Kf7a|Cou%h zQnx17-{Ir_iMQ8pcy?VN$@cN=lJ!6r?KrYE+|T8{ZFoE$sOnnA@m=pk9Sc~RCeomi z*=ia#ZF|`Hnjqyv-)9HQBR4Un2-#rYJ(!$U*C_H*&;Ell5@>B~yd3PUnWj-gdl{N|FMmVdhi2Nn zFK2l(m@JmU&AaS!AzOVpU-9Gj-+69;58*1n#ZsHgg+7&sd<*=n`TaZU^ZC3h5h=&> z@t}0^dX;v{6Yvy=)f~Be|1gm*=VuUu4&HN(Y>fmn8!qx(C*EM|*Aq1oHbl^c`I8NU5oj zTMm=-icJwyjexIq41JGN%lpJko6if&t1f4rHw;)|>p2H(gyy_z8o03Z5BI({5tid9* z-rw)#dJUOtk|1K}sYqbA)w&#vtYu}`w~%MD*l>!{&dc@26vuG@b|#HQl3D^Xy1Gxy zuH{7)tS|vx%GDf8?2^}gPeMjnmL;ZXjyT&~XHZ#H8049@M7(KQjMJ#unSE}VSfEy& zM-Jh!|Jsc6tnmOAO7K=aKF>@mZl7H=;aG{h>-s*`k9W99Fhfnfav~bOa#pY z!YB#xuYdjXudxM2(F-@5Bkg7jlb-c!{^6SDq@<@RjD^<5bAz4Y#UbL!Mc{h5V$-0L z_XZu&Nte&R6;+_8r&Di!QAc)~hbdOh3mo1}g4!Eb7P` z%z8Pz9DIDdhx~&c9!Dbo>$>99 zobb4RBFiXiT2_^9$xP@*Y$8ltE{ybf$cVVOiN^FDJCcN*9;r;xNs>ldP%sf%M)=Q8 zuz#dc0i2(=T+b?dOc>qw)xgK)kBCp2rD3#X?D2@#*Kd*Jl_Xi9y7YhKvB)~5jZ628 zEO$4^JqFf(PZ{4c^4ya&!^iu3NF^*Y zd)z5$DO{OS=v*lyBI0<&oNCC@+_k!RuZdqT|#^8 zf%kg3frdnSbx3==8FxD(ele7yg}IE`>;h!Ife=Y2lz z^fis6%$+>TPHh`t7JzsT=gFp6gFHl=4Pe=;GW5K#*KI>8iD9aRm@>4`;J_p2ms|o zmL4U^kwyvdyY4#PE2-ohMN!B+%{%S!Ui)f9l_)el3^5L zj-YdUkv`tb;pfLY+($L^J>K5FAxWs8&oxy2{`>EI_UBoKUM|g+&#oKeV<)AskpbxB zUmUa)R1tC9v}XX6j@2igh1h{CWt8ywe3AblKNfopbw+$$ws<~YLh3aRqfEj@Nafz& z-}QGZtY%#RF`q?MV;Xuz1CPjan%Nmg%z0;%T#;qU8id6P13QwG(Z`-6xD0u@SjBXY z!OB_cXm-Y>g!>LjZqJy+l3C_b*DPesat8E}0b=L@P03rt@}`PG-Zr2p$N+zSyyMii zA>kPYdV`x&tMHQ@=gSrU^z-u81Z0;gx3xNGl{`I7Q~5b_u@PkComvR6h5hw~X8%edEl5%=LnU^kz|QY{ zk@R(47O~6|8`yPzlW`MUxUb>Yo~H>fZ{Mg;87(sawQ;q0(hE21( zy-w4_l*FS4C5buHiH(+Q&NCT7dnN(sec_7h3zyJFF^G6`H{@}ivPG4W% z7>QTpq2GOd`xX!Xrfg&m(~~x0OL=(l(NLDFKn3W!BW{uCW)=t)w=rJYzD)NW5$pT= zZ+|1LsbSdu z$1CwlCgSV$hUe2m-wwyM#)GVdr6~Fo)N=p;AOJ~3K~##M9MA0q>$XX!{-PqZE%Kpz zrH*)zF-4Xp3FetvYiqUbukhz%%9%?X&G#SgKZ8p1@?m4Y|6VSTq(!^#Nsmlbha_a4 zCJqQns>mhfSQeHaIoF=Up_dh+d}LMXkZbXK;-QnK36^=m^>&NTE=hnaD}YG-TEbTo z=`ceNH_;l+W{m?CuO z%RHfOPQeT&(&_FRjy!DpAYo#YP0m|Hd^%PX`=$hzBQ4LvlEH(^m4@B!`NZW)$yIY| zv2GjOiQ(_x6hD1Ag(M&}^fD2Lix~CH&p>iAF^Mm?*O1E?K-ty}S;ou$@wltudI=8! zOYi6lc|Puu=WZjvC3TU3zHM4OCs=~!0j@n?0>ygVKd>t$VHkQ`Z!a`Ou4}{-LoA># zFE?yk7W#NRa5|j=xbZpX-275rw^K{B+UzXlb5m$>OG)9}l+h zWE0SLMyfxPkK`nonn8&|!`QN{XqpDk$NgZjivkZVS6)sj>0C9q((L+FKg8?ncXhYq zk+NeJ$kOEQ`4l>vGXOyhFyRErAtPEnLsK{4U0hP?nK9VKT{(GCh7`)b)9G}AW0zS_ zN12Q7G?zeLuZ&!+PbbP~w9T+^Y=a9CcgHO+jI00rc-K9rM6;FA>PdoNioSjOj>r8@ z6h5KUDM=IQ!OtOMq!hKINm*R{a~nv15GyF1@4RDl6s1Pc$0KA zP1)U$AVD7yv}s6B9W&}!a4((wjOoFdrb+Us7bKDlFS={}dpY5*KDGM2Pss8Dvyu_} zengh>ULf1l>hoXzAStwNzI)y!<7J%krUWK;l>wYHvS4y@77DIQc(`IdNK?%7h_|GBf+{%$ch5Xx*;zzvE@Z1LIOMPpLePRBEX;tc8xN#OPpJm%M0d( z((LPvz7GPQ3=D~$F99=5>2v|AB#qehnLSbD4B(h&s%+}IrVlwy1B}_l0K1~#e7S_2 z%0WE-&nggjTem38T;@4~faSg7X~#u0n}wJ`35cgILD8o~`vr zI1^d|>4dE$0mhMj45xuL?Ku`@h~+Pe0+Z71hF&GtMS%^xhb+NMlN3c+V4h~3AqA@H z0B#F~%`^%$@>yvAD1&V%*@fh*oI&dVF_V-*DW~>~&yNo!(UNV0-lJ5Yq`Q~8=M$&) zgzSI*&wu^Z5wxb1t%U}pV;={VxKK)vq$!%ZiDEk^$W&F0VeDn9+(Jf!oe#wz)RYap zJ6cI3oWgUMVVls36II`20_65u*EQbWzEdMvxpYmM6ChGpA_h{XU+c~(Be`pPJq{A< z?Mvy1-SGQW^XAg3{mZ~$#K_){EX#4eTx3$LLSo}DwmG#Zila&UasP}#)TM4|nqpbk zIFx*7q-h#D?<_A4o#whkhyVaYWT?JyAKI3s_3B!=T(5ZC?|8YrMBB3mC!3MI1bSEr zY2Ch~sv4oaX|QHhRR=<4R4$X;#X$g;6E(_TcZ?ggsHG5&XBd5bdE4Zl7bOyGfx;hc z^Ylq{LO#s6xO2tJrF}`JniCMwz208JOqL`dqvRwle|{Q%*pb3zl%;_u(0i03&1l+A z)1ys2NfOj`jrX5FP}g<56K;{7Meq7|;vum{ysd*4)@8=`?|l(a|}UWwc|wZ!~n{~ zh<%U6u#|j~EJPZ^swIbs*fEzQx~17Z0w)jkeWyz!k0IT%0Q;Ya_7y^rHldJ=pe&TM z_xk!x32|i%;zq^ICY5C+sVaXz7rEtm5e$zRQ-)zshG_|w->sL|wKoorX9a9H||kLv@9(`$!N%ZVi*RnEUt>-kId_!=bXJJ*cFgcR?#q?3hAz!Cem)^ zWx>ns1%udReqNnqC#7U&{5$=bmGZpo`=)M^JqEB^k-obYj9lQ9zejsN45av+XF!LZ z*X8Kc@$==2{Qmh7GLGs?-%^%k`1#{^I0T}sSd#e1<&%T-wypU2^G5&#P97|Z66?N2 zdL#=yX;59(4P`}RcAlj%AoRUHD|xOcapbczjT}Ip-4idbuUZ&Z%cLeJI`i(8s74as-0*()j;79qGtIE+zPds(ZRtl}^XS{NH4 z{rvqMyyN)nMG?J75;cftxZgif*EL>lFZ49(PWKGt`<(LSF=CU`G!-kdD&eZaJdRpy zc2o^Pj5JNqv@MhOBsUD1UDJk4&&>8TPPpD)!niz-L&$+C+pTeKTRiR`*tT74RT_5+ zLk`YyfBXDh^}9tPso1+bFPWefsQQFqV5;BaaSsnrqR-&|`4Q|x*FPiNz^r+Z^EsQR zDSUg&!uO{Ts8QsFzVj)PQq5>T9(UYsuVi9Xx!~E1=JqV^600mc6B-3bla$Y}*j3Js zyLx6;1=8^D-sN$z=XqWxq)MjRv7@X`aVHN$ucRzsnHjas-+w_~RB>LIbxhJ6`^Hqt zm)k3Bd@oDNX&?7HfA1uT1Vqk>InpG-vMxw;_e}EQxrBEdM$}Cmi>^J(4v8@d;O_=W zBF3Cj@ynI5(Y#Z4{N3OEJ?{5UyuQ3fFOknspTiDssbh9_&kTVlTLiMd{N>NTZX3}D z_E~%>Gs<(Ndvrj;Et>Qj_58DR#sCv1x~@l2l$gd|8R%)yt<*7_I+x@twZ@|woUbo4AeOW9eXwMf!=YwJvjSyOn;s1aC zADiDf&>$XgOQ;h00o-C7FX}WQOB2isP0gW0RbPeCgl%)wr%d3ByEIlT^K$6Dmsv6y z8a++DpVZmW%B1boFgNL1-|swqnqu=Xhx_GaJn|J;mf`*9&xm~uhG80!B#g9M77o$S zg<{k%P1DE=CnA?d+@x7J5A?hgdmVmD{QG|KT++nvM~j&>kK3lGVx^kVD4rnGC1Tkf z8Hrg7@}$rC=%e`d?U(qRSY}B{0GAfNt42}U6I0p9q^&ZLkp)PzJVFFqV3Yt#7*RB? zqZ9Qz`a885{qeYmRMAOfHi$ZzDicDASG%45HWs2NF zUK3?(`N0T7OM_*5FRyQ5<{s@y(t_mFwOxOvW6CELe-6Ep4`nKx)Y5BxcbcXVQOh$Z ziQbJJ2&6g9GW~C|049v!?)#3H*EgO2Pq=8!XVEw?9^RK4L9;A80NwK$td@1urAqYb zroj&2+@8_*1g)|xmn_S2z$_9MKR-TV7?~IPm@J|4xp>@(eBL%C@htPiLSCKG_xmTD z`(Ku&d|NWB=j>*2BscZdE-LHr?b~FgbJ3;UJF!UNcfvU9pyg;K^e?O;rp5s&HnT{ZJbnGI=>}zy#E&qlq0?hooEUrDD z!^1+UP=j7ewHFK`>MOEB%!k0hG^NauMTWBazrgRli4OJbg?r#*BaX$A7~8 z^8;PqVO?gtefy3gr`MOCKVxt|KHgE41uo}H^rD0>c%-KY`;NM4ac&vA>vO+uTFg@) z0Gz>lKL=K3tjiQKm%kYFoH?(m%IB zk2!klHg>iwOGsS}z**@)AjVcm%$Q_6whaG4jEy^-9qx(*I zM3(1h>ITcY94T9{)MkZ?n4V8AD@HeHB+N9tCdl(FerDi^jQ#fQ7kqxaW7I9ficLLao({vA2S0yC*8inx%IHHdZ~OVUG|pb47{{^^>t3Ia2hNuZ906)gtosI#933n67r65V`yK<+x=fMKVxyRc{!M7h zxjo~4|0Ei#pJm%9BYHmWkx&tdSz1h7tjLCJM`GgCEXcc9)4FEZfOWZMBIDUl5+teH%(*;UqUYxM zZDVf=11Q)pP|1XA8A+kYPs>9~^$aipjf==1*i#_P*IX=l8L_Btm2{DY`blYVm+K4e zpOmqk+cSRt{GCg{Mpi3=Ak_H&Fv;LZ%#!Ulcfq7Y!=*F&zaU6ji$jb^@n#rT52xiG^AtSYy z4WFNml?8Tm-6Oth%V3se#xxPZUDgH7iBeEUh40%+8A?NDr#><5iV1{dyXNVL{j{Wt z@92oCYOpOtUD?aP&W$X~FwG0FuW;$>zO6W&TAn4_ilV3k{Mq+JKxu+RECV|*=wI0- z6QgXI0Ms}z8n|&^NJzmly$5VOPmthoXMDT|Q|vqcTs`i&uH&lxKeiWc zo@N1h85}0z;nV-I^oXC~;V}fhNYFGZCE)#NAHV+&B#C5775eTGcWoulYf(}8SpL;Mf zNs@*qaN9TaYSBMw*(y6fW=x9MKDB2qWdp$w%0-t0tT>&p?i-%ZN65sNnSj^F2YsEB zSg*1wB?+$a+u!~hWmTiBO7ugIGyw?&G2;fW*qOD&5@C=bNzw>LvLc3+6k~*3WVuQc z^IU#CNji1bS)MtFk>)I_NbY$GnQ->6|N1Y#jxl6blnE&rY8pq}t~abQotr+fHrS{W zwPMU9W_|mI5a2D)N;3%ie$>Sex+tl~Zgk;lSdq+zm&^8Lz+NSpDnykrWh7ogQEb2e z{x`T7XUYl~(V`G*QI;i64fX72ZH#W~ z4M~-l6>syF8sr%VNy}IEeMjH-amgQzpURWg5MZQbn#MrOXuO_u5hpS?AqE#0z}c|> z5C8B_`1p8-+dKd9AO8tO&S$`-c^pny{=-(-4^&ly_IwUj=t${0VcmG~T(2*Z2O$`s zGGcjWEb}N0sE}c8(vDN*Fu8^?)hOyNM5=C@pyQi}^ds`IZEHvXoW^vyUNOr|^t&)U!p@p3l)9@&KBenYJ-JK2n1my`x?uulM(&T84$4G z@pxeOLK%^)MKGv+*GcEjeiOcrix~N5bn%#3x?FFV=Q)PucF5_2iHHr@U{g*yb@3$I^_5cmCyGDT8GlU>~E4 zT9;+vbEnj=T%dqad565v6u*RD5CGh4&IC9~QUu^k`aXOw`CcmuJ{JrJs4&kXR`~(f zg^k~3RiPI%pBE(u1tGPyK%;#-I#SrtL!cpA<+EI#phfHsOCxW$H$0zDrcG8Aiaf{L z+c&tUf&Cw)B%NvWEl326+si9~3hC>Ms*G~FtSE80TsSZ%?lJ?`m42%G=R2CyIT-4y zs+6$FDExV5U=0^5Bkl>4o)kz?6vubUGE_=%3_9%ls!D<_?&VeIc9s#Wr7SZKr2`S@ zRWs5m#D4rD`Qi6t-`+gWaR!?CFC>*dwXGzVmi^LGa=u>UjF=tLljo8AR8|Wt;(Z-C$SH&@bQr#Iw@AquDh8mKCLvpRwrle7WNN{Ri@*2C%D?wLtg0 zW8GK|$wVhgnPxE?UH4$3=e8XJVKI4;%Y{i0M?Kt7!+yn##@r98>4_CEXaqCnl$ z0_2q#nwMDD8BNowC^J8NegcKpWx+U&QJg!CR4QFASM~?xMa&bn5QMi2C(m*czJ!}1Fp;32fJf&EiL()XS~c4y5}?6&5dB0HsgV?#l?NT zP}l8Cwd)>OmKmKcG`BXV3E3ULL`JIpGw{!(4$=A8zyBV8F9(EY{G3E_8!b_L45CgDVhkH! z{4`-`!2R<*5TJeA0)cKMe@N4u`q*U-%Cr%p>j5m!GPq$k&-uB0WliR33Js(gnfv{d zD6|Gq>s!ZRz{|@U%L$eIk!1%uVA)fi=jfGi(wt6Fyi_+0`hHOA!y3IN>q7s=I1-iS zC76Vd!50FNu1&HC{@#zr9ZA9g>w3KrQIH{Yiqs_j&aZFZf?A#D8RO95c6)&(crI`A zOOJgIZMhF-|99)V9XFUH8Tz3|Suh!@*AiHYW%KVkPwa&F$A9=IjMH>@e2n-eZicVo zGBy(A!LIMQ!LwFPLc%re<$)GaX4Z#^$)mLAOV#A zmBg81dDz!fs8JHPRj6MpW^PeBNKusWb31a?#(7JuoJi*AQol>7B4c|swc8u;%lAKF z7=}P0DG|Cv!qy@N;p;*_jf|DG_i9@gJRWy^|K;!CLdV10`iR6G_8|4>x(?7Y=5!t- zq4Pwk5eNUHx%ov#dH|vOXR6s0vYDb_=6tQF>NG(tD+YQTgZj8X5Pc^r)6KXP(TBx8 zj-Apa{r;9p@-iiwKTUi`9reiGl}7Jz8>lRj1ouy#5rs^VHiU0N5+N|Cdp^;g&k9CB z00Vwrr*Vq-T%+`hq{C!&Xoj^cEz1jx)A)rENrKfhTAFEy$%T4mc}}2eH@hhbtiTH2 zLk^)x6pL6kB~{qAHMIJZo{`^v|BY;Zc7%GQ zsllW+fTZW+9!Y_oEB0+guDJ44!7Y@GA4!~x7?nv(@V0G86Qxlp*~-IUCfRG2u|$>& zAQ_ABk}ih|10cX~YQ?5X-C?B(7w#Up3Pzje6tTGmd3hz?7ijA)BMK!4!NNLL}7)M4}#yAf4zy81fY3K6=K3huPu`~%_3lvW{zVI!(|;-aA7XNAur_~vxC=MxaB z^!LC2+wan&Exc4`y7{%X6CFxY8tJq3mrR`Oi^gGQCgh|jIFRU!?)sNT9Di=Ig&0{CL0l$PUj1etjDxTvX5mx$Xm-Y+poX<4Tanc zxzhdiWgqX~v5L%c9!8RVtxjuEIF1aRWmS<3wQ>5!!>uf-#h(0d)a0XX8hRY^m&$)1>P{`D3NdIWaXG(ER3xE6HxJp+wsDHG??fyP zHjOCgVV*y9(YojpHy|-4nwxL|t1wlktSOsuJD|;lCg+C<+SrgGXlG^ifetcdi!leznP`XGLBlr$J}G;Pzza5aRar z=?#~r|JrsnEzSyUkQ4wIQ*vWBjGT+hRQtYX;f-m2##Ok6LYl~Ga|fDL4L$$1S&D(W z{Ny-Rzy~xqp)4zhw?|+B(bX{FEBJR|{l2^yJGT}79_2C_2O2RZ%Tgp(+&uRNSyik3 z^2={Fb8?JrB4iuLS1BDX&@?BPJ@g&WybU2MdS~;ZKv)_5G%EuMyRNf5!@Z(E521{+ zqe7(wkO#{+DJ-j+lDFMuCMd8Qp9TtU0n(2MWWC>`(=-CdTjE@j#^3fMSZ?7qMz9v) zS5aV({@#jow{NR0Z19Srw2|A3uInsvtEqszyeN@zP&fAD&p+(#4Vf10>0&z(`WdIU zlC?@2jX@?f?E16v{GeQk4kq#(#u+Xh+FICPfS=xLg+0?OeY1q)2VPWm36j1Uo=DPKbf z$K52kALxn6&%~y|^w{>D_vy&LYxT1*rDRQWvUQzFUCW(thxmk?+h{apI)|0n7Hqes zIU(nb`0%3084g#VL6|20-B1W)h`cNe)7v&%*3}BipWyXuSeHzed1zq9EHL=0nx^ry z_Iy56D=kTNwwuerM4J>8MVpzD#3nUY^7W*wIJV2{;?G%Cw=9Misw^^VPc0jDFR z%riN7;14xm%%?uGyWAOJ~3K~#(18;A)gs@j{yqO6>z*0!yC&oXU4H0`(DbGjg7 z8hDmQ)?wI8;!eh3>-zQ%j|=bVZ9^DiS=HDw5!HOXzS%Mp7@W9gv?wfQ zBBGk#tNQ-7ZS_G&!+=I*tWD$SA+D%%v7yYeWT(^F=4J65ke-xSKuB`0!ON<)7@#;P ztD5QQt0Y)||9v8|EAWSjDR;>ZH098;y}y6hIF3$&(d4gb8e13XPAezCY&7-Z%L=53 z00E2QAH@U?VO%_KZy)Xt$*4<@5n+FtsHi9x7Wb8}F9WKRYB)XDWD8S~rx*QobMi*3 zB7*YNo@s8|{qlu;WAjE#8zaZm@p2j&0Hn;2vaFCjL6fKa1&{@C`W1m3Zdz$iyD0lL+KTidN$`vZp_AJ9 za#_IkOV6Op-Ad!uv$%3HqwRo5Mbg|a^Mur4Y88)(lyH1Jn91r^afGQWjPo&OJ}s40 zN}d)qD1rKV$gWl^D`=^eu~8J2Z>uDq(=@xRD%*B*Z-VU`WD3-h-)}b*MBLmI%$5*O zUQMD3ZEX?Cs%El1w5Fn@AfOYIO??jjtnZsQ@L8TytBL|O#K=un;rMMyveXR9#2#aC z?LP{+-7^;;Eh-7eKxmkzu>;=;g)Hhk&??v|O{X)O3(mqOu9}Oo@~y%_UfO6LZM@Kc z|5hfD>SLX{n* z(6aO8;v3^-fuaDkDtR9^8hS@>^zk#-l;1%f*mcN($+&^j_m0AN@qbp$;J)ovQzEr2 z0D(x3w619SjlLA1P=U5iF^TRDM8({XHk7y1TJ zsN!A7d`Mut_hO6;f;>g%aTF6 zJ)P`H#CX%3?DOZJ$cG5Qlx?EsS~ymKAnjuGV(| zJ;+Ct_;&?*jdb_=AZA@0(``GHFMap4=5%H)hk>Us;4xw|D1z+c{_qAja_eTn9E&|q zv#smwwGalu89#%-t>^I`;8_9qp?lo9LESM(xZiABSIFoMWUTA;-M&75nhfdk495tY zM4o3>R<-^4$3L0jG`gHM1T>;jO(`rD8(%aspnkyzjOI48^pAi1`|pxNq%3odutJbf zL{2U-dd1aBb|I~92+7W;lTF+-Ow;J(B4l>tK8-a)QgqWa3}H(4d?Gvv?C;SfIVme_ zTW3u6SmcZ3ghWSZKVgiI{&$3!tgdT@<|U^ET`q4g6tCbH(#(y-{q|+^3?!>UithKD zPdf`v#aBLfRo&S0iGt{IeX}AjEoI3)6IugnIxaM;URpIW`Wa5=i=Al1T-OC8nX2+U zhF9vBnR!8_PF#~mg~9DR&B-j@rBPH)iezqIUtj(?DPTqyzdHCBgPr;CX`%xZU*<+h zVD9juj>BMORoUZ#??6Q`q#c3VF-%tjFC_op$&N+{&O-EX<`MzXHnc{>ro*_!n@lLz z5P;~laBS7)mm*vn9!+V_r;ASy?d1~|>Fja8dCGjG_VM|AAk53m8%G&VA<0=yc+wD( z6*+k5yO~Rk(1^@FA;k08nDDuhKBN@Ud>F8SEi+yA-AGX?XskTER5H;QY!EwoD~z-r zypxa}t=r~Xv*!be)G5oEsCtAkYD0nsb@eIPt1PmlW*XSikrKe@(xt%X(2ex#O2g&s z-{-#Xc52Ty^iSVBmQ}^ZGrE>oXk8(Z&2acis)Gx*@GX{f?ne?eBpbsZKMXFiftN>M zXq2*nAO*$cAuRI|fI0Em9bHzc%>aC7jeo~g-FT6rY?_=Qs|esrJ^@!YQ(56zQ_f96 z{4zXbo6BR@720Z-gC>}RjhA7T7xwx2X%{92t0*l?mL^=frzn7Dz?;p6c@vfk@kzEK4@eNOo7S)=E#2@{qdj z>A!<0itBQ0XSA`G52&na8+!ONr{x6qgyr*)mUPWcjm5KAjh( zRdsDuQQ8;Nx#4fy%qTb7C?Nq3y)u{5ygE z9jz#GZ>%s_EZl=&JP-7_7Q`7>RmpP%n){t5>X^X`S{8+UeSTV57A}85fn0fJ*1|1} z8UxV#aOT>++WGuueGfTnQ53xElAkBi&pU-^p;WObEF~C_L9{b|euaNd@UUer12>C) z_F*U*d9STj6v%V=V!-3F;0%KIlN8BuI6OBQ=w=(GKxRfl9c0`o!6Ynm@Z)i}hUojp z<8I%-|7uyDK>|h}779yj0h^{pL(BZGnzc?q6e{X4ce=bv+)W>-F6> zQg|?FMN+A#BY_iCNOHj1*5;*YTjElqAAAZe)4FXZHquC?LQqoS>v46lW(E^6U*vJ< z5waHoClZ-&LJIQNB~_BFX=lOzs&Pe9?9*jK<2cwN=>eOyrhyblqza)+=Lsfk@y1mg zch3iK$JAVFO0F%)F!XLRRe>kuW?qz#GMSkA=H86+zdI)`BK1r(+-o{y z0j5_A!Mf+;#q>DYICNw|;{cNGS=wu$2r;RNOqdQa+L>5DaikHVH2CM66Hi%IwLPB? z55JVAUY-JZl(b3)3Xzhnpy0g5B{OE2DxWV`&q`3IFTaolk)twOm&rt}f>E_)0y!iy z%Sw#&I$MmHOHD9&S>1Ot48sd5dFLhabd5Glz_}Nl3vrJK8NB&6N2}p^n&5RBdn+rf z!Ak~pLF=hR*qy~hZbScc4X?t7wE2LnC^<79@B&PZMiyS4W~v63ll^g=>~ucc{c%Tw zI-sGco7U>4we#uhzMF%Pb$9~gF%n^E-;ISlR^`Jmc);W|qVZI5s>^6+-cU{ypu8NS za0tn$v}j|a136Of(iRm@C9$URRT=**$R;s0f=0gbrbEG`8BM?NNkyBd!S(rSROIbZ z^C5qLayC%t%%m1!ps-W^sD?=t6mi^_MH8v$1^Z0m(C6o;<$30k32kvMm#h8x$Nz$1 zJ0<(`kAGU8gUFIn@|@G)&cP4zyr`**Y{KPTyj8rbz7~f&?I1Rvfw@BR2)q&?qksvmj$0C z0{1!&`|g$^{{6S>yDbaM*V_Ij4u@ihtZkIJ7CBtTcU2b1v&iWQjv?6naU=O~GtoGa zSCc!mKvM9MnOEA31Ivp5zF>jd@1y=hfa~SJ#WSx>=Zx;2kdiIyf^Alob3VA)#%CfB z>6|ESQq3aTFsxOs@e`uUW~|r0io|0hPS7aXEiAz1NQEX)pU>u8~K8Q!D6!p}(9a5L2dcbX2PhYAdzLhxBP<763j(5UwVl=p7gS z&ebLgSS18cKFe z3#^Ved(BTM%E~$GA|*W^cM}y$4V#So!_fal?tzsY0-jV zQ|sqZhJkO0f}1ZlO2XdWKS=LLKIzZ~LLMe*nn6X9J~dgEfx3c%YBHso7c@c(UA-=B zwn)U0k@!TcZDNBUO>vBg8e>cl_kFkT-+!@T0CKmi8ecCfksL|gzyz07V=>^l6}~jf zk)v=ro!smu!{*9MRD}>G(b0@pzJ1^9*I)m}kTOhpB?VHDW06yyzzNHbA3toFCwo30 zj;%bJ1r$y)l$x0rN@ge~+tb;8{P|DIvkXL%9lF}OZUDYGU#NBEfyRsb_+1Y&(z>p8 zy#jA4J*}ELv)z9E^>5t%^uA#b+F6@b(NszXpc!SRn3&Q}z)h$8ZUaNzDh7y(mNQTj zthD-xo;ht)KnpA>-7?>T>6w7uJo-RJ-=R#q+qT*J$2Z%y)jmFcp%HrY^Go?X>$=$a za%D07uy5agvFC$QIeL1~d||^o^qu8-ZWo4t9gPyu?U(DDOT%<-$m5r@5RrT&gkYEJ zn`tASWyusOI*k+4u~+xaNtWA@g0<5tb-7;ML>_sjl07sB5ChWrg}0#{B$7ykd1 zFb@h?>AL)sl5gMcx0{D;3D}`fN1byi2H#Q(N2yC*c?%kFp}Oz7H|@!XAd=PQBuwf)O!N_LJLDgpYZDW_Qmucdfx{@> zbrw)W?b~i;iJ_h(r+VLgYn0*qsp^_iHFH$)x~|rq&Q8D67RHQbSr$duTI_yDR~2(_ ziUQK!1%PY)X<;&)AMT z7z38VH_#fq>pnvB1jT`8E@cHF1$YFfD^>YGfGxIw=&PB+A7Y>8&CJ*gINt*mGuvdokhY+Mg*G@#{VtJ9RqVs#vP*Q!D;btf}= zqJCR=+|p%XGPx|vY~Ax|GTmk(@f1feAf}&%KZwGLX4w(6^}3F)iCPtrW#5(X7~IGz z4Ym%|X@c3Tl?hgpTx!ITl)Dkn3W5)`koaAcK@wwR)(TdsDpq6!PxNgBas17wZ%*vw zb6bf;Tq&t*n%24}Bq?3@GzAQuFBb<2Xx;dl6pqaa4t`Cg1t3-Ou=v_2%0`>U$*uzmN;kJI_W zpP}a=|8&E7mZB+(qo)ii&q)Je^RJ6s1%|#8X?qpWmSV7sL7H#x9|q**(^8h%*XK{4 zs@!j1_VMwJ)8@jmtnigCrs>9FBiPs1r%&>9_;^0hiv)5dH73gYu*nd57hWwG1s)3OZYmW-1ig|dmPrECyPBR8ku&6GvSs3*@- zpjYU8xw_m^fr*gHR5bl97h-?9D|Q4!DD$FwNv)yiAF!8p~|p(ra4Zd35+&VpcDH~;Jfo4|B?@%s>I($RfP&&Qo`1bjbT5A(X<0C`b* z*yKtz1%?yM!r)f+bh_A|fBZp@AJX8BzzoT1*9DVrHSidU1}6zhdw#jRyEH{Z45hKd zGgkOeRp&=0l>Y{U^15n>k=yxvu^)f_VUg8YmJ|TDn}T-Fgm+|lK?D0rc}+6gvF(Z> zSYF6`wE?-zsd7r0#RO_vUP68vc-Cq|gaOUQ!SKp0!%Pxj!NKolWr4hhWu9IBW4m!n zLWKD9fktgb28twMfK|*^RoG&PbUO5%Z|`-+%L9vIGFa0#ID2?DIQB`}+EH$N=64Y;JIW zL!OoX@sI!beHxjg!H4fPplMweTdA8Zm=cPKdgjC-WfttzrAxo9sryRf)WJuF5lr-$ z=*8PXxQZ#~>JMwT`|akx%uIR>G|L$$GLVxtK&~a z`I70iZd%KW94o9O5(lQ%iGRlJ_Gt}QEJm*ADVe$7@7Rp6 zt2P!R2Ll_0G9LIRr$tAx2#qNoNTs!}oD}JM(P~jhWXWTM_gt67#sNPQitK|Z1XI;a z`9i}L=WH_QtK-#VSZn@enLQC*m#FZfd7g6{wK#%snHM%gIh#a~r0`uGnAwzN_&(?% z5k}E=b1if*vsr)tIB?aO+!TE@Pml{01wtAnRRehf6THCbx(ZWCsqon(POOQ?-F8zR zM2N}hJ{2eaDIHTBecwn*7HXOSoqU#VUtcssAJ0LO|A5;c(NWeHs*@lHRoxtcfLUfg ze*EbLl@2I0%1VRh#?s$+X8LeSpl5Dqmq%hDDekpk*9HlgTolIL6YpI~|JJ^3HjJZPFK_nw z^T#oLI)er@6DqOHv;UczcBweu*40h9>xxaTBoYc9!{iu6o+fH)4m5@8yC?op%5)+p zyPD`luE%3cc0Qf$@wg+@&bPLhP%R52Kzb*#ym0(Awt_3Q)0Iy(VFG_x-}f%J(3$Qz zASL8%IA?N`S+yuiZ%`}h@`bS#BtpZH`DOB{kjH}vgw1799Qio%(@2)8#`yO2>F*7m zwZe7fDmJv82yE^Tf(tVljF1bScfri%hGqfsD-M9#)5-lu(}a*SNgFls8;6mk8iWSQ ze}c~=QWl3IN7O8%+F+)MUJcIae4!!T>~DYjKWylqc4G2zQC2Rw$@83l9yHo{fni{X zfz#|7vKBTRZ`Tic{_q`1&Q?~H4_1U=KAkS^vyrcE+jeW(hJKsM&kkgaVItpk2!WOP z9s#y!)=~^!ROK(3B7)`Y>tf@GGY<8{Ole2*0g#$o4XgUT<2h0IpmJLmW~rcF$;--a zUtd;~B{r+eY7 z^X@V_5Wvi$d&(qFZkxuQ-P6o=%G4ouT?o|(5uZ-efDpECkQ`M6J0NHlSn8ETqE1_< z9Qi*@dotvnpooPeNI5VWOlY@PpX0t1A?q599(h{Olx4 zUO2SCuyHXFQ?*GAAy}Sa;3H7R!a3Mm0Ksp*jMF!u+A6RDyo?bM##q>{42vMkxH8gS{~5!|y;)`3Zw@*WlvcD4;h z-knmJEHAJ%DYS~8{pW$C1Q!f8MTv5v;4f+53k&H+?(#6nY(z;DryD;Hq!f{bZr^nl zQ;uRX2HzaXr(wK2WvWjxT6+RnOF@FtSS$HlT>O<%!kRDqG>$IM&}E;f1%{S)@-RoO z9`WaFl-vrm}6_*cff5FuJ0wt?xU+5DG8mERd=}4}qitGmUx3tKj65zNFVs z!IhKnq|2St=D-3f&*9rzmc>rztK&wWkB7-rU)8O7Vt5G9-iAXWB@{Kzi1onma=M`* z0UD#=xX$O}VRhZusXf`YW6R^gr))wG3QzBY18pcZHIf`nSi-VANIOl_+U@J}FTtlH zJw1|I>Jk)1MTlvAe#0=5Eg!9I&xT;9A0}M$PGVVE)jk;$iAyGMA&r-1@sPcBT|j8! zUzzoCf@v(>S_8S)PiG({Aa!b#6d51WAH?BibCV>&gvWG0Soja#`<;q>L#= zC*i3m1P;2TUn;l+MOhGPh=Q5Dy?szxf{kj|b=D8PmGlj^r?cH}H@q7GG%0!1V7^9{ z1~Ll~(A`hE;HA)%+p;?PQI9b=tn-L%|@m)L~4^yZb3XtGIrP94$uJ61z z;SV~U&(=L2Y>b0F9(Ukjb3h)}MX(kO)!wdecDsYBlaYuyOrvEfQBJqp^YH}i;t8X) znR26|6-93HYr)hTNz8#956=ef;_i9JbFr@e@0l5&iDWT>_^6FQ;!q_fyklM0Sy9!N zFv-Jv6{G$9`4gdVS#Brg_r%QR83m-CiFHAMr8bk;z%RV}drMiO=XCI9L=cF+dpZfo z$%Cx6)uGP-03ZNKL_t(mUM;175NU=9= zp@Ajtk9sjMcrPgvZ1(Loe6oQX?_>+9seSi!$-Ah9(=@n@dLpQ);<>9~tLnFuVX$kq z+dN^LDoLnR1^7?k_Or6qiCq{ZUf#$4^tt{Fqu5t`x zQMMXOIzJe0~4f*Ug#d%d%J?L)uAR zi;|Va1;+uJQZyldRR}K3EtzP%UKTWyN@^W?tVMg0Z1lgQAUd@6Dj;E$!%Lv_dWC7q zWF@JT%)k11Be!VM;9`1%>Ei9{)8%Y+(=z<%X-ZEWht6@4NVdJ0(&Itmg7H|5=ejI* zIbRW`#!U~JWLz@qy4dM_F$MeSKvr72h#;@QoMz?)oXnCk2ty(xbN%iOx-Q-O{p)~D zER)Ui;@aSE-@e=ZeuK8UtgLNMmSu%ExS*lHTT|DE7e#2;X&kI0l2E8tO+yqKDCW96 z2-3$QWD~hHYT{KGs<6a14MBfdO7?sJ7b!HaS)jKH6UVAT;<)@3uaig>)hdRuSp)0> z=KIAaPF!Jzo_yM4EKo(LGBZ;7jQ{iG&CdA(pTdIyo8y2YecM*MzI~7u1ln6!)ef#u z2%?HFX?5?nFPA{5p{T0r#SDu9jmS0ge8^*M-#CS;?f$siJTE?d?YiE-kJI_$@(LIV z2??P2@kB38^bPlcC6>feKkq^5!WQgwzL=l_x7*GBNAl{LxTb*o)x8?PG|f4{E1;0ivcug@CTw%H8;KTW%Pzk7k1zG2pMG4 z^UE*4dDEmEBgm>wK9G?-Dn(#`zdk?lPS>@~^KADU$bj;TNeM7eO1g1N2#;29e^zAn zNS0;Rb)8Qq7Y=10eHnZUA{mXq5Rzi8FGZ#8I|3g0^X5Ev6>Y67WzeSP}#mSvgalCf<}j^2( zw{^AC>Eg`+q-~&9Lb{9w{`&Ur(`=DCXMT4AtTat)m-E#gkGp$5-`_t>D18Je7Tl=L zylb&N0$c~@W3b@0%F4+-Hs$+E_F3;uT~)Vi!WXOC6KJHnFyyhB7@N7Cn7x8m7n#A!$Fnw*>rw?t;NcS(P4O}oNqFHF zPV1s?F??+pu{Mk`z2sxyfE?LyNGb=yOh(B{&aqC`GK-+}({eB2?!nI^t~xI9Iz(c}e_ z|G{F4)P9qZPkD+@zViZ2!ZcBacJfBOC`vDWW#-=Z-RkDVP37p47J0lzpP1}k_{$ib zXzXv=lMe{ArPyeg?7N3ITmzZ^l9HqhSVu?<7(TeNSYbg5Bd88#5W+;rDN30AtGabV zt8r^KO(WmS#V1SBXPZHWpv)41BeWU7vs;sfHTkA3XLE~&G&wb><}^;Qil%A*g49;9 zn+7jHF6W%KV{kH#gPXq<45hU1L-L5{;Q4s?#zP^2C|H~SZG|12@HBA~3S@eFAUAow zOw;TQc~v)#t44A=p3`sNzT3XP=E&rf(Lk;R%xh`JA;Pb}{)TP!zS;BfaNH&aQ<;CK zpa`M)Q>yteAOXDZ`oDO~VobIy6V9X@GLWA?e*mn&tcmC2P6_8~=gWl!d~~d*O$G$zvC|P4J$YNOs7vNTE}M?f7WEr=hH6NH{aZ^>uP;JxM3cc%JD$%Qf7v` z3Y-6JUEF^%vN#l_XPIaF+u#1hK0kk&P`8qR;j+fRx9?_UQE=lpQ96Q2=FmfDjtvKz z$z@$2N8TY3acN$LqCKT#&FO5*vU#BZN$^G;IA9?6``w!M#G(U}bG=(TH%IVxES}n4 z5aFK_e;f>md`W4~mn-iM42BkZth8}%n5>+r01%)-jbPw?vG1Gp{b;Al#X2_6RbAV@ zZPvCITNZd5QkK)SjY)7(6mC>r`JTx9N1o-ram4?JkOU2ih@-||A?$H(doU}@#-5McU+St92{aOjgMb!D{Qz*-)|FXL zyPvI*lGv1@Z=-dV)o1N4+kK}G>}2Ub|MMTe>yXt%d*jO#JZ*a+(PcGJ zgP-D(vp`fxj!e@kHdBm5cs`xJ<%Kt;PD*!`F??ZhEh!SFqmy@6MhQbv zluk5(ZjCEMP8OyS+Q5yPHoVjimz%_tEX8OY^HFeM6rTL3LVw#h2-25eFs)xMZ$6=kF$*4&RAvo6f z)j%qLgc=JKkD5BeSo;~b5y1vF&KoDn<2bO0?EMl{&V^_?+qSY; z+$~XVqII`CTk?Vk_o#d#oGrPN%L-obS)SX{|H5TW~#RmoZzEftIar1_)QCZc8SBdfy$tYy59cVy3 z)sKfh;59X8%SDxPD+W=Ax>&!0c6D6sLt7H^?+rSi{bS!VZmXbTjn zzg9lSG>&$@T-ju5+l@h)NNpL3NOjZVJ1I+>rpY%oW&u7CZrpKZ?Y3`=LmkjO0Ao8% z6a7V-W%Rl&%jAQgqQp6^J46`Js;*hw0z6Wd819Hl2k6EKO!zQxAOTNZmSOwYaT**c z@zW-FQ&Y2O!@642wpQ>g#CE9QG+O3-ock%yZ6GGUtQt;-Rk&}~_dN+qgGp5&WrnC_ z+q&8`jW!Ow0}=#fkQqLvoX-{pBLbgfDM3!tcUD#n2W5?oW6v!CGgkDU7wKQlyP;=h zQ4p!T(_rHWd+g}pL?KQagPMPFNxA2 zkmv9mEX%@%C%1J|eYjbcC!SwWiwI+06cv>vde?W}5rsV;Hw>BfO-5oLdgXaxL-(|z zpe%KVM|GKJq`eo&M=Q$1S2oaZ_)1vCvxrSt)wCF1Qr5L?NIIXViHYZ%D|_101$ifC zes{WOn(|3W&IS0G7a)!w^iM#JiSxTG3wnr=k=C@WJ)aLCk+;n^FWUy-!9Y2!(&^V_ zwz4Svt`|yOjRB^_%$jqJ( zNMWbx7}Tk$M_p6^mCh}cB>&sCSy|S|0ogf8R);NG(d%>$7%mjKn$80!i3z-I_rU(*idJGUDlH(4=`9Cz>gv|2YEz z5;(Cv2#h*}ANrI|8`}3ONyq~-TOVGNUHRks#N{Sr{%biVqe@Q{2# z*777ROLD$LKRSEU5hG-i<1m1$&PJ9YUWCAXfXNnBj z2Qe=Bd8J{BLL^m?>g+Jv?Z=NlZQE9RJnl5|-~A#m!}Lwtp{8l=>+{nKRh&@-OUyHi z%!QdSyJzu~#No<3D~zW?Y(XEwKy#v04PJ=o=b1K*+JJ~4hMyCE_W5$fWf%?$&f(KQ z7^rWS>Fw#ejtJe{2OfEW>0Xu>ZV=Zq+MckP620Zsdjq|Fv0xOGlvn;<-Af6NK&KsWaVZ?>GYALBx$cDKg;vnE|+&(*2SI= zIPd!;oiIF(?Zx?5*K6e?{wQX%L;4+BhQ(gludaFmSwS`sz_5pbF1@g z90n`sRb7|K?+OjOu5TaqeB2q-7yNydlx^kv@%sCxl-b4xdS$(~E|ACR!UhOuw~Y!E z-CKEteUt-M)YS?urum#B{cMd%0N`k-_^Fo4=2 zrH#BlFeHTpYgt!6|5kdlAX$VWMD>;$ueNOsKA_2)55b4hKmPF_zxUnKrfIU4D^Mh_ zibN9qke^An(#wl*m)wn!G35-=Q@#TZe3()gK(y_2@<&@3@Fv=o9Qxa~IJri;ei@fm zN=-oJLO7zDCbOe3M4KIb&HK22+4*v1K`_|$^5#ULVdxzjYbvr;(9H@%T76N`j& zxilurG9*lMvh?=;jtk=@_z%>Y!I|tzWLNW1RX|6+zkj#K{pMQyn9?C_nIXr*MAvMd zM}G(lu2SJ$V8O=kYH%}mw8iBLFtaOL0kVb7)|Hc&bv-8Bd0{e=i4-Lnp{B|(a{{wy zyO}a7b(THVTtJi;%`0O*4pOV5>X!bl-h?BlNJSYuE&ya6y-qjRTCP(w2+5 zrGj0a4NasDL~G!?gue$+fZ*ghZAFZF-4LQ>obc7ni46iaCKbJLC^SL*`TG3n-lnqP zriVOvB_?ltCv68z0EyO2`OXkl=u#mTyn(3Hl52Hs=~RI0{nwOt@c^;lQWq6KkmIaw zUeqP3Aic7LvGaO;BN69>@HjJT+7q{^fF?j9mHB5X#(&~;SCUmooN``}GB_SBOzM8Z2$dfg4@zbUw2vF+V#s!GjlU@$K$WoFqS+=-(argr96#;4dck7P{WhaH}%`9f;*?zX5&U3KmZ{rmCvIl>Eq+O zb=}j3akTU0je{Cnk-xZfYPZx|d(tH1AoDvQ-+WGOqc7^Z2qra4)bXEbBC{$A_v zYTJ`N?>7_ZBV%?w~C>+6Kc~q`S9%2Vq-`EnH8ple~cnBAh0KQzMTp z^QPn&;sys-%>0f42%7xw3Oom^TEW3m^i(94f(nN4%f%MnWfp>O9}!xNnsr@PS5V-4 z!=F9$o!?s;pz$@ex3_l_Ew?C3_nQ?(VfWkJJ)OhQo7u6%kRk?~mI9Lh|M-u;|K2^H zu5X`atV_3bwYq6o(9g~;HWm=lC>NBR=!2H#vZ`x~DYIz=IU~g6DPH zyB=LvM0|Z-6!y5^h~cX!yP{ET!y0p*P$W&%;|`?1Wb~Gxu!_{bkG@vdB`$=dlWS;* zlH@^@0A2J0GaNKct?R~iJ9zBta)i@p19ae0Gm;rLOdi(7O^|ASq}%L=!LHXgTQ^~E zM{azuDbY(i&mdn!uJcodi+DG4Ps;7<%Zxhzod<-bT{)-G>oVIkV*~OUtT;^r5xcuj zOP6JF?W>GMD28wetedd3JE;sP%oY-@{@QQ_pLk$$1B!==j(y*4-8O66lf@L7QGvos zroMG0FT5yBDdx||&Gn0sUL$y!^bF=SnlEmctSV%tsEJd0>yruf_TeEmC;sHt&`Y@8&Ua*XkejE}F+A68YBHSO8+MN~8^^Jb@9N5ngQ?#luh zg;3ne98uAL%NGG*@^b0FRDfxV24YQg89`aqzLAkOzh`>%!ilT2s?W#WjnOJ%7Cuuo zC0ha?=u$kL&xSKIansRZ^Rcdcw{dY#)9ijT;jeYjOWv5}g*}Kb*4AL(&8BH~A5`L$ zU0Qj0MY1fXzhURa3faf??cF|q{=h~40+W!$aT*7E+#i;u2%klQziwF}cfz(54eB8; zz=bM_nuvdo`_0z%ke7`En*Y96@E)3F1+dC&tjV~L>=Qj`12?r*RWb_(3F^Zz+PCk& zFiT2lg}+B$l-4vYRSvk*1VE6e%x{B~V$W}9!K&`{3DW;fW2hY`=X9!y!9dsHZE0_pD3ne8NUyitmhY6op0{91GlYQ zp>5mjbh@C)V4&^JMi99kH{Rcc7x;B^wz4XZoQoF^VBdFEHy-0G-Tsxm-riZon2fHXs3p82F3=IBu<#=707Zo;#6(uy~7GP4-BtkR>tyUGFC)Al9 zq}>sX>{5%$2}&`c!2uq$clneGB@wE$O4QU(TLMjhgi3^g7Tu#(?n2!Tea8o-@B>HF zym^{jS1+TVG~eg*1%Y0~w80w@e0o||D0Xo;E_@*l%2Noyg@$0h>JC8}2fc5-)^(v5 zAbF!^hR-dr(NxBQ)@b{_Tj5i&jgqX&QVjO(+b=eagPku|Ci@0{4@b)RzMEZMG|n)s z&TR5BTNa{UiReY@Z03X-P5HK!2iQyYOj%WseXy|p_1C{y*LSuqE49xX3~(&`bWo*~ zS>4nJsU!qnf0s=B+;{w4;$I_0Ir_$`C`)UahGzAW1wHur%PiC^E+jQ?Z|@)68s14@ z$|>RF6p3g+t>uO6OX-h1 znx-d1;-YoWyI-i1N3Dbv+;3leZ%31)#0=V6=;LRSIdBPneg1^ek?-8)iom3lJ>9fTHoY$Q#RyhpUOog0MP*Uh(Hl7;Sm zX74_bPy_9eGyXWU<;g(C$>LcV*rZ{D+0eVOlFlOelm4q| zPd+7%0hG5aQL@2OMiMe)uVhw}_@wtx8-Vt7_CU&U7%a~+8%I!>h5?kkby=+MhhrPe z=hr1GMPdK*fBwJbu0QS@X3I#D ziuXYBJ)G-CKT*a(p|&XP>0)1>KYaLQtW=aSRpgn!x60~~|3u)NJkKrKfeYRM03ZNK zL_t($!h-`5-JUPjQ(l{8$;!I1?s2zB->kNh@D5fknNe}AMk~wVJBbleWz=3EomF*f z@|G#jVdt<6jRy+Erahtg=eyIkCwo4h_Sny20o^ky1VVR%+hrJ&80O!HY$nNs5+r)?az6Zp9tQoJMA zO^sgDVpD@`9dlornsl8*@^Z9abi=j`E!Q)X?3r2u$}4k#(!t<`g`L$E)TQhQB~dA^Lh87mSP$Z0tx5`-l?5u zV&EX05e4z6J#}WO85O-$!%`vEf$Y9OAvMp|P$rhL#NoY2t&2VG_ZMS&^rlvd5h!6Q zOaJ44{Oj+%f}_~s$%Hvh6GKoo*V)SxQ8%r3GxCDu46}MX?$$J|$$OEdhk*b;S(kcffHQ? zHYPir&-5gWY`n0Ac|JQUtCEKy80s_iwWre=7Y`@eTGd{zZ!RS$NqiB7LV<#b<|X}% zzQOPp@K|{Zr5b|K%-=Ea3RCWZdRLhW^a1cr z<7FURpfvo;tWYczNQHs~1(b*}T3tiFGqd>z(MH)aBTdqy`(%0=X>%5aS)O|#)jgk9 z*VS>}?C?@xD~(~1-ih<&>J#dwZLO>-pUxui^=@XnpEJt>)Ul+5f*=T%fMyE5E$H*n z6l>$FVnmlYg4K-Q?c_nMf{bWNTQM+lp5al@9fM~r`gfp>g91-|c*X(K<9@@L7s7EL zyGjPJ>|V`#H+0>5v&4?*ttJ5s4R z;8BCUvlyuqN*rObUnu2m+LnYSOnKo$I6NF7n06N)CZ3xZi1dBu#pSxLc)v+i3^Cd&uMf{J6`m;mRxeKR ze_L#SnF#OvEKlbPBrY6|>i5x99;wr_*FK_+?yO-z;p$9TU;Dn%Uj(__w(q``)t|SU z`8G-b2H?hPOt(307oZ_BB4b@vd~Zcbzt3hdM0$qK%zVN25-4B{d%ErkA|YjH*z!Vh zS5*zAfCFfQ#J3M}vG2I0f-JdYpr-D8_?ia)uJGL<&~Rg|sLh-P3#zBE1%O-`s+~hJuPiIozVIE^ zUSlYurDn+DJkR$2@y&Y5Vo@KgRyQXb#$!OQEI9!-6zm6TCeC3Q%V+v61uIb#i;zh) zDo;u*w@n!xg^3ghX*hktl-p(*{4wPVK71TT%TgpU{9nlHs(oXe7p0}Y|NY;7 zPh6+t`ZekalNtR21<`N2nO)9T>xbS=L|6$1pL#sWxK~oBg2$BLs{zaj#gU?u0Dfd9DJUzf0SC_(Ts>p(g z43jP;4T~gTA^3F2OjDP_l%g%1?Kq%glxAKj#L$wbzf3L5s$yroaFyS2Ro}bBLNt_M znrK%3XUI395F1H=L{)jsS`Z-v>t8%rkebyl!Ps^XSK8Crx@YHfgn3qBVy+1nmeh@! zhOLVxqsnnG%Inqz*fvpix~{YLk8e&B>$?MmsXUMn0%=Ll{H3QS=CiG<_YtU||+X|V5eWDq0NW`ea?7&v$Md3KcvH}JZ zO?Hb_d(t2xcj*fzdbtyq^jZ4Pz`t9YrVs+L)hHZ>zGG9q9uq+p@n2szNdEY~R#nA@ z`!K@mIemp;sL_*DQyWa>;0U;&&q(-2HU26h)X*r;NW%+#Cn1=*sMYBz1`#c)|wcKf;^F`2*5zF`tv*R>a?eLpw~Q=2K{*10Gvdytf( zFjs9P*h#un) z(98d~@I2N=b6$`MG0}IYEz2}dKsYy$AD_=x8z&5_1kMn6CnXM>Ok}NzGRq^R&Nxvw zvzLvNx#YblNQ5DRrG)E&>~^B78T_)imLFEdw7dU@))vD??@|8}A3;m?jK`KEOA#(f0}_{;gjNlGE}OhNL@ zwyr*@&>C0zZ4ei<28QJ6@p#zV+q?fZ*RWx zI#PDE@sPO&)BCcjd~=}}4ccE6?<0vs1p^an291HJkQ^m?`}(vPqn*wdU)5&ZEQ$HA zg4Nf!F@iKPK&zZ*iP9E?3uYP3*ql6Q0)9*wa!zG1anTe@vZGf6U?(IXn>byRxV)29 zRqdOh*Ns`h6`c+xH6?)sVU`zeV$|e9(|sIjfrkOmk2_^&n4|RFJR|+ zws{)u)L!h#O@qwAlACDzGtWSH>RqAc!KHDMP@FGUTh`ULgrdbbsVyc`js_9 z6gN8!cnI>l-M)OgpskJVyEn{-j-RMveRh;k*uMMc+4r5xp<+zF{lvhe^GP>8Nc^nw zMd>rqc5Gc1Zwyor>w;GSqsiwy&#tM}w#3Z*tPn}2JzWlybqF3Lry|TrK`f#zzyvPi zalz@;Fo1q0&Azs`&+cib7JdahQ?C>#Vup!C7G&df`mZfsT~l7jCgOg-b1QPJ^CO!K z1YyFw-aR`LPFh}v*K^;AJbZo*(`)G)7o9~_-T2RgcP#S4pZq)Ro=E!^)lbRtec#(_ zO7C9^M>e!xz|DWfzN=7HBP0B8-*;9KJ*fg%o7;uMI&3MJsl|dp(hY5&MKud9>)NP3 z0MW203VS}0J(N>sreVQ2j^4~@8!8&v@w{YgP6E)bes=&Uvl0ue0h5fUBBm__)4)fe zEG-3$u9mR@gJ+^Mg@G1D=|)J+jFg#ZeFc>4<0REPXgY5a^!yRCm+wphN%)EZn5aBfAjM!m{`}K7gE^HLB8&=KFB;j#Gq`&`?0S8-`|a}> zD6FfW394@|*Eh$Z~8pa#1o@X4@eb3Yl+)e~;fgDLNB6$rGdxnvKfZmp5Tbp3eL}8A$*h`W z4HJdmMuZ0>ype-H42Yr!I$H>kU`d;Qc}Qi7aanu96!TtE#rk z`3h~^iVTbOWr8W0117u+R-OBy@zhJ;bQ3R%aT#CPd}LWp!&b(CmdYn~x}+8IrHNAv zhY=FNa?lj2IKF*-;h*8pCYgdJc^lWeYA)0e2VB+MUjk- zZ*T9G<(W;BlGM8++k&fmY=7n#DF+UTx@j?q@=0}ua6eMa)@8OyE888@0iY?*{+vL5 zn7h|TatkxF@85s5$Kz&A(;`W_z_Xh;Db@F(0};PFwhTHnR4}xsGd4lYq|izi2Ef+# zeRntneiuj`QD9=))@W+Z&pv0vg~EKcz6ZIkB)44e;XF@%h=Ptm$rB|JS&o8n7zTe& zhn@yo8vkQT+}y0*XdS7uc)shVaowp>%~Q(k^YbSU;>_{63Ug9kg(g#?y};O5xExJ| zs`RKT5=YUNSo9`o`?VE`8A&yVepxV#i3!l-2%T)xwl>eJpG7+S)xc+bhdp~@+r3a! z*i=Q&gJiIH?s1Xpj2hWgqy%7rF1KYqvIvYCb!?4RmqzAANv~G)hE!prWmR#5mMnjn zkm`Na8BkWW-S0O*Nchhyyi5NPE_&wAgrSBgXsc_=m5%-FI!>Pxiz{>Ak)FkQUfdTb zFHp)3Su8^RO5e~m?aA)<`>{!&JVIJ#O%DsAmFM|rxCQ%=EOeS?Z=5nt^c~Z#ZDR;X zy64|FjU%MYS?15bn%ZTV*(d^ED)@wooT2X_d8!+0n${i+K<#_vJ1z7}6qHqs<7g9; z$|dP2%aTdYy%%gk>BDyz{e4vDm(=R&}Kv)l#~^&n9%pX?;9Jf4DT`%J40 zjzQ)`8KXS5YSb+R8+wHM6-Dl!pU%3S=4pW)%#J2M*zTUkl@ij4CUBseb8FhOt&4($ zbDrh%F__*2L1HK>pDz{6+CIt?Q8y=>C%{`U49Gpav#MCbvPseVqXC%mW;9gO#zTWW z)B~Fb`iiDT0S~wG*m~%ml~nG>pMTJ&ff@lJl%;RECHJ$SOty*dL2b&_yWPIvH>#RL zA~xb)v2ZAjRNv|@T^3}F=^R!FCZG$=p&sCUysfKE95UT+Uy#Of;OPORtfeKb7ySw~ zq=HTtZ&J2>x324ui}dgR{%^l)Z8#1z$a2yX0`%XSMr*1o#F|W)%43l9N7_wIi&2!$ zhn_NJ{^wUU9`u+p%CcZ)*JMkRQfLkn56ji*7sJrowt>E()srU7M$DSfdHN!BFvOJm z|DLj(rpnTb)%Jv`v$S}czK9s00{?uunu2?b7t#IpHk&{6@ae|rWnMJ?c(d3;k*T0yn$FX-Uu5h!u zq&01gF}N{U*$kTCs(8Y8TQ~^ealgAvtg0Jm%>y5}YHKSSjA8&if1iEXv(+Xut=u(j3CnGxC{fJI866p2EE5GzqrHf(!2K+(1(FG}AC zitn$_SJDP>`v*4di_2hOz{FXpAPtXkAa9kkJi|*?xY^Roak{$-84>PgZtwZQ@`;DS zj^S7tX3A8q^I?6Sofrmb9Zb_x=VMV=*PRlWR@b4D#{9xOf}ir>XlIG z@bQA)S$QYv`JC+i{hK`=@`hlomTpk2qOb^28l;j*XfM~B&%!a3zuEch^q39#+C6yh zcq0gDJwQiIQNVEG;G5Z2gz|4Xo&F_X{U0Di@YtsCb=4Oka@k0Hf z7|WkC?}I&9RdvjZJsyt$N>I8BWy($G=&!&17NBBKwLNBXCJnLD80iVTCPBDz-=*I zHftKilFRMQMF}v)wpfpVWL6Z>VZr-qdMbC3AVXpIyWUyX_u&auy74bL0CT*DNyUwr z-1R3bi^72rv)((|)xZDyzx@uSKoj|eD_5;fciDoYOA?53hp0XHDnLsR>IG6kJ6!1E z?!37zhMh@%P=zs1dMekSH$(Tl2-Ou)Jd{DUU2jcYMa4}bi^*Nxq-#Gs@l6itD1B)$ zrs4D>;|Hsx-PYM%zt5S(V;#r<2N1HZA?dlQl0EgkZQCB)T@GauE!x-6$5?3R%hk4Z zwQt{lajH%kn%9#T1g)cZb<^4}zx*0{{;SIezJL2}hbLGhv0Pv8{ugzv;ze?C^9!Yh zWS91>nW+Nzu9W0BzoHm;fB$Ze`=?=YldCG}VAa9MVX}FpOoCq)g%3WDR+!oS{;;|# z1Fc-wHMr_X#D0B!Ib}}4Lr7i|2g=juF-SP8s&Xe)Nr_ff`J(tku~yejbZllvs!@lk z$||(YYezV7a>t8=b#j;zdjho9xDTv(un(G^cjE|lQE=!O^wzvOV12KHc^n20B1%9B z3dp*`(WlUbEQ0R#e0F~yK1L*3@>TM*$~*`#Uvc*lW)HjOd6@cHo(g_M~ErHl^J zx^AI*r9^kOug_0!SBu8i_ni;5wQ(@fQQF`m$q%~?d_WvH-~jy8v+8*Vwt6*Lqr$t@S+L&NRIyDZeJFK{qe^? z?RtB&ug?!XBR5xkKA)bHwHEVjj(%#LHxU^jk3Z}$|MD;LMe-QSJm4@q?0i0pUf`V&DL}=UZDlEx(A)=uB6HicUdC~> z+wINO%aX_i6bzp4I1ExcJItUzGk2q6I{|FaQ<<%Ml^^zD>^(E~s>%S5O7CcBZ)sLX z@}6zXL(<(YOZKqlDU~cdBcbLTC!vA|-gLcH!4gm*h}3dYJ3PE7Q?c50ZAit!oS-lO zOesA+k!T`*()A~M+`lyUw=6D9Qrb8U_Iz?ar`fz1{`D?K0wOoNTyD1SYshyKuhUEOrwcN>Sn!Mwo?H_RXo+r=;kHcx+R4mO9*#Wi350Yed?kpZF3~0 zEDBqfH5Q?gox=`qVdeZ{+#jJ0tv--MXGDX+MW&3gM^Hf8ZF5?Mq$hhj_SNNb9}y_6 zDD62utnbh6vb#m14wqOw{MX{j%z{^qY$SYSs9gl5_xJBYQWtp)nCUQW+b+-#4jcy9 zA9o?b+qT6F0aBv`S?Fy0w%NLEp^74jJ-G}ssBHeu81h;cxz55%X5*0@YGy`rIrF^O z>C~Ited{oa1MxF+SzSl)3$rj`qWy+EUZV90Ma7ku0IzPG{0~&Ei%tNdFUpwQ%Det# zl_Tvs@GRPu&|-w32r)oPdYUG89lgX5^tP?`{rfLcYjIvLG$Cz5QTx>LF8p(zk_GgF z0~*Xc&(TT4!{IOsB@Bl5=pI~eZ+7fQ99THX*G(7iQAMh{bf8A9qnIS4Bwe{TOAG{7 z$=#K%K-;!@CqC;Vp7Z9#+@J#X&|!m|^x4=0>z0CsWqrm6b_hu za;-SG3kYfKe*cQW>}QU)yUTk7bT_gj_(A_m9XYK>26}T7KP88XKR5zU(_~#IN*n4% z{2f35PGnyYJ8ce^l4-G`#Ec@k1;25pTF z9cnwP`|1qQDN`bHj_-w9f=QT=KPBjjdv#FUkmsG}C6wbR{J;PB#k#JuVR%?wRd)Zn zhh+2YGSwi~W{1nOf=nhs5Qfy>(hv@3R)V*3(5ZBa2fPCs**} z-eeRi>a={n1jIZZ5BUg{r9B>lwQUmxW83x4wO^t@EQ%rn9Yoiw>m*COcrwYE(6*^7 z7C?%FAMEGkO269WdbPGqL+{LRFxdb0{@uR5zN{<@yS=^Jw$6qbYVs^le1MJ)h%k<$ zF)s+khnUKYkhu9xfGWiCuInPEalgo-PS2;cZR1p(Jvy+ur_E_)4j2TmvBexo=YRp? zIV8l&d8&BEc{dT7(l|U^4K3Y!*DH<{Wf@(C%6+%YEM|I&?7qVzswf-`{E*CRP~H>O zt}F^$*F9J+=0oc+L;~?r{25>E3B6CRKL3`Fx-ko1AUzUD3TQfZBcE93*Tr zCWjR9+D^~AbyGlw%9-_Onxx9bdXXG$9n1*E6pmfS$>+<}5ejR7001BWNkla&WY(k&=TVfo3=Q z-)5*Y%)yhMr^L@k0SoSV8c44rDOj8alzXX|S!mmX-c$J=2MO-eH~!`c{1o2@QYRy+ zHrCVg`E-Q}1&_D)Z#F%j`rkC!`Eqeph&2vQW@;Qz_TmZ7F)hf=RV5?=$&An8>k$Mg zS75^BymIBR&W9`sKJf1u;O@FU_>!8DsA5?0e7V}!=f|JA7#a?r-2icPbT=gyYXo

Kxns`;a$tT~%4y`Em<- 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 diff --git a/kdepim/mobile/notes/notes-mobile.desktop b/kdepim/mobile/notes/notes-mobile.desktop deleted file mode 100644 index 3172238b..00000000 --- a/kdepim/mobile/notes/notes-mobile.desktop +++ /dev/null @@ -1,80 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Notes -Name[af]=Notas -Name[ar]=ملاحظات -Name[be]=Заметкі -Name[bg]=Notes -Name[br]=Notennoù -Name[bs]=Bilješke -Name[ca]=Notes -Name[ca@valencia]=Notes -Name[cs]=Poznámky -Name[cy]=Nodiadau -Name[da]=Noter -Name[de]=Notizen -Name[el]=Σημειώσεις -Name[en_GB]=Notes -Name[eo]=Notoj -Name[es]=Notas -Name[et]=Sedelid -Name[eu]=Oharrak -Name[fa]=یادداشتها -Name[fi]=Muistiinpanot -Name[fr]=Notes -Name[fy]=Notysjes -Name[ga]=Nótaí -Name[gl]=Notas -Name[he]=פתקים -Name[hu]=Feljegyzések -Name[ia]=Notas -Name[is]=Minnismiðar -Name[it]=Note -Name[ja]=メモ -Name[ka]=ჩანიშვნები -Name[kk]=Жазбалар -Name[km]=ចំណាំ -Name[ko]=노트 -Name[lt]=Užrašai -Name[lv]=Piezīmes -Name[mai]=टिप्पणी -Name[mk]=Белешки -Name[mr]=नोंदी -Name[ms]=Nota -Name[nb]=Notater -Name[nds]=Notizen -Name[ne]=टिपोट -Name[nl]=Notities -Name[nn]=Notat -Name[oc]=Nòtas -Name[pa]=ਨੋਟਿਸ -Name[pl]=Notatki -Name[pt]=Notas -Name[pt_BR]=Notas -Name[ro]=Notițe -Name[ru]=Заметки -Name[se]=Nohtat -Name[sk]=Poznámky -Name[sl]=Notice -Name[sr]=Белешке -Name[sr@ijekavian]=Белешке -Name[sr@ijekavianlatin]=Beleške -Name[sr@latin]=Beleške -Name[sv]=Anteckningar -Name[ta]=குறிப்புகள் -Name[tg]=Ахборот -Name[th]=บันทึกย่อ -Name[tr]=Notlar -Name[ug]=ئىزاھ -Name[uk]=Примітки -Name[uz]=Yozma xotira -Name[uz@cyrillic]=Ёзма хотира -Name[wa]=Notes -Name[x-test]=xxNotesxx -Name[zh_CN]=便笺 -Name[zh_TW]=便條 -Exec=notes-mobile - -Icon=notes-mobile -Type=Application -Categories=Qt;KDE;Utility;TextTools; diff --git a/kdepim/mobile/notes/notes-mobile.ico b/kdepim/mobile/notes/notes-mobile.ico deleted file mode 100644 index 3485cf00c7e19954d478dd4586be37bb6d59ee3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7926 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 VS^RPRf1U@0rT;6x3r}3 - Copyright (c) 2010 Bertjan Broeksema - Copyright (c) 2010 Stephen Kelly - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.0 -import org.kde 4.5 -import org.kde.akonadi 4.5 as Akonadi -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi.notes 4.5 as Notes -import "../mobileui/ScreenFunctions.js" as Screen - -KPIM.MainView { - id: notesMobile - - Connections { - target: guiStateManager - onGuiStateChanged: { updateContextActionStates() } - } - - Component.onCompleted : updateContextActionStates(); - - function updateContextActionStates() - { - if ( guiStateManager.inHomeScreenState ) { - noteActions.showOnlyCategory( "home" ) - } else if ( guiStateManager.inAccountScreenState ) { - noteActions.showOnlyCategory( "account" ) - } else if ( guiStateManager.inSingleFolderScreenState ) { - noteActions.showOnlyCategory( "single_folder" ) - } else if ( guiStateManager.inMultipleFolderScreenState || guiStateManager.inSearchResultScreenState ) { - noteActions.showOnlyCategory( "multiple_folder" ) - } else if ( guiStateManager.inViewSingleItemState ) { - noteActions.showOnlyCategory( "note_viewer" ) - } - } - - NoteView { - id: noteView - objectName : "noteView" - visible: guiStateManager.inViewSingleItemState - anchors.left: parent.left - anchors.topMargin : 40 - anchors.bottomMargin : 10 - anchors.leftMargin : 50 - anchors.rightMargin : 10 - width: parent.width - height: parent.height - - Rectangle { - anchors.top : noteView.top - anchors.bottom : noteView.bottom - anchors.right : noteView.left - width : noteView.anchors.leftMargin - color : "#FAFAFA" - } - } - - Rectangle { - id : backToMessageListButton - visible: guiStateManager.inViewSingleItemState - anchors.right : notesMobile.right - anchors.rightMargin : 70 - anchors.bottom : notesMobile.bottom - anchors.bottomMargin : 100 - Image { - source : KDE.locate( "data", "mobileui/back-to-list-button.png" ); - MouseArea { - anchors.fill : parent; - onClicked : { - noteView.saveNote(); - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - } - - - Item { - id : mainWorkView - visible: { guiStateManager.inHomeScreenState || - guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState - } - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right : parent.right - - Image { - id: backgroundImage - x: 0 - y: 0 -// FIXME: too big, costs about 1.5Mb RAM -// source: "notes-mobile-background.png" - visible: collectionView.visible - } - - Akonadi.AkonadiBreadcrumbNavigationView { - id : collectionView - anchors.top: parent.top - width: 1/3 * parent.width - anchors.bottom : selectButton.top - anchors.left: parent.left - itemHeight: Screen.partition( height, 7 ) - - breadcrumbComponentFactory : _breadcrumbNavigationFactory - - multipleSelectionText : KDE.i18nc("%1 is e.g. 3 folders, %2 is e.g. from 2 accounts, %3 is e.g. 9 emails", - "You have selected \n%1\n%2\n%3", - KDE.i18np("1 folder","%1 folders",collectionView.numSelected), - KDE.i18np("from 1 account","from %1 accounts",application.numSelectedAccounts), - KDE.i18np("1 note","%1 notes",headerList.count)) - - onSelectedClicked : { - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ) - } - - KPIM.AgentStatusIndicator { - anchors { top: parent.top; right: parent.right; rightMargin: 10; topMargin: 10 } - } - } - - KPIM.Button2 { - id : selectButton - anchors.left: collectionView.left - anchors.right: collectionView.right - anchors.bottom : parent.bottom - anchors.bottomMargin : { (collectionView.numSelected == 1) ? -selectButton.height : 0 } - buttonText : (collectionView.numSelected <= 1) ? KDE.i18n("Select") : KDE.i18n("Change Selection") - opacity : { (collectionView.numSelected == 1) ? 0 : 1 } - onClicked : { - application.persistCurrentSelection("preFavSelection"); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ) - } - } - - KPIM.StartCanvas { - id : startPage - visible: !collectionView.hasSelection - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - anchors.leftMargin : 10 - anchors.rightMargin : 10 - showAccountsList : false - favoritesModel : favoritesList - - contextActions : [ - Column { - anchors.fill: parent - height : 70 - KPIM.Button2 { - width: parent.width - buttonText : KDE.i18n( "New Note" ) - onClicked : { - application.startComposer(); - } - } - } - ] - } - - Rectangle { - id : emptyFolderPage - visible: (!guiStateManager.inHomeScreenState && collectionView.hasBreadcrumbs && headerList.count == 0) - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - color : "#00000000" - Text { - text : KDE.i18n("No notes in this notebook"); - height : 20; - font.italic : true - horizontalAlignment : Text.AlignHCenter - anchors.verticalCenter : parent.verticalCenter; - anchors.horizontalCenter : parent.horizontalCenter - } - } - - Rectangle { - id : notesListPage - visible: { guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState - } - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - color : "#00000000" - - NotesListView { - id: headerList - model: itemModel - checkModel : _itemActionModel - anchors.left : parent.left - anchors.top : parent.top - anchors.bottom : filterLineEdit.top - anchors.right : parent.right - navigationModel : _itemNavigationModel - itemHeight: Screen.partition( height, 7 ) - } - - Akonadi.FilterLineEdit { - id: filterLineEdit - anchors.left : parent.left - anchors.bottom : parent.bottom - anchors.right : parent.right - visible : false - height : 0 - y: height == 0 ? parent.height : parent.height - height - } - - Connections { - target : _itemNavigationModel - onCurrentRowChanged : { - headerList.currentRow = _itemNavigationModel.currentRow - noteView.currentNoteRow = _itemNavigationModel.currentRow - guiStateManager.pushUniqueState( KPIM.GuiStateManager.ViewSingleItemState ); - _itemActionModel.select( _itemNavigationModel.currentRow, 3 ); - } - } - } - } - - SlideoutPanelContainer { - anchors.fill: parent - z: 100 - - visible: !guiStateManager.inBulkActionScreenState && - !guiStateManager.inMultipleFolderSelectionScreenState && - !guiStateManager.inConfigScreenState && - !guiStateManager.inSearchScreenState - - SlideoutPanel { - id: actionPanel - titleText: KDE.i18n( "Actions" ) - handlePosition : 125 - handleHeight: 150 - anchors.fill : parent - - Component.onCompleted: { - actionPanel.expanded.connect( noteActions, noteActions.refresh ); - } - - content : [ - NoteActions { - id : noteActions - anchors.fill : parent - - scriptActions : [ - KPIM.ScriptAction { - name : "show_about_dialog" - script : { - actionPanel.collapse(); - aboutDialog.visible = true - } - }, -//TODO enable when SearchWidget::query() is implemented -// KPIM.ScriptAction { -// name : "search_note" -// script : { -// actionPanel.collapse(); -// guiStateManager.pushState( KPIM.GuiStateManager.SearchScreenState ); -// } -// }, - KPIM.ScriptAction { - name : "to_selection_screen" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ); - } - }, - KPIM.ScriptAction { - name : "add_as_favorite" - script : { - actionPanel.collapse(); - application.saveFavorite(); - } - }, - KPIM.ScriptAction { - name : "start_maintenance" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ); - } - } - ] - - onDoCollapse : actionPanel.collapse(); - } - ] - } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inMultipleFolderSelectionScreenState ? KDE.locate( "module", "imports/org/kde/pim/mobileui/MultipleSelectionScreen.qml" ) : "" - onLoaded: { item.backgroundImage = backgroundImage.source; } - } - - Loader { - anchors.fill: parent - source: guiStateManager.inBulkActionScreenState ? "BulkActionComponent.qml" : "" - onLoaded: { - item.backgroundImage = backgroundImage.source - item.itemHeight = Screen.partition( item.height, 7 ) - } - } - - KPIM.SearchResultScreen { - id : searchResultScreen - anchors.fill: parent - - itemView: NotesListView { - id: searchNotesListView - model: itemModel - checkModel : _itemActionModel - navigationModel : _itemNavigationModel - anchors.fill : parent - itemHeight: Screen.partition( height, 7 ) - } - - resultText: KDE.i18np( "One note found", "%1 notes found", searchNotesListView.count ) - } - - Connections { - target: startPage - onFavoriteSelected : { - application.loadFavorite(favName); - } - } - - Loader { - id : aboutDialog - anchors.fill: parent - visible: false - source: visible ? KDE.locate( "module", "imports/org/kde/pim/mobileui/AboutDialog.qml" ) : "" - onLoaded: { item.backgroundSource = backgroundImage.source; } - } - - - KPIM.SearchDialog { - id : searchDialog - searchWidget: Notes.SearchWidget { - anchors.fill: parent - } - } -} diff --git a/kdepim/mobile/notes/notesexporthandler.cpp b/kdepim/mobile/notes/notesexporthandler.cpp deleted file mode 100644 index 7765fec9..00000000 --- a/kdepim/mobile/notes/notesexporthandler.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "notesexporthandler.h" - -#include -#include -#include -#include -#include - -QString NotesExportHandler::dialogText() const -{ - return i18n( "Which notes shall be exported?" ); -} - -QString NotesExportHandler::dialogAllText() const -{ - return i18n( "All Notes" ); -} - -QString NotesExportHandler::dialogLocalOnlyText() const -{ - return i18n( "Notes in current folder" ); -} - -QStringList NotesExportHandler::mimeTypes() const -{ - return QStringList( QLatin1String( "text/x-vnd.akonadi.note" ) ); -} - -bool NotesExportHandler::exportItems( const Akonadi::Item::List &items ) -{ - QList notes; - - foreach ( const Akonadi::Item &item, items ) { - if ( item.hasPayload() ) - notes << item.payload(); - } - - const QString fileName = KFileDialog::getSaveFileName( KUrl( QLatin1String( "notes.mbox" ) ), QLatin1String( "*.mbox" ) ); - if ( fileName.isEmpty() ) // user canceled export - return true; - - KMBox::MBox mbox; - if ( !mbox.load( fileName ) ) { - KMessageBox::error( 0, i18n( "Unable to open MBox file %1", fileName ) ); - return false; - } - - foreach ( const KMime::Message::Ptr ¬e, notes ) { - mbox.appendMessage( note ); - } - - if ( !mbox.save() ) { - KMessageBox::error( 0, i18n( "Unable to save notes to MBox file %1", fileName ) ); - return false; - } - - return true; -} diff --git a/kdepim/mobile/notes/notesexporthandler.h b/kdepim/mobile/notes/notesexporthandler.h deleted file mode 100644 index 136f8b9d..00000000 --- a/kdepim/mobile/notes/notesexporthandler.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef NOTESEXPORTHANDLER_H -#define NOTESEXPORTHANDLER_H - -#include "../lib/exporthandlerbase.h" - -class NotesExportHandler : public ExportHandlerBase -{ - protected: - virtual QString dialogText() const; - virtual QString dialogAllText() const; - virtual QString dialogLocalOnlyText() const; - - virtual QStringList mimeTypes() const; - virtual bool exportItems( const Akonadi::Item::List &items ); -}; - -#endif diff --git a/kdepim/mobile/notes/notesfilterproxymodel.cpp b/kdepim/mobile/notes/notesfilterproxymodel.cpp deleted file mode 100644 index dd02e701..00000000 --- a/kdepim/mobile/notes/notesfilterproxymodel.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "notesfilterproxymodel.h" - -#include -#include - -static bool noteMatchesFilter( const KMime::Message::Ptr ¬e, const QString &filterString ); - -using namespace Akonadi; - -class NotesFilterProxyModel::Private -{ - public: - QString mFilter; -}; - -NotesFilterProxyModel::NotesFilterProxyModel( QObject *parent ) - : QSortFilterProxyModel( parent ), d( new Private ) -{ - setSortLocaleAware( true ); - setDynamicSortFilter( true ); -} - -NotesFilterProxyModel::~NotesFilterProxyModel() -{ - delete d; -} - -void NotesFilterProxyModel::setFilterString( const QString &filter ) -{ - d->mFilter = filter; - invalidateFilter(); -} - -bool NotesFilterProxyModel::filterAcceptsRow( int row, const QModelIndex &parent ) const -{ - if ( d->mFilter.isEmpty() ) - return true; - - const QModelIndex index = sourceModel()->index( row, 0, parent ); - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.hasPayload() ) { - const KMime::Message::Ptr note = item.payload(); - return noteMatchesFilter( note, d->mFilter ); - } - - return true; -} - -static bool noteMatchesFilter( const KMime::Message::Ptr ¬e, const QString &filterString ) -{ - if ( note->subject()->asUnicodeString().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - if ( note->mainBodyPart()->decodedText().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - return false; -} - diff --git a/kdepim/mobile/notes/notesfilterproxymodel.h b/kdepim/mobile/notes/notesfilterproxymodel.h deleted file mode 100644 index 5f38ee37..00000000 --- a/kdepim/mobile/notes/notesfilterproxymodel.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_NOTESFILTERPROXYMODEL_H -#define AKONADI_NOTESFILTERPROXYMODEL_H - -#include - -namespace Akonadi { - -/** - * @short A proxy model for \a EntityTreeModel based note models. - * - * This class provides a filter proxy model for a EntityTreeModel. - * The list of shown notes can be limited by settings a filter pattern. - * Only notes that contain this pattern as part of their data will be listed. - * - * Example: - * - * @code - * - * Akonadi::NotesFilterProxyModel *filter = new Akonadi::NotesFilterProxyModel; - * filter->setSourceModel( model ); - * - * Akonadi::EntityTreeView *view = new Akonadi::EntityTreeView; - * view->setModel( filter ); - * - * QLineEdit *filterEdit = new QLineEdit; - * connect( filterEdit, SIGNAL( textChanged( const QString& ) ), - * filter, SLOT( setFilterString( const QString& ) ) ); - * - * @endcode - * - * @author Tobias Koenig - */ -class NotesFilterProxyModel : public QSortFilterProxyModel -{ - Q_OBJECT - - public: - /** - * Creates a new notes filter proxy model. - * - * @param parent The parent object. - */ - explicit NotesFilterProxyModel( QObject *parent = 0 ); - - /** - * Destroys the notes filter proxy model. - */ - ~NotesFilterProxyModel(); - - public Q_SLOTS: - /** - * Sets the @p filter that is used to filter for matching notes. - */ - void setFilterString( const QString &filter ); - - protected: - //@cond PRIVATE - virtual bool filterAcceptsRow( int row, const QModelIndex &parent ) const; - //@endcond - - private: - //@cond PRIVATE - class Private; - Private* const d; - //@endcond -}; - -} - -#endif diff --git a/kdepim/mobile/notes/notesimporthandler.cpp b/kdepim/mobile/notes/notesimporthandler.cpp deleted file mode 100644 index 3fe1f414..00000000 --- a/kdepim/mobile/notes/notesimporthandler.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "notesimporthandler.h" - -#include -#include -#include -#include - -QString NotesImportHandler::fileDialogNameFilter() const -{ - return QLatin1String( "*.mbox|MBox" ); -} - -QString NotesImportHandler::fileDialogTitle() const -{ - return i18n( "Select MBox to Import" ); -} - -QString NotesImportHandler::collectionDialogText() const -{ - return i18n( "Select the folder the imported note(s) shall be saved in:" ); -} - -QString NotesImportHandler::collectionDialogTitle() const -{ - return i18n( "Select Folder" ); -} - -QString NotesImportHandler::importDialogText( int count, const QString &collectionName ) const -{ - return i18np( "Importing one note to %2", "Importing %1 notes to %2", count, collectionName ); -} - -QString NotesImportHandler::importDialogTitle() const -{ - return i18n( "Import Notes" ); -} - -QStringList NotesImportHandler::mimeTypes() const -{ - return QStringList( QLatin1String( "text/x-vnd.akonadi.note" ) ); -} - -Akonadi::Item::List NotesImportHandler::createItems( const QStringList &fileNames, bool *ok ) -{ - *ok = true; - - Akonadi::Item::List items; - - QList notes; - - foreach ( const QString &fileName, fileNames ) { - KMBox::MBox mbox; - - if ( mbox.load( fileName ) ) { - - const KMBox::MBoxEntry::List entries = mbox.entries(); - mbox.lock(); - foreach ( const KMBox::MBoxEntry &entry, entries ) { - KMime::Message *note = mbox.readMessage( entry ); - if ( note ) - notes << KMime::Message::Ptr( note ); - } - mbox.unlock(); - } else { - const QString caption( i18n( "MBox Import Failed" ) ); - const QString msg = i18nc( "@info", - "When trying to read the MBox, there was an error opening the file %1:", - fileName ); - KMessageBox::error( 0, msg, caption ); - *ok = false; - } - } - - if ( notes.isEmpty() ) { - if ( !(*ok) && fileNames.count() > 1 ) - KMessageBox::information( 0, i18n( "No notes were imported, due to errors with the MBox." ) ); - else if ( *ok ) - KMessageBox::information( 0, i18n( "The MBox does not contain any notes." ) ); - - return items; // nothing to import - } - - foreach ( const KMime::Message::Ptr ¬e, notes ) { - Akonadi::Item item; - item.setPayload( note ); - item.setMimeType( QLatin1String( "text/x-vnd.akonadi.note" ) ); - - items << item; - } - - return items; -} diff --git a/kdepim/mobile/notes/notesimporthandler.h b/kdepim/mobile/notes/notesimporthandler.h deleted file mode 100644 index ca14c193..00000000 --- a/kdepim/mobile/notes/notesimporthandler.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef NOTESIMPORTHANDLER_H -#define NOTESIMPORTHANDLER_H - -#include "../lib/importhandlerbase.h" - -class NotesImportHandler : public ImportHandlerBase -{ - protected: - virtual QString fileDialogNameFilter() const; - virtual QString fileDialogTitle() const; - virtual QString collectionDialogText() const; - virtual QString collectionDialogTitle() const; - virtual QString importDialogText( int count, const QString &collectionName ) const; - virtual QString importDialogTitle() const; - - virtual QStringList mimeTypes() const; - virtual Akonadi::Item::List createItems( const QStringList &fileNames, bool *ok ); -}; - -#endif diff --git a/kdepim/mobile/notes/searchwidget.cpp b/kdepim/mobile/notes/searchwidget.cpp deleted file mode 100644 index 572ab3dc..00000000 --- a/kdepim/mobile/notes/searchwidget.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "searchwidget.h" - -#include "stylesheetloader.h" - -SearchWidget::SearchWidget( QWidget *parent ) - : QWidget( parent ) -{ - mUi.setupUi( this ); - - // set defaults - mUi.inTitles->setChecked( true ); - mUi.inContents->setChecked( true ); - mUi.collectionCombo->setMimeTypeFilter( QStringList() << QLatin1String( "text/x-vnd.akonadi.note" ) ); -} - -QString SearchWidget::query() const -{ - //TODO create search query from dialog - return QString(); -} - -DeclarativeSearchWidget::DeclarativeSearchWidget( QGraphicsItem *parent ) - : QGraphicsProxyWidget( parent ), mSearchWidget( new SearchWidget ) -{ - QPalette palette = mSearchWidget->palette(); - palette.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - mSearchWidget->setPalette( palette ); - StyleSheetLoader::applyStyle( mSearchWidget ); - - setWidget( mSearchWidget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeSearchWidget::~DeclarativeSearchWidget() -{ -} - -QString DeclarativeSearchWidget::query() const -{ - return mSearchWidget->query(); -} - diff --git a/kdepim/mobile/notes/searchwidget.h b/kdepim/mobile/notes/searchwidget.h deleted file mode 100644 index 52321477..00000000 --- a/kdepim/mobile/notes/searchwidget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef SEARCHWIDGET_H -#define SEARCHWIDGET_H - -#include "ui_searchwidget.h" - -#include -#include - -class SearchWidget : public QWidget -{ - Q_OBJECT - - public: - explicit SearchWidget( QWidget *parent = 0 ); - - QString query() const; - - private: - Ui_SearchWidget mUi; -}; - -class DeclarativeSearchWidget : public QGraphicsProxyWidget -{ - Q_OBJECT - - Q_PROPERTY( QString query READ query ) - - public: - explicit DeclarativeSearchWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeSearchWidget(); - - public Q_SLOTS: - QString query() const; - - private: - SearchWidget *mSearchWidget; -}; - -#endif diff --git a/kdepim/mobile/notes/searchwidget.ui b/kdepim/mobile/notes/searchwidget.ui deleted file mode 100644 index c1b7b2f4..00000000 --- a/kdepim/mobile/notes/searchwidget.ui +++ /dev/null @@ -1,152 +0,0 @@ - - - SearchWidget - - - - 0 - 0 - 430 - 278 - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - Search for: - - - - - - - true - - - - - - - In: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - Titles - - - - - - - Contents - - - - - - - - - - Located in: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - any folder - - - true - - - - - - - only in folder - - - - - - - false - - - - - - - - - - - KLineEdit - QLineEdit -

klineedit.h
- - - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
- - - - - locatedInSpecificCollection - toggled(bool) - collectionCombo - setEnabled(bool) - - - 138 - 235 - - - 217 - 239 - - - - - diff --git a/kdepim/mobile/pics/CMakeLists.txt b/kdepim/mobile/pics/CMakeLists.txt deleted file mode 100644 index b72b752c..00000000 --- a/kdepim/mobile/pics/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -install(FILES - add-button.png - back-to-list-button.png - delete-button.png - edit-button.png - long-press-indicator.png - movedown-button.png - moveup-button.png - splashscreenstatic.png - built-on-the-kde-platform.png - DESTINATION ${DATA_INSTALL_DIR}/mobileui) - diff --git a/kdepim/mobile/pics/add-button.png b/kdepim/mobile/pics/add-button.png deleted file mode 100644 index 93070d97ec9c30baaf4a1a2e5fe7ebe73b6231d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2321 zcmV+s3GViZP)V^LLZC75qofz8Hugum_Z zZ?uCTW^@db1V7u0xjT+oxUxAfF4lwlG=u9%;}Q^zj^Gq^H!_B-*J%l25@WO#I*FJP z;h-I}wLt01P8QBQqq#;1+$i?EB9YtXiOq!x`FWfRQ3%hIOO8-nFY$E|9vc%sc^9$h z72>G^)9;PwLetu}0QZeatUt`Q#U3(=i!6+cXi%?DUBXWsm9|2b+j0T^$!GaYRb3{N z*%1zhcRT0$MWi3Ny)_i-;tN$x8Dmm~Lg8FI9={|aX5SyUGvX73JNWW1k85$Q0oEk^ z#8GL>Wcc3VB8zVw))~NGSXelys{0K{tJ&NL9H@v)#A2~yK=6|nq&pfV8jo{zEz&g! z%b55--Ojd9K*!`W`f)Co>kWe7kgE1=6p2P4B2&KaABjXF>ETyoXUQk~&&y0}jp<$0 zyNZZOKrE7@C;2R&0DiGpJmj3~Q&n!J%Q@FqEEW#|e)3s9iR9=>Kukoca;thXF-n{5 zre~qVMOAe(GcyN)o653ZL*LBI%t2Lk3nebvZh8`PHtgq#4fc3BD;;M(8M7_Rjm;@ zWkR9JuCA`s>bBY0*?w0l4Lj8#5%C%p0%ApW1D9fopWDLL(NX4s>-Ogg!b$Me(xs3E zu+Z<^4Fxk5Fvgtf-nMPLTHEpq7@wY=#yYpR89565%YU*l6@;_Bm}rrX zlHsG}Tm8*g7rS8TJdnrPUqF|4F3t>AAT1Z0GlW7!&mRKm9p?@t9GcVdRnr&a^JNu zBN7|*R$ao{%5`-U$f|GQO(eV-vg#Aw#5C?^$f`f3Yup!At0JeYwUfJc?Mk&m znR^EYo?ff{!w)~~_dIV{REM;|FtmOWFQ}e1QDaUG?A%#3T&x8vR18+_UM(!Y*zxlp zeFWAv6qVH_9Mnn>Sp?Ujd#F*nk-u;rwHl`6~VLSeoJ++c{5;#yNDdt*6Vlqi{4ww8^TtohhwimNk=BO@9xCez1z znY*JG|xQ5gE zrqQTg4Lhx~XV3Nz4i2V#VKK-PAAU_}uQ#RB*H39!O7b7?rLEqS4)Vl(kHxa=MnCg5 z?6kzWVPJgn8U6cu`|SOb^fD&XWzu6~;=i$-ZD)R^>2-9U1^!!>-Drr?@RYV9L;rr~ z9gMY;gAYEKT8}U<$H4Jk=E`gKcrR_y90S052y^!BxBH#v4Ff}sW?>q4TB;tf*BP_- z%<0o>j*SPw3L zm7m#DqM8FKiq5?q&SxXa1rh$pcw0^bPE-PKh5BxuwX6U z2f*4Cs(YGI#KF+Xi3tML$pZ%tq*k|`IB}xi7a0bInl2hyCS0=giqHQ(&8&lPM;ceU zjcnM^0pP4Xry@TWk!JMqfW5xR-jfp(*DJ7U*k(Xd{+M-qud@bD3y6d`L1TnNvTQ>`pVtXiifA|^3Pr+)`O z4lD<3z@OiIPR}NjNq;euIf&=&$GLB`Fb!iAYbT=d__0JH5j^yw40=Al@I6ihpYv{V zl=*cNhLyrJFUOE5!|L(gn}_(LqV8`;kM7V=XtzSYSt>Kww9-QdDS?!fO6MMZ{P9bI zn1_z=Yq8v?!laFGYOTVwx}}HHpV8}l?pGM{l&EKT;pA`h{Dx7w0qlEO2CU<-6&3|f znSg(7yOVT7rH5sdi%Vw;>}<2_amo+XBX1mOl=H@LcC%iZ z=y9ey%*Ra^mzGg3A8z}CzI>Q_#L(|qdL49&p%bAUhlg%Z!Kt7aEJ|J-^9E+DM_L`J z_5v4*w=>nU^5GSkD+S`-7PhLT%YzOBF$Y`JVyYMWwE#sB4`<+-g9Qs&@tC#OnA?y7 r@#{L=Dn9}Ew&0fgRm*pTzwP)xH)YqX=W7h400000NkvXXu0mjf7UgF1 diff --git a/kdepim/mobile/pics/back-to-list-button.png b/kdepim/mobile/pics/back-to-list-button.png deleted file mode 100644 index 429d427ca847c3aeb3357fecdad5eec12aca747f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2902 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 Ax&QzG diff --git a/kdepim/mobile/pics/built-on-the-kde-platform.png b/kdepim/mobile/pics/built-on-the-kde-platform.png deleted file mode 100644 index be90557416d9d3100d8f20ed171389ff4f0c5437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12883 zcmV-ZGOW#sP)~~+YGu_i&UETAkZ+*T;RSD-Dzey27h>82$Z@N;`@;fi$ z*NHI?;wj3T>Jn?#Oagq9Tz1*i6`S%bG2K|E<*?+ifj5zCmmRX^KH-x>#TKHW6(}xttHbL&Sj)JHMKO^nq=9%neM%J-Pd2T z@7MbXr{%X%qNn<@>!n}4Br3^&jHK&u!Xcak6ao;=A(g-huuh-=hxFKV5@8Jp3DPTJ zi9k4uz~LOYCjL|Z?Aw3?7eMbUAfRZV9_#{tobxB)usBiQFNDKcUyj70gh5m0v^U@K ze@%bypKiQyb>FY+Ax_J0pG>LoJ74tqZX1`cjG|~&q$0|tGI6PbR1#w}&RUGM*zl54 z5=Aje#zZPY#xb!}C>0@PgpvxWVw98!AyHC+$bp^LgyORk&V$*3a}Mh)IE!;&tp#f^ z&ftv2ID^$1;|yABl#(bBA(TW(NvvW@aS1_0mTGG07`1eC&&c@jC3~)a^UcrMlb)9U zQZgm*D;Ip>dvO%KK2{}Wbam0vQYK9kYDtYGt&yZDX_lakCRQ;jj)|iZO69ahp;U}i zibzU?jF3tqghC=vN`VlFyoV@=xx=}-7Pr=7oyEDlkr|B97;CV`U`&S2-?I#DGPF*> zK`Aa%DwQdhDpbm4%Hv~DI}Il~ zRitQZYa>Z&4VpeB)d_9YRu;_Zbc6Gk*T(Rw(#ovVuy@JI$$9OH{;6RQ2{iE#b9cAyqVfOY6v-jWtW8(?6 zH1S5WAQ;JlmP(oN@nL`!GiT2Had<$}@;f3z2v;tbO{G$?n>TMZLI_Jk1DHT{%nOBx ziQ@`smU%v(r6_4xb^a1gJ8mvr?JX#&5KnlP&~=FJx!OGjJ916@VlJ0oSi0SJkd!FUw{A-&cY zB7YB>pT^HcH78Wt)&B>C7rfuAeXMnb*0;{$tbf^H1beTODH?#amV*PMeEs@I7)>0N zQkinp!ryXN8bt&_Afv|pC2!XUB7_SX4!anNsryM~g7F0^%J%&n2 zkYtWcdki>HfZc=K)!mv-&{>se4TED2X9d;@tOIMq%Lt4GYaP{=GOsv$5#RpV6G#LS zg+P!R%inze$tn7tY57&8F#}6X+!6MQh69=d?qb46Q7@;th$+gcA9cd~5*MD>a?*kY z3%>CA&wu{mOE10jZomp5L>>4JLO`vTt=BJ2y7yXZ8!g#P6U5rIZpxp^;>J)`9w{8@{QdbfBf<99UB|laORn3>J1wKa};Z_o-S3L`hCJI+J6@zxIcz^wIP&c*ru z!gGBqk%jXS#N=|qKbOPZ`2c8M($=1oZ3i-r z?rMEywOWm8wVD8OjqiL?na3%{`Mj6*YK2653s^Z1bftWHg0Y_BNF@*wR3p`qeqWJi z)0mPFtW|3*pr(9a##+V$@beUeM!Dd)60t-MDNnT#4JkLasMcg{Yb?~#$uT8?VEIuICoc@u zmKKm;El&6jO9;ns&2i)X#t z-2i+C2iD9MV)u3r1tDo|seqJ)#p*~IXtC7poH+0$KmXZX7OWL)ltSQ**OqFT z%y{}>h3EAOfx=-OXbH+WjPlyv1a(_2!&s6>Sf@(9^#84Ez;(lZ0BxP;_zefFKC_Ma zGgLhdIW!)EC&>xHz1t1zwrZTMYk3cPQGj0?sFcfOnL%g^c{JHI)?iwWl>BDE?{E`- zU77#fNpG8w-VKA2ia08fYDcOe)sPuMW+2sq)Ieta=S)Lt9JS0av(535SGVzjm92DD z1+~nQWQHU&jHjAfrm3ZdTI!R}n*96?FYndy=hZU9DMyz$``B^-J>({Do&o`|r_b{J zdupN1j?_SEov*icWW_!BbcHC&Gen;~=zsEw7jfE>&S!CEUEceO#eCu|%Zu$#zw>0? zcHz;*c6VD$98K-^J<`%qjj5KK9S|=)Z8rb+V`u(KHT#*%@!}gS)C!Sje#N=|q zzd`}KNx%m-t`&M_i)YC~AXS7Dg475S3z>l=b0pfoQth`>|D+|ZpN>4jb|%=f62+b^JR;g_Ejs2d0mxXx$Nf@{BAPUkpQb# zuV(&WSqLFT!JC~T(U4_=n#KbtX#1LWBpPa&Bgq`y?Sc=zyp7gM0D*u=!fRj9%3r>& zoB3Ue@ziVm*&Whr{JaK&hP)pCvIc6YPeK0R%5Ex=k2KZ6U)T5+_|i`X+0&Q#hGi^? zaU`iFHNw|Xhn`A1Y6d?rCW`9ii5hVpP+e?T1UJAk78D*55`nf!J;GZm!_vqXzMpYUjPCoBO zDg{D$cS(*&Bn|<>KUgOu##$D2MYLCBGmrvpSv)Id&Bb%L{n1fQTu^2>vHaCFPliLL zejwI?ahCVKWEP8N#SJ$ng3au?AI|ZeyGM9vR}yRp5v+GW3Y?(`qIsXILI_I~DWp_6 zVVdIM_#HmIB5+2$*GRbLIv=;7l{If!&fFPgQf>L0Z#~BK_v{B?)!FlT*UCk#`kP-C z$6t8bEI$5*<9X#}cLMN{Rm)g3yUItt`p~53@ZC#aNPA1fzkJ|ytaEJNKgJvWcHNZE z?84J#@qga5obL7*=ivH#_VKA}A7?D_5%6#S#aaC9fdiboyqo7O^YrYhpY7xyf4F7J z@-BPx37osUi*rus;@vM_?62{czbL-H`23^z@Tz6BRU)?TALUQJ@*q18j03(w{L!nI z^41j#iIhNF$G`k|E8n>d?eCN)+yy(wwXU#Q_^6r(3Ic0Ij zlx42D<}vPiw4W<(+|HRFzLhgSd@Dm^83407N}PQ{7k}{g>v{E>yQrmx5C4AsTJL%J zVqSCBT>j@*9^{1|yNy5l+QWS4)k}HlX|t!i))CkIQv!d@8Zo?ggV1fUa3Vxpr9?;- zIsj2eT_D+cp%#m?4r3i(ziq&`y1eAjOXNI0FJfTS;GD@13czcoI&(WCKJfB6)Qf7q zz5w(}pN zEHQllt|#doPC4=D_QSrOl7fG_ZVNjPjI-!UbcvD-nxr*kN2aE7-)#x&KQrp7hiae?}0BpcxBL>A_uU;lIP6(1hy^vQ*M4} zlvke7-lV??bfK0xzI|sO*KO$c8Xq??ZdJ&#d6h{wAp*5=_^9q@uj^sBrVBTzAVhBQ z8JZ9jbSOh0KuLu4X$(@TqIYuC8)*?}bMwe#`n|(xQ6|9717oySd^t1Q zOSHE{T(WX8Z@qAlkMIjYOG&b$;hd@DNYNgq(D)HRZ9$8ujE@VM(}FN27GzOC;Z1Qq zC&rR%*81S^Z{O9=ImcD$YKxixvTc9Dr@p_JgTp$n<^=pSsonZs0j`eTLcV=hKRXWA zDCkW7pnP)zk&onc^@8%N2uZ4)&&~{cg>XK_LKM5|z1O7HnP188pVd(+b_-xuXNf(* zOJl5~95(}NW_y`mw+xMCEMM5Hx#!OC*BKr+#Xf7BpX0L?Z4O<|SYoiw@!9Wh=Jtns zo4zy8;QB`d{8MxM%Y3C0ZjxK`@J7F-m$T@mG1A@c(k=%?VnyYU=*re@y1~qHG zyPKY&lw!67XD4}3>N1gkO#XW1X&sazK`{_z!i$3Pc-8H2Aw5B0tR>M7q|eH)gFOec z?=@uL`_0xz_*QtEAK;wj-9`JWmKA3l)5*g-hXBXkzHw%EmYCmN?*U%%{5pkuCbFk@ zya4f`|s zogMTK`-g8E>XG|RrjpT`DO{tCY$K;03%W|Y=cTjx;!XQQeMG2T(YZB0xBzBjp?}l> z64@}diE|*NL)hlt192#~V4;6l&{g5eKYc!TZtCOW3yxyv!EwHSw;$MY|JFhF_SN|3 z_n*p*_x5nXN!=**6peZcxpPw=?|a1(PFUE^-rjMpp29QoqjgX6mK6*6{{KFkYi`@k zna9rHtm9@(=_xuK`NgI_{^qSGBBfw(G~-`y*!GOh`{cJD=imPL48HvrXK~}b`$@Is zv?ZNv?-}Du&#;VNr{gmFoNq9 zqxqHhW#OPN{&)+ScAT)VjrETYu;!Y_7*CA%1X=j${XNX=s4%Cq#82)&$hCLup>HJR zfo((Nzv`}o<2rW8quvw5n^?T-rLjnAhDx z6e|SznA&De?Fydn@wIeriO;=#2|@@4Mm6vG$`;aw0VR#{xpyvO`GRVpb#rmfaoeT= zuDE$0UwY56bW~NdrCzu~9iuhPhp*mA&p=8YkfQL&$k1C@XXzVGNm4%%l{E&PrVJeH zVPv?U1xuIVrz&(s7bD1foW_teQ$a4hpc3qO8t%3A7tdQL~gi;i#Q zohxSY(O1teF8G7>eRa@_h8t*TJd>pkjs8*17jN9twBJqObJeoqW3QfvQjK-1^M30< zTTSn9MxsLl^=X_GRcVBz$P-k zpznTsxZW}Y(46o&`-PK;M(ewQ%j1VG-u2iBw>&(^g(o)zSsH8v2OKxQ!XKVDlW*L1 z&~rd*LHJbVOlt;4GpxybC5I5w+bF?nl{@ouH*G+x_ue*I4E_dyVD8JH?Q;*32%24p z!t+(w9s+QUPJ(GUTzRU<>}1YQ(+DhAKdKN3Fn{pLaD4vr2aib@5Hd8D6~LL-DS6$Q zZJf5KLVKm|s%!j7jddIt(tb7rk$X=RN`$$1gluXg6XHYod2b|AD6Y79e}fxzs;j}O z7j$#Rl4{YaoihxNYkEggjBD(ztZxL)2j22$QG}y%J0tH2g7-#B4{j+%@aBj@s~6^P z(U|ktK!fIQEdLM&{j@y2JZsHAg~l&_H=8L@7_fwSYp__W85uJSjb>rqnhBk@o7{=_ z3}sj+5K^I}LS}RlA4Au{>T2wKIn$lA_V-&E9WtzHNsd&->6}v zmiak#jK2r0#Tkdgc#Z6G*Q5YxJ;iYl`kOkV%p0hj+&E;NFExNXuahXovF9;?MvvGu z^?7#kY{35%xjJDZ^bX!@+SHuF=O8;f-& z#1b6V=>n7mTMx7)HvnYVm)io3V+LfPNk!ukxeKkH`y=W_fpB3MT)l}*%d?Zi2LGWV zw*amri;0UJfOS|*VT@WQsHHG4k`yTixhXfXRtsmAkU|x_zpg)X?a1Ww8bkCsbUjh|pYdfYFYBxv`JS zFP`n)lmYCG_v5VP9T&{tzAYnc+GlV^dq!l#!V*w$duL64yBv! z-G9V^56>L@j;8~DKD8JQXAQ>qC3O%HPCBH6Bokcm(}PGgNP8vb)Fthlv82lBi(5GH zs0yXnx3XjBR_GtD1*#BqysUTfg}prmR}#Y81Nm2(v1G>bz|NF!{d|BopVv_*N1+?D zVU-ps;Ll$>i~o7mZicl0t8v!gobb-hK-F?m1x@B>GhbH}Da29a@1t6h{KLDJ^Zbz0 z{trLc%C$fDk=jVg;`mY|X{|&Y9TL`7o-vzsj}P!?UwerD(F_nM!KAe1rswdKz2X$- zMzDBJmBn+aTzJ}S-u#(+3h+N$DaDevtXK&6bcBh(zxezGv{oW|hciBL&7%yBXAF!! zv($uNhddMTPbCw8Ur#!-&LON1>Nt@hkXYe}EFdM)K}`$p+g9U&T^e!wFmJzL25)KgS($> z+SfBUbwqWd{O5xQ`SY(oOm|z%`(C+(H=cJC)w1HPD;DyJZ#_2UIZ6tSKdOym=eN?` z79*wL$^L|OkM$Kj!mN%G&s$a>_PB6nh4W7A27JVK`NFn>Lhb1tBgqT`-`j!D$~^Pf zPL|GVBT}$!{}}6^7%096ICg$3b7z#X&T-eH{hYd_gVT@cI(H$#)xf4%6LU z;_TyRu3vDd7KGe&=Xf_G_Pf2w|Y{S$A`GE#!MctW^ufZn$ z1WrPE5G$$3m-xB)p&Dj?5hs&T8Q^mz+Flpv(6CV|@IojXbi;r(V2e#X{bA-cgLFhO2Mc#rt2m1n>i421ipq z_nuP$_}-m+S#{3*Vtm2RAL-@WckJP_?>eOz_q=}~;o?uF(6PvAqDh}IPTq=@`7b0W_2ju`?7Za<)+cXI|B9Y zJMUQvE{4|>`vxpq_glX}Tuz0A&$U@NQ}VVKSNP=jhxzy0#<=9dmV)9KW7t2Sx%-J4 zcRn`CLpz5_lEm8rSe!A1UEl*6NKw#Ia}#`PaYJ@eTcUV8d0HvHoXA|;9e?@4C))*X8e zdCs=|W30L6F-~35!Mv_Al~}TA=Ws|Wi&-?Mg~#@c@UJ&)D}cZLi2?rUy80O1$M=lz z`)ALmT2^e`H_GS3_}ya{v=$WUhI{t$*WY{;fU!jLf!{lZMYCHt>-ZVmF~MH==O1t7 zD>rU0wpX4}AFBB6JNEFmYai$A{ z{8Iz}fIJsPCRpA^T zd_@a?e)SlmNe+4s{Ht%vnvA#Lz(nRV{m9&9={-$veR0Inxf16bZ@r+*1KTy9`oTEb zgd82~M^!mt5z=d6XTrDvn@4MH2wn+FW30h~wVjjIP#*YFY8QcQ5Co zS3bsr+Xjn4?^87s(Xe;%oO(|Fj-K&J$6kHQE`D-fPqE#|gP%^M5R@WcV&6!{!#jrf z(hb|#v}($-~+$sKQEit zItlncT6gHRx9{EJdz#%1z1V$Qd^TvRErVm4ne8#vN;JvfJ%q+zLwV+ECu^y7)_U3- z61;G>Az*{gPcagtcLfSZh|GH6uQ;j18H;@yLk|8KRrvHA$MMC?5SM=A5jO1_=AtuZ^U>EG3zKSh zc+xjqANH7UOmLVtb%tr7}B@sYn@3^C@#p0ZE z)<-t|3gntRX-znXbrRzwk&5wiPq`4^QgpY%AD*X*1)qy#Eg|S`ga7sVh+7_ZTzjV@ z)xmHSG&h30Wd^N#%xrka3c=AcU6bol8^hvRmQSvRpFS+PWupr@$lj~q*_fZL%{qhC zCZt=K(6B;C%{9gXf`ii$W?c>(u|a-ze;=8)tab)xZW)|J@XtG` zo97?f$+CH^yzZQN#f)TE-n^4Ny_0|7lNPn}d%34l-#&I9O-QJevN(o z2|u~7hiX~z;!|c$I&OG8CI=f;k7I(T&&DT)Zl zcfr1Beux&!tq=9_m*xpR`PSnC_)p{`UwxDfp)1bi&tAW*X*<=Ht8dxWFp8=9hgfy? zd{&)3ziHpczV`Xfo1br`N3bEjWMp6M&;^TcCn*p?1k0ABkZ7&PqZmsCrRIUUg1Y8&jrdTTW%xGKZDHog%=((wDICw$`<<-%|+ z7KGCpYc$4q12<1kMkuT^#RGB9gxEygrRf}K?YMV~=crrujTKz+_DA~oi>n^xZ7V!| zdE12x*m+=-?fb_IuZK2pa5$lNDCNLV!q4tMz@A>8?vXe2-l1&L%m(Xd>flgP96K5!sz11UA8{mk%~|tkDJlMA!+vhxc#sdh>KFiq#_K_-FZ^g55A7J{ z{1dyG(H1w+jr+C^GNUzW8bJo|t=spoeg7DjtX#}7b6Y7zf^GZ8_|_e}x#`||W8S`h zjP+0SHo#NLrf!?m6D-Hge|ip@SMtE1;Py?D)Hq&sdW}fdm+>^lphFL!wPDQ<+Zh;1sHHW= z$A=gj?PqLskSt9wCd1^bq?3=(iV#jRJk-yU!6zu#f$t_qgU^HYaA`R@7(Lt~!SIGvH(Db_lS z)flU>RtJ#z{3Gj(@9uC2@}3}%^igPKo7ceQxkU}RA4LNY)I-5_4}uU41MEe^u*IBC zHIcz-c`ijd=Nu=mcCE~@80-9$9R?jDpw>BD!IQPm$G6@?VzdX}$XLcd-z3Z~VNA zwZH6OXw0IuAv1>W-BV@V<_N1Zw9e3`zSgaCp6V1F-`Ilt>ntl8T0R#KHmuYV7LxYV zDNLslyq>uy$e-tdZ1aZW@}OLUL6tXx#wk_8yPF*GnwBFVdGFjPA!T6=mA$WVdHR+_ zV6+ZvOgV5CX*>X}$#dEbMrW8TMF7KNk}usk9PZr;TM!XJ?&+EE@N!J&nm$+ju8!_NtOCsuMNc9S69%eJ z%aIhX!yH1?HH`=UWtX}3HMcq*_U=p(MoJlz`|BN6n8HZSQv{4PWLfI_^B9K41lO&L zi6c!E)rgEi#U)}D)xCYelexV|&|M8QD*SUedWIAusjSD7imD2X)#yw!Ud#B-`YJk0 zNp(V&rDR!#)(Iv{y+LaO^|3AtLh+;}XVs-RD$d=BW`=yrsNV6nqB ztk5Eg7)EhyC?n_iIHp%%c`hZ`VnPTPMUjIX_yT6HUg2=-9S)T8-kBszf;%%0WXYiE z4aR6Pop@h&?0W|3Ttl*032O~XYfK#Z)CL(9A@!XHBTijt$W>=f4YuxUjwCwp9Nl;t zWQ-;=8Cs_ptx0u)&Qdbt!JipTmSx_f6I_^{viXUmtb@2zCRQaf<2_4G)Pd|ZbAwNx z2Jkl2%MudznrKbEVHNMWQCqA!)R5jVjr`|C%8|o4Ym`#9TrM{NA6Uy;WYD@w`Wc0_ zjmT;VIYklHVT{8XO_nAICm{;j)Ocf8+1ws57?Tl2G0Fzet9`m6j9c`M6Ok(N#+nDl>og}%T63ZIDBiU3Xa-QM@YZoxs--1%Mc_W1lGphn2fxC zy<`n8cw8bCV~lPBy$o*7?LC58YEUuA@3GWsqvV52oHYe)@!$_eut|Lb$h`K? zvXsndbe5n^g4QWor~W)+u+E@V8Kq+4xJ;~K#)39Js#7$p^o9hp`i{oof_1y2kOK61 zhNqj*PMTdt%|vKgj)WZ3?YLm6cc1Ovz5CxdAtnFtqcW}K zpb7D7RP_wjz)=LDtTVxV88p7t80|H__X4G8ospRoou$FslZM_v7lAJ+6;TvZic6H@ z7%BV=ZO6qydZ;wZ*dDj1XciD50II>V89U>bol z8mr5gIA~?7F_FeZ24yr_MJSa8eqY!2K9@(bJIRM7Hkyr)&xDYBkBR{%#@iO!XiN_L z!1r~g(IyFQQQrtslVP<+$cR{#D3>Z!N^O+mGCK8ET_WuwEWhJl+vbY zy6cK7uDEH>o;_o8=gv(xZrrE|zq2R|IUxkU_k~hCnCy?^Qs=DhIka_jFkTy@RvV+1 zj*`_fk~Bf6m{>(bQB162R2&mWF_9{vqL?U(h*azWucBscFJ+BpOS zz6qK?2fy~ddmX?ZK%bceZ45fih~kKHxkNdxP-$tU+R{R#Dh%}XGd4EN=*XUTw>)~) z_k|9b=FOXZ?u{om&Bkq@JE=JDvmbVjulElOP_4F6tyKM_ z+CowjHJp^BNsYv$7*oPTn%HU&%%JIwiO@=WiX*20e$e;@@Ea7q_vPm=+u)fog$p$Y ze_`l0fIrijH*|GIrCgy>u28O2DVHj=R4SB8Eo7r64^Z8n?7Q{9>h{mkgcY@Y88NxxeQl(TbQ>nCgic@Z(rPPY4;e&40 zjTqojD+cc=uHc&t3a1-JYB#VtFP`oQkt8&H{=e zL$Psg;DTI@HH3ip9cK2 xOsVmwWm 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 M07*qoM6N<$f+Jb5`~Uy| diff --git a/kdepim/mobile/pics/edit-button.png b/kdepim/mobile/pics/edit-button.png deleted file mode 100644 index 79c773ee0d75360afd20127f0315104efd10018f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4266 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 M07*qoM6N<$f+uw(82|tP diff --git a/kdepim/mobile/pics/long-press-indicator.png b/kdepim/mobile/pics/long-press-indicator.png deleted file mode 100644 index eb67fb1580fcf748e2ffb1bf78717749dbdb7421..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 zcmV;a2v+xrP)B84c6MnQ^#Xmz)gMHbm4YGu{gbw(l5Vv`lLqE0WOD2=*<6sGO~4aNpD*%%La zc9m;-@7;S(7GN+`*)9W7@=I@Z-#Pb_&bjBEdmb?}{+}iO*8q#jdJ*FTCqd=Q5q3hb z;luVBQAq$3GSY%)T=?A?0RWPaj$7uw zPa@>{h`B(N37QT1Es3u8H(-*1k~S_0@X$Zuge$O45>^wlj1rHvhWXycn46mPh4qgy zXLH)1))-8%fDu4-SYm2#dH&M!GMVq3HnCe-yEzR}qYMNyZmT4&9^H%F3j@C0gDB^) zgMg-pFe4iyxt`sTnUu}UJ`w$Pux87&mJLedv@jU(V_?fgLNNBkgq}WJKYqSk8sihu z=c!oqk{eo`)}lcJBP?<559=}g+<Ek!q3Qc;0(p0Ky*ukTAI;Rh zo>w&4@8Of#!$1HIp2wabc=^{O$B|QkPa&o??#(@^48UmI^_XIPE`{dW)R`%N ze{k?#lgxAljFvFi{niy!E(!3>f5A~2I|OvNg;HPcGkpUUUPimFi@A?7nv{k#y6|M` zJdD;5nzeY=E~v6*zaAJ~V@+R{qy;l}9=VEeF_wZl_%1+*V1r<8toAdVTm2hjnwir@ zjPuHcVF>f6yv!97NE?V;)=*j(vj%tgGgH&Sw(CPy#b#o;&LHAmDf>Dha$Q zZ1VTp{dG{3HFrn*tXdn|>UaLf)Zr(6dnx8i4CA?5D-Ql^PDz+)oN? zU2Rm<0T?U_=xHn`W|c_Y>B~-!E?U9!VGr5?u_;6}8UzNpd7sj`qB%HMT(7$Z()C+g zj2~z&3V5gwR#=;aP%0H2zmfHnD(Y#jbO11h2q*&Rfj|(-Xe^L}k5%Q}$=|K)m`2d9 zJM<+v$2TGW6reSVsF73^^isDdli`Jf@=$)*(4!C+0D1-_1xT@>#X>wQ$D4YP4#vJx zCJ+Oj0YnH6JPw2>?@grBi-zPOL_|S5Oo9rN&^G`PNaul4{RJn7lj&%qQOb$|7<&pZ z%n18zly)Wqbf2rHa%+8^nr9qqGnMfX*g00}6Ojv>yX%Mi|VBb6H(7;KNe# zbY*>t63_-E10p-6p_L-b3Kak{K{A7t>vE|%BXTK4%nG170G)H!$VCE@l<<>Yss6lN zo|z3B16c^@BS!)<&t&Nmb0#!+HA@Y6)MvDQezWBK17Je&KtM>#h$4WVg=|10$>oWJ>$*e5T@;Z!qRT(|)h&PJj)8o6 zTUZDSBH5n{-TE}EvA_W;BBypmJrQSvHj)K^AFM;}$YmO(NVFl_)E+c9z9=oTXLaRN zj&Lf+kDyA+x+k)#n=L0?Rs)jbgV&Hj`!j$H;2of!t>7xFZD%}v^~{4M?(sshHhi^A zgu+n})RAH$(z2l~Rkdu~AG*Ex2l*u^5U&&E?XRvPAu`Itz}&T` z`ncnpkS7vdcC0L3zWa;|El*DkPxnp&3 z%Qq({PJftr_MMlh_@-|-;WgXWQox#!5_g_mFM92KyAw6q)%)_(W0{^m{o-P(>s;xz zVhM6qbXXlne!VGJlc=%+*6H7^f6@mo2nYa&ub`ED|F!Ic{=sX<-o2i_e*UFGhMU{1 zjyK<19c^5>0=9kO=*Q^cUlxu-<^?)ouT_ zv-;rAUWwE;Bp~h1$q=qQdz)Jn5CFDbgxE${0j;)qnWQ&x=I`Cze|~Q~H#YQK<20+H zLTr5F=kdnf-&q$dk4Hqny3`xN&A+wHU(Xkv%@BYimrxIwZQA!Lv*V*9eV=}K`_@Ot zl9|zgl0fZvooN5=kD|-={jjY((U1^KDcU?uWut@8bl zJ2RC`j|_|se|~Cos;|dQ4fpC)ZOePSt&6CUs1-nrH9`<@z#t;zjYiG@X<;yut48{G3!dw% r^xS~+Iz)-1(-QU4r~EJbr^bH(n5T}8lP$0*00000NkvXXu0mjf88a1+ diff --git a/kdepim/mobile/pics/movedown-button.png b/kdepim/mobile/pics/movedown-button.png deleted file mode 100644 index c9775fb3b510a8d00aa475d4dde1f67c0316fa92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3694 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 M07*qoM6N<$f}-HWl>h($ diff --git a/kdepim/mobile/pics/moveup-button.png b/kdepim/mobile/pics/moveup-button.png deleted file mode 100644 index e33d4b6879f108bf59bfab5dbda6d0d92039b0cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3389 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

K+8a0fAhLp&v*u8BLB(9H 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 v3bTP+JB>WU%Y5hO=U$^2Z#^2nd`Oz)(DB*#re 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 z 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 z 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 - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.BulkActionScreen { - id : bulkActionScreen - anchors.topMargin : 12 - anchors.fill: parent - - actionListWidth : 1/3 * parent.width - multipleText : KDE.i18np("1 folder", "%1 folders", collectionView.numSelected) - selectedItemModel : _breadcrumbNavigationFactory.qmlSelectedItemModel(); - headerList : TaskListView { - showCheckBox : true - id: bulkActionHeaderList - model: itemModel - checkModel : _itemActionModel - anchors.fill : parent - showCompletionSlider: false - itemHeight: bulkActionScreen.itemHeight - } -} - diff --git a/kdepim/mobile/tasks/CMakeLists.txt b/kdepim/mobile/tasks/CMakeLists.txt deleted file mode 100644 index 470f6c8a..00000000 --- a/kdepim/mobile/tasks/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ -project(task-mobile) - -include_directories( - ${KDEPIMLIBS_INCLUDE_DIR} - ${AKONADI_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} - ${CMAKE_SOURCE_DIR}/calendarsupport/ - ${CMAKE_BINARY_DIR}/calendarsupport/ - ${CMAKE_SOURCE_DIR}/calendarviews -) - -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) - -set(mobile_tasks_SRCS - configwidget.cpp - searchwidget.cpp - tasklistproxy.cpp - tasksfilterproxymodel.cpp - tasksexporthandler.cpp - tasksimporthandler.cpp - tasksactionmanager.cpp - taskthreadgroupercomparator.cpp - mainview.cpp - main.cpp -) - -qt4_wrap_ui(mobile_tasks_SRCS configwidget.ui searchwidget.ui) -kde4_add_kcfg_files(mobile_tasks_SRCS settings.kcfgc) - -if (RUNTIME_PLUGINS_STATIC) - add_definitions(-DKCALCORE_SERIALIZER_PLUGIN_STATIC) -endif () - -kde4_add_app_icon(mobile_tasks_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-tasks-mobile.png") - -kde4_add_executable(tasks-mobile ${mobile_tasks_SRCS} ) - -target_link_libraries(tasks-mobile - ${QT_QTDECLARATIVE_LIBRARY} - ${KDEPIMLIBS_KCALCORE_LIBS} - ${KDEPIMLIBS_AKONADI_CALENDAR_LIBS} - kdepimdbusinterfaces - kdepimmobileui - kdepimmobileuicalendar - kdepim - eventviews -) - -if (RUNTIME_PLUGINS_STATIC) - target_link_libraries(tasks-mobile akonadi_serializer_addressee akonadi_serializer_contactgroup akonadi_serializer_kcalcore akonadi_serializer_mail) -endif () - -install(TARGETS tasks-mobile ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS tasks-mobile.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install(FILES - BulkActionComponent.qml - ConfigDialog.qml - tasks.qml - tasks-mobile-background.png - TaskActions.qml - TaskListView.qml - DESTINATION ${DATA_INSTALL_DIR}/tasks-mobile -) -kde4_install_icons( ${ICON_INSTALL_DIR} ) diff --git a/kdepim/mobile/tasks/ConfigDialog.qml b/kdepim/mobile/tasks/ConfigDialog.qml deleted file mode 100644 index 01175ac1..00000000 --- a/kdepim/mobile/tasks/ConfigDialog.qml +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.akonadi.tasks 4.5 as Tasks -import org.kde.plasma.extras 0.1 as PlasmaExtras - -QML.Rectangle { - id: configDialog - anchors.fill: parent - z: 10 - color: "white" - visible: guiStateManager.inConfigScreenState - - function load() - { - configWidget.load(); - } - - PlasmaExtras.ScrollArea { - id: configWidgetBox - - anchors { - top: parent.top - topMargin: 25 - bottom: parent.bottom - left: parent.left - right: okButton.left - } - - flickableItem: QML.Flickable { - contentHeight: configWidget.height; - - Tasks.ConfigWidget { - id: configWidget - width: parent.width - } - } - } - - KPIM.Button2 { - id: okButton - anchors.top: parent.top - anchors.topMargin: 20 - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "OK" ) - onClicked: { - configWidget.save(); - guiStateManager.popState() - } - } - - KPIM.Button2 { - id: cancelButton - anchors.top: okButton.bottom - anchors.right: parent.right - width: 150 - buttonText: KDE.i18n( "Cancel" ) - onClicked: { - guiStateManager.popState() - } - } -} diff --git a/kdepim/mobile/tasks/Messages.sh b/kdepim/mobile/tasks/Messages.sh deleted file mode 100644 index d47ff003..00000000 --- a/kdepim/mobile/tasks/Messages.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -$EXTRACTRC --ignore-no-input `find . \( -name '*.ui' -or -name '*.rc' -or -name '*.kcfg' -or -name '*.kcfg.cmake' \) -and -not -name '*-mobile.rc'` >> rc.cpp || exit 11 -$XGETTEXT -ktranslate `find -name '*.cpp' -o -name '*.h'` -o $podir/tasks-mobile.pot -$XGETTEXT -ktranslate `find . -name '*.qml'` -j -L Java -o $podir/tasks-mobile.pot -rm -f rc.cpp diff --git a/kdepim/mobile/tasks/TaskActions.qml b/kdepim/mobile/tasks/TaskActions.qml deleted file mode 100644 index 4816e660..00000000 --- a/kdepim/mobile/tasks/TaskActions.qml +++ /dev/null @@ -1,152 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 -import "../mobileui/ScreenFunctions.js" as Screen - -ActionMenuContainer { - - menuStyle : true - - actionItemHeight : Screen.partition( height, 6 ) - actionItemSpacing - actionItemWidth : 200 - actionItemSpacing : 2 - - ActionList { - category : "home" - name : "home_menu" - text : KDE.i18n( "Home" ) - ActionListItem { name : "synchronize_all_items" } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Multiple Task Lists" ) } - ActionListItem { name : "import_tasks" } - ActionListItem { name : "export_account_tasks" } - ActionListItem { name : "configure_categories" } - } - - FavoriteManager{ model : favoritesList } - - AgentInstanceList { - category : "home" - name : "accounts_list" - text : KDE.i18n( "Accounts" ) - - model : agentInstanceList - } - - ActionList { - category : "account" - name : "account_menu" - text : KDE.i18n( "Account" ) - ActionListItem { name : "akonadi_resource_synchronize" } - ActionListItem { name : "akonadi_resource_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "archive_old_entries" } - ActionListItem { name : "purge_completed_tasks" } - } - - ActionList { - name : "single_folder_folder_menu" - category : "single_folder" - text : KDE.i18n( "Folder" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_tasks" } - ActionListItem { name : "archive_old_entries" } - ActionListItem { name : "purge_completed_tasks" } - } - - ActionList { - category : "single_folder" - name : "single_folder_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_collection_properties" } - ActionListItem { name : "akonadi_collection_create" } - ActionListItem { name : "akonadi_collection_move_to_dialog" } - ActionListItem { name : "akonadi_collection_copy_to_dialog" } - ActionListItem { name : "akonadi_collection_delete" } - } - - ActionList { - category : "single_folder" - name : "single_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_folder_menu" - text : KDE.i18n( "Folders" ) - ActionListItem { name : "akonadi_collection_sync" } - ActionListItem { name : "export_selected_tasks" } - ActionListItem { name : "archive_old_entries" } - ActionListItem { name : "purge_completed_todos" } - } - - ActionList { - category : "multiple_folder" - name : "multi_folder_view_menu" - text : KDE.i18n( "View" ) - ScriptActionItem { name : "add_as_favorite"; title : KDE.i18n( "Add View As Favorite" ); visible: !guiStateManager.inSearchResultScreenState } - ScriptActionItem { name : "to_selection_screen"; title : KDE.i18n( "Select Task Lists" ) } - ScriptActionItem { name : "start_maintenance"; title : KDE.i18n( "Switch To Editing Mode" ) } - } - - ActionList { - category : "todo_viewer" - name : "todo_viewer_todo_menu" - text : KDE.i18n( "Task" ) - ActionListItem { name : "akonadi_subtodo_create" } - ActionListItem { name : "make_subtask_independent" } - ActionListItem { name : "make_all_subtasks_independent" } - } - - ActionList { - category : "todo_viewer" - name : "todo_viewer_attachment_menu" - text : KDE.i18n( "Attachments" ) - ActionListItem { name : "save_all_attachments" } - } - - ActionList { - category : "todo_viewer" - name : "todo_viewer_edit_menu" - text : KDE.i18n( "Edit" ) - ActionListItem { name : "akonadi_incidence_edit" } - ActionListItem { name : "akonadi_item_copy_to_dialog" } - ActionListItem { name : "akonadi_item_move_to_dialog" } - ActionListItem { name : "akonadi_item_delete" } - } - - ApplicationGeneralActions { - name : "application_menu" - category : "standard" - text : KDE.i18n( "Tasks" ) - type : "task" - - addNewActionName: "akonadi_todo_create" - //TODO enable when SearchWidget::query() is implemented - //searchActionTitle: KDE.i18n( "Search For Tasks" ) - configureActionTitle: KDE.i18n( "Configure Tasks" ) - } -} diff --git a/kdepim/mobile/tasks/TaskListView.qml b/kdepim/mobile/tasks/TaskListView.qml deleted file mode 100644 index dc263ca0..00000000 --- a/kdepim/mobile/tasks/TaskListView.qml +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.pim.mobileui 4.5 as KPIM - -KPIM.ItemListView { - id: itemList - property bool showCheckBox - property variant checkModel - property bool showCompletionSlider: true - - delegate: [ - KPIM.ItemListViewDelegate { - id : listDelegate - showCheckBox : itemList.showCheckBox - checkModel : itemList.checkModel - navigationModel : itemList.navigationModel - height : itemList.itemHeight - color: model.backgroundColor - clip: true - summaryContent: [ - QML.Text { - id : summaryLabel - anchors.top : parent.top - anchors.topMargin : 1 - anchors.left : parent.left - anchors.leftMargin : model.isSubTask ? 30 : 10 - anchors.right: parent.right - anchors.rightMargin: completionSlider.width - text: KDE.i18n( "Task: %1", model.summary ) - color : "#0C55BB" - font.pixelSize: 16 - elide: "ElideRight" - }, - QML.Text { - anchors.top : summaryLabel.bottom - anchors.topMargin : 1 - anchors.left : parent.left - anchors.leftMargin : model.isSubTask ? 30 : 10 - anchors.right: parent.right - anchors.rightMargin: completionSlider.width - height : 30; - text: model.hasDescription ? KDE.i18n( "Details: %1", model.singleLineDescription ) : "" - color: "#3B3B3B" - font.pixelSize: 18 - elide: "ElideRight" - }, - KPIM.CompletionSlider { - id: completionSlider - visible: showCompletionSlider - anchors.top: parent.top - anchors.right: parent.right - onPercentageUpdated : { - application.setPercentComplete(model.index, value); - } - }, - QML.Image { - id : importantFlagImage - anchors.verticalCenter : parent.verticalCenter; - anchors.left : parent.left - anchors.leftMargin : 15 - source : KDE.iconPath("emblem-important.png", parent.height + 16) - opacity : model.is_important ? 0.25 : 0 - } - ] - } - ] -} diff --git a/kdepim/mobile/tasks/configwidget.cpp b/kdepim/mobile/tasks/configwidget.cpp deleted file mode 100644 index 0a10e440..00000000 --- a/kdepim/mobile/tasks/configwidget.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "configwidget.h" - -#include "settings.h" -#include "stylesheetloader.h" -#include "ui_configwidget.h" - -#include -#include - -using namespace CalendarSupport; - -ConfigWidget::ConfigWidget( QWidget *parent ) - : QWidget( parent ) -{ - Ui_ConfigWidget ui; - ui.setupUi( this ); - - mManager = new KConfigDialogManager( this, Settings::self() ); -} - -void ConfigWidget::setPreferences( const EventViews::PrefsPtr &preferences ) -{ - mViewPrefs = preferences; - load(); -} - -void ConfigWidget::load() -{ - loadFromExternalSettings(); - mManager->updateWidgets(); -} - -void ConfigWidget::save() -{ - mManager->updateSettings(); - saveToExternalSettings(); -} - -void ConfigWidget::loadFromExternalSettings() -{ - // Date and Time - Settings::self()->setRemindersForNewTodos( KCalPrefs::instance()->defaultTodoReminders() ); - Settings::self()->setReminderDefaultTime( KCalPrefs::instance()->reminderTime() ); - Settings::self()->setReminderDefaultUnit( KCalPrefs::instance()->reminderTimeUnits() ); - - // Views - Settings::self()->setTodoDueColor( mViewPrefs->todoDueTodayColor() ); - Settings::self()->setTodoOverdueColor( mViewPrefs->todoOverdueColor() ); - -} - -void ConfigWidget::saveToExternalSettings() -{ - // Date and Time - KCalPrefs::instance()->setDefaultTodoReminders( Settings::self()->remindersForNewTodos() ); - KCalPrefs::instance()->setReminderTime( Settings::self()->reminderDefaultTime() ); - KCalPrefs::instance()->setReminderTimeUnits( Settings::self()->reminderDefaultUnit() ); - - // Views - mViewPrefs->setTodoDueTodayColor( Settings::self()->todoDueColor() ); - mViewPrefs->setTodoOverdueColor( Settings::self()->todoOverdueColor() ); - - Settings::self()->writeConfig(); - KCalPrefs::instance()->writeConfig(); - mViewPrefs->writeConfig(); -} - -DeclarativeConfigWidget::DeclarativeConfigWidget( QGraphicsItem *parent ) - : DeclarativeWidgetBase( parent ) -{ -} - -DeclarativeConfigWidget::~DeclarativeConfigWidget() -{ -} - -void DeclarativeConfigWidget::setPreferences( const EventViews::PrefsPtr &preferences ) -{ - widget()->setPreferences( preferences ); -} - -void DeclarativeConfigWidget::load() -{ - widget()->load(); -} - -void DeclarativeConfigWidget::save() -{ - widget()->save(); -} - diff --git a/kdepim/mobile/tasks/configwidget.h b/kdepim/mobile/tasks/configwidget.h deleted file mode 100644 index f2a42e12..00000000 --- a/kdepim/mobile/tasks/configwidget.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef CONFIGWIDGET_H -#define CONFIGWIDGET_H - -#include "calendarviews/eventview.h" -#include "calendarviews/prefs.h" - -#include "declarativewidgetbase.h" -#include "mainview.h" - -#include -#include - -class KConfigDialogManager; - -class ConfigWidget : public QWidget -{ - Q_OBJECT - - public: - explicit ConfigWidget( QWidget *parent = 0 ); - - void setPreferences( const EventViews::PrefsPtr &preferences ); - - public Q_SLOTS: - void load(); - void save(); - - private: - void loadFromExternalSettings(); - void saveToExternalSettings(); - - KConfigDialogManager *mManager; - EventViews::PrefsPtr mViewPrefs; -}; - -class DeclarativeConfigWidget : -#ifndef Q_MOC_RUN -public DeclarativeWidgetBase -#else -public QGraphicsProxyWidget -#endif -{ - Q_OBJECT - - public: - explicit DeclarativeConfigWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeConfigWidget(); - - void setPreferences( const EventViews::PrefsPtr &preferences ); - - public Q_SLOTS: - void load(); - void save(); -}; - -#endif diff --git a/kdepim/mobile/tasks/configwidget.ui b/kdepim/mobile/tasks/configwidget.ui deleted file mode 100644 index fa2e8e29..00000000 --- a/kdepim/mobile/tasks/configwidget.ui +++ /dev/null @@ -1,158 +0,0 @@ - - - ConfigWidget - - - - 0 - 0 - 426 - 207 - - - - - - - - - - 75 - true - - - - Time and Date - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Enable reminders for new to-dos - - - - - - - Default reminder time: - - - - - - - - - - - minute(s) - - - - - hour(s) - - - - - day(s) - - - - - - - - - - - - - 75 - true - - - - View - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Always display completed to-dos at the bottom of the list - - - - - - - - - To-do due today color: - - - - - - - - - - To-do overdue color: - - - - - - - - - - - - - - - KPIM::KColorCombo - QComboBox -

kcolorcombo.h
- - - - - diff --git a/kdepim/mobile/tasks/hi48-apps-tasks-mobile.png b/kdepim/mobile/tasks/hi48-apps-tasks-mobile.png deleted file mode 100644 index 4159d98c80cc1efcddc4289b81d9ffb3cbfa26a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3434 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 M07*qoM6N<$f)SLo?EnA( diff --git a/kdepim/mobile/tasks/hi64-apps-tasks-mobile.png b/kdepim/mobile/tasks/hi64-apps-tasks-mobile.png deleted file mode 100644 index 6782f0a0ede504d39fc9e352192c808cc3d1ef99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4788 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 diff --git a/kdepim/mobile/tasks/main.cpp b/kdepim/mobile/tasks/main.cpp deleted file mode 100644 index 9eeef51a..00000000 --- a/kdepim/mobile/tasks/main.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* -* This file is part of Akonadi -* -* Copyright (c) 2010 Bertjan Broeksema -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ - -#include -#include -#include - -#include - -#include "mainview.h" - -#ifdef KCALCORE_SERIALIZER_PLUGIN_STATIC -#include - -Q_IMPORT_PLUGIN(akonadi_serializer_mail) -Q_IMPORT_PLUGIN(akonadi_serializer_addressee) -Q_IMPORT_PLUGIN(akonadi_serializer_contactgroup) -Q_IMPORT_PLUGIN(akonadi_serializer_kcalcore) -#endif - -using namespace IncidenceEditorNG; - -int main( int argc, char **argv ) -{ - const QByteArray& ba = QByteArray( "tasks-mobile" ); - const KLocalizedString name = ki18n( "Kontact Touch Tasks" ); - - EditorConfig::setEditorConfig( new KOrganizerEditorConfig ); - - KAboutData aboutData( ba, ba, name, ba, name ); - aboutData.setProductName( "KOrganizer Mobile/tasks" ); //has to match the bugzilla product name - - KCmdLineArgs::init( argc, argv, &aboutData ); - KDeclarativeApplication app; - - KGlobal::locale()->insertCatalog( QLatin1String("libkcalutils") ); - KGlobal::locale()->insertCatalog( QLatin1String("libincidenceeditors") ); - - return app.exec(); -} - diff --git a/kdepim/mobile/tasks/mainview.cpp b/kdepim/mobile/tasks/mainview.cpp deleted file mode 100644 index 9e774c6e..00000000 --- a/kdepim/mobile/tasks/mainview.cpp +++ /dev/null @@ -1,480 +0,0 @@ -/* -* This file is part of Akonadi -* -* Copyright (c) 2010 Bertjan Broeksema -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ - -#include "mainview.h" - -#include "actionhelper.h" -#include "calendar/incidenceview.h" -#include "calendar/kcalitembrowseritem.h" -#include "configwidget.h" -#include "searchwidget.h" -#include "settings.h" -#include "tasklistproxy.h" -#include "tasksactionmanager.h" -#include "tasksfilterproxymodel.h" -#include "tasksexporthandler.h" -#include "tasksimporthandler.h" -#include "taskthreadgroupercomparator.h" -#include "threadgroupermodel.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -using namespace Akonadi; - -QML_DECLARE_TYPE( CalendarSupport::KCal::KCalItemBrowserItem ) -QML_DECLARE_TYPE( DeclarativeConfigWidget ) -QML_DECLARE_TYPE( DeclarativeSearchWidget ) - -MainView::MainView( QWidget *parent ) - : KDeclarativeMainView( QLatin1String("tasks"), new TaskListProxy, parent ) - , mCalendarUtils( 0 ) - , mTasksActionManager( 0 ) - , mCalendarPrefs( new EventViews::Prefs ) - , mCalendar( 0 ) - , mChanger( 0 ) -{ - mCalendarPrefs->readConfig(); - qobject_cast( itemModel() )->setPreferences( mCalendarPrefs ); - - // re-sort the list when config options have changed - connect( Settings::self(), SIGNAL(configChanged()), - qobject_cast( itemModel() ), SLOT(invalidate()) ); -} - -MainView::~MainView() -{ - mCalendarPrefs->writeConfig(); -} - -void MainView::doDelayedInit() -{ - setWindowTitle( i18n( "Tasks" ) ); - - addMimeType( KCalCore::Todo::todoMimeType() ); - itemFetchScope().fetchFullPayload(); - - qmlRegisterType( "org.kde.kcal", 4, 5, "IncidenceView" ); - qmlRegisterType( "org.kde.akonadi.tasks", 4, 5, "ConfigWidget" ); - qmlRegisterType( "org.kde.akonadi.tasks", 4, 5, "SearchWidget" ); - - QStringList mimeTypes; - mimeTypes << KCalCore::Todo::todoMimeType(); - mCalendar = Akonadi::ETMCalendar::Ptr( new Akonadi::ETMCalendar( mimeTypes ) ); - - mChanger = new Akonadi::IncidenceChanger( this ); - - Akonadi::FreeBusyManager::self()->setCalendar( mCalendar ); - - mCalendarUtils = new CalendarSupport::CalendarUtils( mCalendar, this ); - mCalendar->setParent( mCalendarUtils ); - connect( mCalendarUtils, SIGNAL(actionFinished(Akonadi::Item)), - SLOT(processActionFinish(Akonadi::Item)) ); - connect( mCalendarUtils, SIGNAL(actionFailed(Akonadi::Item,QString)), - SLOT(processActionFail(Akonadi::Item,QString)) ); - - mTasksActionManager = new TasksActionManager( actionCollection(), this ); - mTasksActionManager->setCalendar( mCalendar ); - mTasksActionManager->setItemSelectionModel( itemSelectionModel() ); - - connect( entityTreeModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), - mTasksActionManager, SLOT(updateActions()) ); - - connect( actionCollection()->action( QLatin1String( "import_tasks" ) ), - SIGNAL(triggered(bool)), SLOT(importItems()) ); - connect( actionCollection()->action( QLatin1String( "export_account_tasks" ) ), - SIGNAL(triggered(bool)), SLOT(exportItems()) ); - connect( actionCollection()->action( QLatin1String( "export_selected_tasks" ) ), - SIGNAL(triggered(bool)), SLOT(exportItems()) ); - connect( actionCollection()->action( QLatin1String( "make_subtask_independent" ) ), - SIGNAL(triggered(bool)), SLOT(makeTaskIndependent()) ); - connect( actionCollection()->action( QLatin1String( "make_all_subtasks_independent" ) ), - SIGNAL(triggered(bool)), SLOT(makeAllSubtasksIndependent()) ); - connect( actionCollection()->action( QLatin1String( "purge_completed_tasks" ) ), - SIGNAL(triggered(bool)), SLOT(purgeCompletedTasks()) ); - connect( actionCollection()->action( QLatin1String( "save_all_attachments" ) ), - SIGNAL(triggered(bool)), SLOT(saveAllAttachments()) ); - connect( actionCollection()->action( QLatin1String( "archive_old_entries" ) ), - SIGNAL(triggered(bool)), SLOT(archiveOldEntries()) ); - - KAction *action = new KAction( i18n( "Configure Categories" ), this ); - connect( action, SIGNAL(triggered(bool)), SLOT(configureCategories()) ); - actionCollection()->addAction( QLatin1String( "configure_categories" ), action ); - - KPIM::ReminderClient::startDaemon(); -} - -void MainView::setConfigWidget( ConfigWidget *configWidget ) -{ - Q_ASSERT( configWidget ); - if ( configWidget ) - configWidget->setPreferences( mCalendarPrefs ); -} - -void MainView::finishEdit( QObject *editor ) -{ - mOpenItemEditors.remove( editor ); -} - -void MainView::newTask() -{ - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Tasks" ) ); - - Item item; - item.setMimeType( KCalCore::Todo::todoMimeType() ); - KCalCore::Todo::Ptr todo( new KCalCore::Todo ); - - { // Set some defaults - IncidenceEditorNG::IncidenceDefaults defaults; - // Set the full emails manually here, to avoid that we get dependencies on - // KCalPrefs all over the place. - defaults.setFullEmails( CalendarSupport::KCalPrefs::instance()->fullEmails() ); - // NOTE: At some point this should be generalized. That is, we now use the - // freebusy url as a hack, but this assumes that the user has only one - // groupware account. Which doesn't have to be the case necessarily. - // This method should somehow depend on the calendar selected to which - // the incidence is added. - if ( CalendarSupport::KCalPrefs::instance()->useGroupwareCommunication() ) - defaults.setGroupWareDomain( KUrl( Akonadi::CalendarSettings::self()->freeBusyRetrieveUrl() ).host() ); - - // make it due one day from now - const KDateTime now = KDateTime::currentLocalDateTime(); - defaults.setStartDateTime( now ); - defaults.setEndDateTime( now.addDays( 1 ) ); - - defaults.setDefaults( todo ); - } - - item.setPayload( todo ); - editor->load( item ); - - if ( regularSelectionModel()->hasSelection() ) { - const QModelIndex index = regularSelectionModel()->selectedIndexes().first(); - const Akonadi::Collection collection = index.data( Akonadi::EntityTreeModel::CollectionRole ).value(); - if ( collection.isValid() ) - editor->setDefaultCollection( collection ); - } - - editor->show(); -} - -void MainView::newSubTask() -{ - Item item = currentItem(); - if ( !item.isValid() ) - return; - - KCalCore::Todo::Ptr parentTodo = item.payload(); - KCalCore::Todo::Ptr todo( new KCalCore::Todo ); - - // make it due one day from now - todo->setDtStart( KDateTime::currentLocalDateTime() ); - todo->setDtDue( KDateTime::currentLocalDateTime().addDays( 1 ) ); - todo->setRelatedTo( parentTodo->uid(), KCalCore::Todo::RelTypeParent ); - - item.setPayload( todo ); - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Tasks" ) ); - editor->load( item ); - editor->show(); -} - -void MainView::makeTaskIndependent() -{ - Item item = currentItem(); - if ( !item.isValid() ) - return; - - if ( mCalendarUtils->makeIndependent( item ) ) { - actionCollection()->action( QLatin1String( "make_subtask_independent" ) )->setEnabled( false ); - } -} - -void MainView::makeAllSubtasksIndependent() -{ - Item item = currentItem(); - if ( !item.isValid() ) - return; - - if ( mCalendarUtils->makeChildrenIndependent( item ) ) { - actionCollection()->action( QLatin1String( "make_all_subtasks_independent" ) )->setEnabled( false ); - } -} - -void MainView::purgeCompletedTasks() -{ - const int result = KMessageBox::warningContinueCancel( - this, - i18n( "Delete all completed to-dos?" ), - i18n( "Purge To-dos" ), - KGuiItem( i18n( "Purge" ) ) ); - - if ( result == KMessageBox::Continue ) { - mCalendarUtils->purgeCompletedTodos(); - } -} - -void MainView::setPercentComplete( int row, int percentComplete ) -{ - const QModelIndex index = itemModel()->index( row, 0 ); - itemModel()->setData( index, percentComplete, TaskListProxy::PercentCompleteRole ); -} - -void MainView::editIncidence() -{ - const CalendarSupport::KCal::KCalItemBrowserItem *todoView = rootObject()->findChild(); - Q_ASSERT( todoView ); - if ( todoView ) - editIncidence( todoView->item() ); -} - -void MainView::editIncidence( const Akonadi::Item &item ) -{ - if ( mOpenItemEditors.values().contains( item.id() ) ) - return; // An editor for this item is already open. - - IncidenceView *editor = new IncidenceView; - editor->setWindowTitle( i18n( "Kontact Touch Tasks" ) ); - editor->load( item, QDate() ); - - mOpenItemEditors.insert( editor, item.id() ); - connect( editor, SIGNAL(destroyed(QObject*)), SLOT(finishEdit(QObject*)) ); - - editor->show(); -} - -QAbstractItemModel* MainView::createItemModelContext( QDeclarativeContext *context, QAbstractItemModel *model ) -{ - TaskThreadGrouperComparator *comparator = new TaskThreadGrouperComparator; - ThreadGrouperModel *grouperModel = new ThreadGrouperModel( comparator, this ); - grouperModel->setDynamicModelRepopulation( true ); - grouperModel->setSourceModel( model ); - - // trigger a resort whenever the task status has changed - connect( model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - grouperModel, SLOT(invalidate()) ); - - return KDeclarativeMainView::createItemModelContext( context, grouperModel ); -} - -void MainView::setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ) -{ - mStandardActionManager = new Akonadi::StandardCalendarActionManager( actionCollection(), this ); - mStandardActionManager->setCollectionSelectionModel( collectionSelectionModel ); - mStandardActionManager->setItemSelectionModel( itemSelectionModel ); - - mStandardActionManager->createAllActions(); - mStandardActionManager->interceptAction( Akonadi::StandardActionManager::CreateResource ); - mStandardActionManager->interceptAction( Akonadi::StandardCalendarActionManager::CreateTodo ); - mStandardActionManager->interceptAction( Akonadi::StandardCalendarActionManager::CreateSubTodo ); - mStandardActionManager->interceptAction( Akonadi::StandardCalendarActionManager::EditIncidence ); - - connect( mStandardActionManager->action( Akonadi::StandardActionManager::CreateResource ), - SIGNAL(triggered(bool)), SLOT(launchAccountWizard()) ); - connect( mStandardActionManager->action( Akonadi::StandardCalendarActionManager::CreateTodo ), - SIGNAL(triggered(bool)), SLOT(newTask()) ); - connect( mStandardActionManager->action( Akonadi::StandardCalendarActionManager::CreateSubTodo ), - SIGNAL(triggered(bool)), SLOT(newSubTask()) ); - connect( mStandardActionManager->action( Akonadi::StandardCalendarActionManager::EditIncidence ), - SIGNAL(triggered(bool)), SLOT(editIncidence()) ); - connect( mStandardActionManager, SIGNAL(actionStateUpdated()), SLOT(updateActionTexts()) ); - - ActionHelper::adaptStandardActionTexts( mStandardActionManager ); - - mStandardActionManager->action( StandardActionManager::CollectionProperties )->setText( i18n( "Task List Properties" ) ); - mStandardActionManager->action( StandardActionManager::CreateCollection )->setText( i18n( "New Sub Task List" ) ); - mStandardActionManager->action( StandardActionManager::CreateCollection )->setProperty( "ContentMimeTypes", QStringList( KCalCore::Todo::todoMimeType() ) ); - mStandardActionManager->setActionText( StandardActionManager::SynchronizeCollections, ki18np( "Synchronize This Task List", "Synchronize These Task Lists" ) ); - mStandardActionManager->setActionText( StandardActionManager::DeleteCollections, ki18np( "Delete Task List", "Delete Task Lists" ) ); - mStandardActionManager->action( StandardActionManager::MoveCollectionToDialog )->setText( i18n( "Move Task List To" ) ); - mStandardActionManager->action( StandardActionManager::CopyCollectionToDialog )->setText( i18n( "Copy Task List To" ) ); - - mStandardActionManager->action( Akonadi::StandardCalendarActionManager::CreateTodo )->setText( i18n( "New Task" ) ); - mStandardActionManager->action( Akonadi::StandardCalendarActionManager::CreateSubTodo )->setText( i18n( "New Sub Task" ) ); - mStandardActionManager->action( Akonadi::StandardCalendarActionManager::EditIncidence )->setText( i18n( "Edit task" ) ); - - actionCollection()->action( QLatin1String("synchronize_all_items") )->setText( i18n( "Synchronize All Tasks" ) ); -} - -void MainView::updateActionTexts() -{ - const Akonadi::Item::List items = mStandardActionManager->selectedItems(); - if ( items.count() < 1 ) - return; - - const int itemCount = items.count(); - const Akonadi::Item item = items.first(); - const QString mimeType = item.mimeType(); - if ( mimeType == KCalCore::Event::eventMimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Event", "Copy %1 Events" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Event To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Event", "Delete %1 Events" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Event To" ) ); - actionCollection()->action( QLatin1String("akonadi_incidence_edit") )->setText( i18n( "Edit Event" ) ); - } else if ( mimeType == KCalCore::Todo::todoMimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Task", "Copy %1 Tasks" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Task To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Task", "Delete %1 Tasks" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Task To" ) ); - actionCollection()->action( QLatin1String("akonadi_incidence_edit") )->setText( i18n( "Edit Task" ) ); - } else if ( mimeType == KCalCore::Journal::journalMimeType() ) { - actionCollection()->action( QLatin1String("akonadi_item_copy") )->setText( ki18np( "Copy Journal", "Copy %1 Journals" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_copy_to_dialog") )->setText( i18n( "Copy Journal To" ) ); - actionCollection()->action( QLatin1String("akonadi_item_delete") )->setText( ki18np( "Delete Journal", "Delete %1 Journals" ).subs( itemCount ).toString() ); - actionCollection()->action( QLatin1String("akonadi_item_move_to_dialog") )->setText( i18n( "Move Journal To" ) ); - actionCollection()->action( QLatin1String("akonadi_incidence_edit") )->setText( i18n( "Edit Journal" ) ); - } -} - -void MainView::setupAgentActionManager( QItemSelectionModel *selectionModel ) -{ - Akonadi::AgentActionManager *manager = createAgentActionManager( selectionModel ); - - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::DialogTitle, - i18nc( "@title:window", "New Account" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageText, - ki18n( "Could not create account: %1" ) ); - manager->setContextText( Akonadi::AgentActionManager::CreateAgentInstance, Akonadi::AgentActionManager::ErrorMessageTitle, - i18n( "Account creation failed" ) ); - - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxTitle, - i18nc( "@title:window", "Delete Account?" ) ); - manager->setContextText( Akonadi::AgentActionManager::DeleteAgentInstance, Akonadi::AgentActionManager::MessageBoxText, - i18n( "Do you really want to delete the selected account?" ) ); -} - -QAbstractProxyModel* MainView::createItemFilterModel() const -{ - return new TasksFilterProxyModel(); -} - -ImportHandlerBase* MainView::importHandler() const -{ - return new TasksImportHandler(); -} - -ExportHandlerBase* MainView::exportHandler() const -{ - return new TasksExportHandler(); -} - -void MainView::configureCategories() -{ - CalendarSupport::CategoryConfig config( IncidenceEditorNG::EditorConfig::instance()->config(), 0 ); - IncidenceEditorNG::CategoryEditDialog dialog( &config, 0 ); - if ( dialog.exec() ) - config.writeConfig(); -} - -Item MainView::currentItem() const -{ - const QModelIndexList list = itemSelectionModel()->selectedRows(); - - if ( list.size() != 1 ) - return Item(); - - const QModelIndex index = list.first(); - const Item item = index.data( EntityTreeModel::ItemRole ).value(); - if ( !item.hasPayload() ) - return Item(); - - return item; -} - -void MainView::saveAllAttachments() -{ - const QModelIndexList list = itemSelectionModel()->selectedIndexes(); - if ( list.isEmpty() ) - return; - - Akonadi::Item item( list.first().data( EntityTreeModel::ItemIdRole ).toInt() ); - Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( item, this ); - job->fetchScope().fetchFullPayload(); - connect( job, SIGNAL(result(KJob*)), this, SLOT(fetchForSaveAllAttachmentsDone(KJob*)) ); -} - -void MainView::fetchForSaveAllAttachmentsDone( KJob* job ) -{ - if ( job->error() ) { - kDebug() << "Error trying to fetch item"; - //###: review error string - KMessageBox::sorry( this, - i18n( "Cannot fetch calendar item." ), - i18n( "Item Fetch Error" ) ); - return; - } - - const Akonadi::Item item = static_cast( job )->items().first(); - CalendarSupport::saveAttachments( item, this ); -} - -void MainView::archiveOldEntries() -{ - CalendarSupport::ArchiveDialog archiveDialog( mCalendar, mChanger, this ); - archiveDialog.exec(); -} - -void MainView::processActionFail( const Akonadi::Item &item, const QString &msg ) -{ - Q_UNUSED( item ); - Q_UNUSED( msg ); - mTasksActionManager->updateActions(); -} - -void MainView::processActionFinish( const Akonadi::Item &item ) -{ - Q_UNUSED( item ); - mTasksActionManager->updateActions(); -} - diff --git a/kdepim/mobile/tasks/mainview.h b/kdepim/mobile/tasks/mainview.h deleted file mode 100644 index 5957370d..00000000 --- a/kdepim/mobile/tasks/mainview.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -* This file is part of Akonadi -* -* Copyright (c) 2010 Bertjan Broeksema -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301 USA -*/ - -#ifndef MAINVIEW_H -#define MAINVIEW_H - -#include "kdeclarativemainview.h" - -#include -#include - -#include -#include - -class KJob; -class TasksActionManager; -class ConfigWidget; - -namespace Akonadi { -class StandardCalendarActionManager; -class IncidenceChanger; -} - -namespace CalendarSupport { -class CalendarUtils; -} - -class MainView : public KDeclarativeMainView -{ - Q_OBJECT - public: - explicit MainView( QWidget *parent = 0 ); - ~MainView(); - - void setConfigWidget( ConfigWidget *configWidget ); - - public slots: - void newTask(); - void newSubTask(); - void makeTaskIndependent(); - void makeAllSubtasksIndependent(); - void purgeCompletedTasks(); - void setPercentComplete( int row, int percentComplete ); - void editIncidence(); - void editIncidence( const Akonadi::Item &item ); - void saveAllAttachments(); - - private slots: - void finishEdit( QObject *editor ); - void fetchForSaveAllAttachmentsDone( KJob* job ); - void processActionFail( const Akonadi::Item &item, const QString &msg ); - void processActionFinish( const Akonadi::Item &item ); - void archiveOldEntries(); - void updateActionTexts(); - void configureCategories(); - - protected: - virtual void doDelayedInit(); - virtual QAbstractItemModel* createItemModelContext( QDeclarativeContext *context, QAbstractItemModel *model ); - virtual void setupStandardActionManager( QItemSelectionModel *collectionSelectionModel, - QItemSelectionModel *itemSelectionModel ); - - virtual void setupAgentActionManager( QItemSelectionModel *selectionModel ); - - virtual QAbstractProxyModel* createItemFilterModel() const; - virtual ImportHandlerBase* importHandler() const; - virtual ExportHandlerBase* exportHandler() const; - - Akonadi::Item currentItem() const; - - private: - CalendarSupport::CalendarUtils *mCalendarUtils; - QHash mOpenItemEditors; - Akonadi::StandardCalendarActionManager *mStandardActionManager; - TasksActionManager *mTasksActionManager; - EventViews::PrefsPtr mCalendarPrefs; - Akonadi::ETMCalendar::Ptr mCalendar; - Akonadi::IncidenceChanger *mChanger; -}; - -#endif // MAINVIEW_H diff --git a/kdepim/mobile/tasks/searchwidget.cpp b/kdepim/mobile/tasks/searchwidget.cpp deleted file mode 100644 index ce4ecc6b..00000000 --- a/kdepim/mobile/tasks/searchwidget.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "searchwidget.h" - -#include "stylesheetloader.h" - -#include - -#include -#include -#include - -SearchWidget::SearchWidget( QWidget *parent ) - : QWidget( parent ) -{ - mUi.setupUi( this ); - - // set defaults - mUi.inSummaries->setChecked( true ); - mUi.inDescriptions->setChecked( true ); - mUi.includeTodosWithoutDueDate->setChecked( true ); - mUi.startDate->setDate( QDate::currentDate() ); - mUi.endDate->setDate( QDate::currentDate().addYears( 1 ) ); - mUi.collectionCombo->setMimeTypeFilter( QStringList() << KCalCore::Todo::todoMimeType() ); -} - -QString SearchWidget::query() const -{ - //TODO create search query from dialog - return QString(); -} - -DeclarativeSearchWidget::DeclarativeSearchWidget( QGraphicsItem *parent ) - : QGraphicsProxyWidget( parent ), mSearchWidget( new SearchWidget ) -{ - QPalette palette = mSearchWidget->palette(); - palette.setColor( QPalette::Window, QColor( 0, 0, 0, 0 ) ); - mSearchWidget->setPalette( palette ); - StyleSheetLoader::applyStyle( mSearchWidget ); - - setWidget( mSearchWidget ); - setFocusPolicy( Qt::StrongFocus ); -} - -DeclarativeSearchWidget::~DeclarativeSearchWidget() -{ -} - -QString DeclarativeSearchWidget::query() const -{ - return mSearchWidget->query(); -} - diff --git a/kdepim/mobile/tasks/searchwidget.h b/kdepim/mobile/tasks/searchwidget.h deleted file mode 100644 index 52321477..00000000 --- a/kdepim/mobile/tasks/searchwidget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef SEARCHWIDGET_H -#define SEARCHWIDGET_H - -#include "ui_searchwidget.h" - -#include -#include - -class SearchWidget : public QWidget -{ - Q_OBJECT - - public: - explicit SearchWidget( QWidget *parent = 0 ); - - QString query() const; - - private: - Ui_SearchWidget mUi; -}; - -class DeclarativeSearchWidget : public QGraphicsProxyWidget -{ - Q_OBJECT - - Q_PROPERTY( QString query READ query ) - - public: - explicit DeclarativeSearchWidget( QGraphicsItem *parent = 0 ); - ~DeclarativeSearchWidget(); - - public Q_SLOTS: - QString query() const; - - private: - SearchWidget *mSearchWidget; -}; - -#endif diff --git a/kdepim/mobile/tasks/searchwidget.ui b/kdepim/mobile/tasks/searchwidget.ui deleted file mode 100644 index 07dcf5db..00000000 --- a/kdepim/mobile/tasks/searchwidget.ui +++ /dev/null @@ -1,219 +0,0 @@ - - - SearchWidget - - - - 0 - 0 - 430 - 278 - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - Search for: - - - - - - - true - - - - - - - In: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - Summaries - - - - - - - Descriptions - - - - - - - Categories - - - - - - - Locations - - - - - - - - - - Between: - - - - - - - - - true - - - - - - - - 0 - 0 - - - - and - - - Qt::AlignCenter - - - - - - - true - - - - - - - - - Include To-Dos without a due date - - - - - - - Located in: - - - - - - - - 0 - - - 3 - - - 0 - - - 3 - - - - - any folder - - - true - - - - - - - only in folder - - - - - - - false - - - - - - - - - - - KDateComboBox - QComboBox -
kdatecombobox.h
-
- - KLineEdit - QLineEdit -
klineedit.h
-
- - Akonadi::CollectionComboBox - QComboBox -
akonadi/collectioncombobox.h
-
-
- - - - locatedInSpecificCollection - toggled(bool) - collectionCombo - setEnabled(bool) - - - 138 - 235 - - - 217 - 239 - - - - -
diff --git a/kdepim/mobile/tasks/settings.kcfg b/kdepim/mobile/tasks/settings.kcfg deleted file mode 100644 index 7fc04325..00000000 --- a/kdepim/mobile/tasks/settings.kcfg +++ /dev/null @@ -1,23 +0,0 @@ - - - - kglobalsettings.h - - - - - - - - - - - - - - - - - diff --git a/kdepim/mobile/tasks/settings.kcfgc b/kdepim/mobile/tasks/settings.kcfgc deleted file mode 100644 index 734c1668..00000000 --- a/kdepim/mobile/tasks/settings.kcfgc +++ /dev/null @@ -1,6 +0,0 @@ -File=settings.kcfg -ClassName=Settings -Mutators=true -Singleton=true -ItemAccessors=true -SetUserTexts=true diff --git a/kdepim/mobile/tasks/tasklistproxy.cpp b/kdepim/mobile/tasks/tasklistproxy.cpp deleted file mode 100644 index 23ae30c5..00000000 --- a/kdepim/mobile/tasks/tasklistproxy.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "tasklistproxy.h" - -#include "settings.h" - -#include - -#include -#include - -using namespace Akonadi; - -TaskListProxy::TaskListProxy( QObject* parent ) - : ListProxy( parent ) -{ -} - -QVariant TaskListProxy::data( const QModelIndex &index, int role ) const -{ - const Akonadi::Item item = QSortFilterProxyModel::data( index, Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.isValid() && item.hasPayload() ) { - const KCalCore::Todo::Ptr incidence = item.payload(); - switch ( role ) { - case SummaryRole: - return incidence->summary(); - case DescriptionRole: - return incidence->description(); - case PercentCompleteRole: - return incidence->percentComplete(); - case BackgroundColorRole: - if ( incidence->hasDueDate() ) { - if ( incidence->dtDue().date() == QDate::currentDate() ) { - return mViewPrefs->todoDueTodayColor(); - } else if ( incidence->isOverdue() ) { - return mViewPrefs->todoOverdueColor(); - } - } - return Qt::transparent; - case IsSubTaskRole: - return !incidence->relatedTo( KCalCore::Todo::RelTypeParent ).isEmpty(); - case SingleLineDescriptionRole: - return incidence->description().replace( QLatin1Char('\n'), QLatin1Char(' ') ); - case HasDescriptionRole: - return !incidence->description().isEmpty(); - } - } - - return QSortFilterProxyModel::data( index, role ); -} - -bool TaskListProxy::setData( const QModelIndex &index, const QVariant &value, int role ) -{ - if ( role == PercentCompleteRole ) { - Akonadi::Item item = QSortFilterProxyModel::data( index, Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.isValid() && item.hasPayload() ) { - KCalCore::Todo::Ptr incidence = item.payload(); - if ( incidence->percentComplete() != value.toInt() ) { - incidence->setPercentComplete( value.toInt() ); - item.setPayload( incidence ); - return QSortFilterProxyModel::setData( index, QVariant::fromValue( item ), EntityTreeModel::ItemRole ); - } else { - return true; - } - } - } - - return QSortFilterProxyModel::setData( index, value, role ); -} - - -void TaskListProxy::setSourceModel( QAbstractItemModel *sourceModel ) -{ - ListProxy::setSourceModel( sourceModel ); - - QHash names = roleNames(); - names.insert( EntityTreeModel::ItemIdRole, "itemId" ); - names.insert( SummaryRole, "summary" ); - names.insert( DescriptionRole, "description" ); - names.insert( PercentCompleteRole, "percentComplete" ); - names.insert( BackgroundColorRole, "backgroundColor" ); - names.insert( IsSubTaskRole, "isSubTask" ); - names.insert( SingleLineDescriptionRole, "singleLineDescription" ); - names.insert( HasDescriptionRole, "hasDescription" ); - - setRoleNames( names ); -} - -void TaskListProxy::setPreferences( const EventViews::PrefsPtr &preferences ) -{ - mViewPrefs = preferences; -} diff --git a/kdepim/mobile/tasks/tasklistproxy.h b/kdepim/mobile/tasks/tasklistproxy.h deleted file mode 100644 index b1a5cb60..00000000 --- a/kdepim/mobile/tasks/tasklistproxy.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#ifndef TASKLISTPROXY_H -#define TASKLISTPROXY_H - -#include "listproxy.h" - -#include "calendarviews/eventview.h" -#include "calendarviews/prefs.h" - -#include - -class TaskListProxy : public ListProxy -{ - Q_OBJECT - - public: - enum Role { - SummaryRole = Akonadi::EntityTreeModel::UserRole, - DescriptionRole, - PercentCompleteRole, - BackgroundColorRole, - IsSubTaskRole, - SingleLineDescriptionRole, - HasDescriptionRole - }; - - explicit TaskListProxy( QObject* parent = 0 ); - - virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; - virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); - - virtual void setSourceModel( QAbstractItemModel* sourceModel ); - - void setPreferences( const EventViews::PrefsPtr &preferences ); - - private: - EventViews::PrefsPtr mViewPrefs; -}; - -#endif // TASKLISTPROXY_H diff --git a/kdepim/mobile/tasks/tasks-mobile-background.png b/kdepim/mobile/tasks/tasks-mobile-background.png deleted file mode 100644 index 26d4352ba6b90dde6416ed85220dcc38622a0542..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620650 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
^9AjjXWZ2v+m5zJ)T^6{Reb-fA~% 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

lsf3SW<^F^YyHAiY7<4 zU6uXfD;cn8#O|ZFghy$wHPj7C*_A^YKc*iJ*&o?4O zXWX=AmDL~gyKU#R8<5#TT}xmb7tX6(dvn`5(7f9UleK?M6fBs-2cen_fa z>}~o9OuI1)I>%!lXVvPVx6qBtIx0i05)`A7cM1)mA8pzfj7dUzP@@Mh!L@~5vD=u7 z=%i{q4TkGvyMour-S^ii3H`Fdq}K)vB^(hO*RA#AgucsLL3mBJT zskf(#<=IZH=@0iNQjue z>?k@sC9e=L`!6s5rx9?uz!-JLQZ#g~@G(-q)>Tg*8g{c!o|G{!q*N~WYKa*@nQ-^$o_^5RH5295@22Q8lv*{EI+|Oy~-%r>~EwWrk&rzdsrK1tN8i z3fh9YcM(RpV}mwZ29`@F;iFZpP(n51fJcL29I4Ob`2c%S2VdizrBQa>vaE-^8X<%% zuBFomtz=8zZTrutyNO6fL0A~CqM`wz=u^LmhT8aQ(sz#B+}tVtDzp|3LJVy?WQ1fh z1`$!wg7uTEGxgCs^fE{KS^YoD|6O(W`;~| zklw(=*d8qINGw5xRh(k&YmHIfF4U;{@Zq7RXh3R*X`(qxWNa$#ezf)a~4qo?{;eA|x%0rK9n`xtHX3J9DeGsH+N+kt~tL1g(?eCics#lJU zn{=H$2{0H~F;>`A7S+a2KC3~&3=I$_ELR3?`9Y4Kix^XZpgZNghtQt>VN0lDe$n^} z!q|EcwWmA{wyySKQa&3J#yCCl7x9HU`i~=IvFDV}+W|LVM(}VjBxd|SbD~jey8N&z zoxe3@B(D4CTe&1DZ37d=F8z-0DrBR(eFLYpeV*KWbabOIqoue5_|pgM7a?y;))~3& z=5Sdeq2ggGU>DPWi*q(}c=`nvsYuWMlV|?l(6+d8Ej1V<>?-Ukvb~NBy#sE_v9uAK z7HeN0A88s`8LaHUqtlnIauelG_c_9_!BOl?AvEXGnu(){P~|I)Fx~;wBBRbv5WjYz zw{+Tb>?{p?#mtQv@GnZG^3~nyRt`x!+q7-woC{Ez>JNaith|k13vC5fr_KKFsSich z)bZdFWsqMDiVU>ONU0o)w=AP?NXGFd>tL`2{LeOjGSLV9-&+S0P%kH;ZA7JvufmQE zuVl=U#pJgB-wU9MMhwNY&e=!9uiM;bCS+_>joKHoL^ey?&+x*Y`(Odz(%$}FD+PFG z7wrWwdq(KRou=aKws$WF7{9ye@dUCoeo>#(fc~u|pLhFFv3^3Vdg3Ysq0qA2Yq2G% z4uwG7eIVr5Q_ypmk@8sDdi3(k`CoY*m`21#O}b|Yo+31uk}Wy$AY6Qebk~}FjtPJ+ z8Vd`o?}c+uukK=oFQQ^clg6FN(h4b0OTZiDg$<2JmO3N%b=Rn%H_kt6w4*(|X`mht zGm4l_=QtOcEL4ut5!ZZpEL@}5N{0=Kh>_xLHZxABE}OgA^rZPmr0rWk;$o@(jc*kG zm?_`cOQn9NZ!S!JOi~}S@Zdb*#PqwN$<`jR{miR0SKF`RqLs(AED&8S!qtTTb^L)5 zAqTgBj<79^RLaOwVrSXqo$njcInbOdLc&T#z5SswC{qiy4;2R|H}Q?_H+^=ZdcI+< zjQX2{6fBmGS9=ShEyXJJIA=~f|udHi_6}k=={Xj^I}_kbi&`%&IMPGC9$&9+{!V%3G~7QtfL;kpn3QdP zZa%ZTEx*lYzT4xriIIEHa2y*NzI*PFO&Xf)+68{2r}Oc>0?Cb@TfyxU{x0 z%XyJ0rqd_q>z+`+nJ(5xwsK%de*4fa`swQdC^t^mhT5(2v!$P6&|h!eKWXR`Xx6*r ze?JoxBl)9EQ&bqb`}v1io=Nj4_G|^q*GUV!q}P&eRUZm`Tk{d@9Zt-CY@2;AV=+0L zx2Nimw3q&up;QxNk~fP+=P;b`?A^iL!P11;U4587mO!Za(@n8Ff7NJ;U*Z;TDr;O=yRz9hc6b|nP;2UXMFT#%0D-K^zblqt@U*jmw8bb^< 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

#N6LaO4zY{Ev$P!9 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

  • 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�sZ0p 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

    rA3r7yWt}MQnx|j5 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%0AEyB_>7 za*2S#`}ccax^E4D$J?7#yR?=z+4w7vY{j7CYZ`Z-nMaR1a5B z@#kr~ibLcwun764NM@H(^OwcuIm*$>8LZ9vHgKeU_4fNuUwpL*M;ZV9{40TK_@E!pCA-n{Xeh|dCv@VVA9AQmF&gCw ziW$(zwyYE9~)~Xk)81)awS?w{$FuMSe`t+@Akb0A7ET|NWF<4SNv|895NVw zN5#_0UG-ggnFOfF|XBhxbx zlp+SpjNfZ}(IWU)(9JnBIcCy7{i`Bbg{o5a`rX0e{Gh}U`VEp?7M9X}u)l4Dea2wL z`7TN(99`SNV9P}-PzoOX#T&rLnr!ckh#MY%9Pgl6>Da9g8_!EgRV`3S#2-D~uk;ve zlM-W`mZcrxC%R}-r@(P5CceC`aZcCPXuu)3Q*;ZW8B?F(a{X3QlWFt?eC9Jyy#aTwmrGWiNSzf9$n8Y?F8fat)P>!@qtNP5Sf1p`@ zl@}YYrV3V=$uCxg1)jk6=I6L0N`(VJd)cUkM&W2S`>UjzQbtvm8TZ>70+m+E5Xw6# z%A*k$?{-;SgqikVO1u#Aj1~!PEtYw|*O!l131;xT?wKq#A4zOlHKp*Mla@1o7Z-xx zAcn3UKPhvwFR5qA;1f=XEmQ;uLNchX+)b4XN!`%gANn)gs9II27U@SWjNPh8QYmIR z|B8xI)-OVG{lMwGulB}?Bg@9&o|`f2El zern_VwRIb}l_vqJ7%x`LD~)~vq;nSeGKCU(vYEadYnWf$nL`*{P4ky`XVk6O(>-!F zctFr#P9@WCg1W4L+N6GL?-SwbiNF{UVnQnI%-XuWr=LsvHlP=_4i=f{a0h{WC`-n& zXjV2NBC;$9nkpLxfe8Kj3n9?<7>1;oO3!VJw3I9hOMm9>Ei55?{JbQvMsfrT0K}{u zb z-6P$hoi$7hHgDxDIJc0kKwEa9^B38lmZ95Q+7h$_-c6-TREXYb8fNpPa={ANpg)QxcqjJbTu?1CS%*TA+6a0t&y?`d-X>?^_SHsrGyxQ~XoSNul8^i_U zQq6B>go-q)k2|MLb=X22203Hi|Cy7cQRC0kiN-)4-FA8~At0mr#Cn*qjx{Jd7R{7h z5bS$|ue931k!;%Y6A|Mj>#E&69uFMJhWNW#Yo`qFD)|bT%Q`f=N$ZJc_)+g9Eq+Dj z%~ZhDcFl28de=VYPoU5K6c5)ITA;K64X9gfR(1h%1_K?ATDd$8edOEUiAJIY_OFEF zSS+4ipEycU_ksqyaUnxguyz4q#n#H6IHFTL?!RoL0V%0Dexa21MU2}bbFwRbqaLAc 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�^{ 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 diff --git a/kdepim/mobile/tasks/tasks-mobile.rc b/kdepim/mobile/tasks/tasks-mobile.rc deleted file mode 100644 index 51c75bcc..00000000 --- a/kdepim/mobile/tasks/tasks-mobile.rc +++ /dev/null @@ -1 +0,0 @@ -TASKS_MOBILE_ICON ICON "tasks-mobile.ico" diff --git a/kdepim/mobile/tasks/tasks.qml b/kdepim/mobile/tasks/tasks.qml deleted file mode 100644 index 1bc81b15..00000000 --- a/kdepim/mobile/tasks/tasks.qml +++ /dev/null @@ -1,422 +0,0 @@ -/* - Copyright (c) 2010 Volker Krause - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -import QtQuick 1.1 as QML -import org.kde 4.5 -import org.kde.akonadi 4.5 as Akonadi -import org.kde.pim.mobileui 4.5 as KPIM -import org.kde.kcal 4.5 as KCal -import org.kde.akonadi.tasks 4.5 as Tasks -import "../mobileui/ScreenFunctions.js" as Screen - -KPIM.MainView { - id: tasksMobile - - QML.Connections { - target: guiStateManager - onGuiStateChanged: { updateContextActionStates() } - } - - QML.Component.onCompleted : updateContextActionStates(); - - function updateContextActionStates() - { - if ( guiStateManager.inHomeScreenState ) { - taskActions.showOnlyCategory( "home" ) - } else if ( guiStateManager.inAccountScreenState ) { - taskActions.showOnlyCategory( "account" ) - } else if ( guiStateManager.inSingleFolderScreenState ) { - taskActions.showOnlyCategory( "single_folder" ) - } else if ( guiStateManager.inMultipleFolderScreenState || guiStateManager.inSearchResultScreenState ) { - taskActions.showOnlyCategory( "multiple_folder" ) - } else if ( guiStateManager.inViewSingleItemState ) { - taskActions.showOnlyCategory( "todo_viewer" ) - } - } - - KCal.IncidenceView { - id: taskView - visible: guiStateManager.inViewSingleItemState - anchors { fill: parent; topMargin: 40; leftMargin: 40 } - width: parent.width - height: parent.height - - z: 0 - - itemId: -1 - swipeLength: 0.2 // Require at least 20% of screenwidth to trigger next or prev - - onNextItemRequest: { - _itemNavigationModel.requestNext(); - } - - onPreviousItemRequest: { - _itemNavigationModel.requestPrevious(); - } - - KPIM.ItemEditButton { - actionName: "akonadi_incidence_edit" - anchors.bottom: backButton.top - anchors.right: parent.right - anchors.margins: 12 - onClicked: { - application.editIncidence( parent.item ); - } - } - - KPIM.Button { - id: backButton - anchors.bottom: parent.bottom - anchors.right: parent.right - anchors.margins: 12 - width: 70 - height: 70 - icon: KDE.locate( "data", "mobileui/back-to-list-button.png" ); - onClicked: { - _itemActionModel.select(-1, 1) - _itemNavigationModel.select(-1, 1) - guiStateManager.popState(); - } - } - } - - QML.Item { - id : mainWorkView - visible: { guiStateManager.inHomeScreenState || - guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState - } - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right : parent.right - - QML.Image { - id: backgroundImage - x: 0 - y: 0 -// FIXME: too big, costs about 1.5Mb RAM -// source: "tasks-mobile-background.png" - visible: collectionView.visible - } - - Akonadi.AkonadiBreadcrumbNavigationView { - id : collectionView - anchors.top: parent.top - width: 1/3 * parent.width - anchors.bottom : selectButton.top - //height : parent.height - ( collectionView.hasSelection ? 0 : selectButton.height) - anchors.left: parent.left - itemHeight: Screen.partition( height, 7 ) - - breadcrumbComponentFactory : _breadcrumbNavigationFactory - - multipleSelectionText : KDE.i18nc("%1 is e.g. 3 folders, %2 is e.g. from 2 accounts, %3 is e.g. 9 tasks", - "You have selected \n%1\n%2\n%3", - KDE.i18np("1 folder","%1 folders",collectionView.numSelected), - KDE.i18np("from 1 account","from %1 accounts",application.numSelectedAccounts), - KDE.i18np("1 task","%1 tasks",itemList.count)) - - onSelectedClicked : { - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ) - } - - KPIM.AgentStatusIndicator { - anchors { top: parent.top; right: parent.right; rightMargin: 10; topMargin: 10 } - } - } - KPIM.Button2 { - id : selectButton - anchors.left: collectionView.left - anchors.right: collectionView.right - anchors.bottom : parent.bottom - anchors.bottomMargin : { (collectionView.numSelected == 1) ? -selectButton.height : 0 } - buttonText : (collectionView.numSelected <= 1) ? KDE.i18n("Select") : KDE.i18n("Change Selection") - opacity : { (collectionView.numSelected == 1) ? 0 : 1 } - onClicked : { - application.persistCurrentSelection("preFavSelection"); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ) - } - } - - KPIM.StartCanvas { - id : startPage - visible: !collectionView.hasSelection - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - anchors.leftMargin : 10 - anchors.rightMargin : 10 - showAccountsList : false - favoritesModel : favoritesList - - contextActions : [ - QML.Column { - anchors.fill: parent - height : 70 - KPIM.Button2 { - width: parent.width - buttonText : KDE.i18n( "New Task" ) - onClicked : { - application.newTask(); - } - } - } - ] - } - - QML.Rectangle { - id : emptyFolderPage - visible: (!guiStateManager.inHomeScreenState && collectionView.hasBreadcrumbs && itemList.count == 0) - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - color : "#00000000" - // TODO: content - QML.Text { - text : KDE.i18n("No tasks in this folder"); - height : 20; - font.italic : true - horizontalAlignment : QML.Text.AlignHCenter - anchors.verticalCenter : parent.verticalCenter; - anchors.horizontalCenter : parent.horizontalCenter - } - } - - QML.Rectangle { - id : itemListPage - visible: { guiStateManager.inAccountScreenState || - guiStateManager.inSingleFolderScreenState || - guiStateManager.inMultipleFolderScreenState - } - anchors.left : collectionView.right - anchors.top : parent.top - anchors.bottom : parent.bottom - anchors.right : parent.right - color : "#00000000" - - TaskListView { - id: itemList - model: itemModel - checkModel : _itemActionModel - anchors.left : parent.left - anchors.top : parent.top - anchors.bottom : filterLineEdit.top - anchors.right : parent.right - navigationModel : _itemNavigationModel - itemHeight: Screen.partition( height, 7 ) - } - - Akonadi.FilterLineEdit { - id: filterLineEdit - anchors.left : parent.left - anchors.bottom : parent.bottom - anchors.right : parent.right - visible : false - height : 0 - y: height == 0 ? parent.height : parent.height - height - } - - QML.Connections { - target : _itemNavigationModel - onCurrentRowChanged : { - if ( _itemNavigationModel.currentRow != -1 ) { - taskView.itemId = _itemNavigationModel.currentItemIdHack - guiStateManager.pushUniqueState( KPIM.GuiStateManager.ViewSingleItemState ); - _itemActionModel.select( _itemNavigationModel.currentRow, 3 ); - } - } - } - } - } - - SlideoutPanelContainer { - anchors.fill: parent - z: 100 - - visible: !guiStateManager.inBulkActionScreenState && - !guiStateManager.inMultipleFolderSelectionScreenState && - !guiStateManager.inConfigScreenState && - !guiStateManager.inSearchScreenState - - SlideoutPanel { - id: actionPanel - titleText: KDE.i18n( "Actions" ) - handlePosition : 125 - handleHeight: 150 - anchors.fill : parent - - QML.Component.onCompleted: { - actionPanel.expanded.connect( taskActions, taskActions.refresh ); - } - - content : [ - TaskActions { - id : taskActions - anchors.fill : parent - - scriptActions : [ - KPIM.ScriptAction { - name : "show_about_dialog" - script : { - actionPanel.collapse(); - aboutDialog.visible = true - } - }, - KPIM.ScriptAction { - name : "configure" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.ConfigScreenState ); - } - }, -//TODO enable when SearchWidget::query() is implemented -// KPIM.ScriptAction { -// name : "search_task" -// script : { -// actionPanel.collapse(); -// guiStateManager.pushState( KPIM.GuiStateManager.SearchScreenState ); -// } -// }, - KPIM.ScriptAction { - name : "to_selection_screen" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.MultipleFolderSelectionScreenState ) - } - }, - KPIM.ScriptAction { - name : "add_as_favorite" - script : { - actionPanel.collapse(); - application.saveFavorite(); - } - }, - KPIM.ScriptAction { - name : "start_maintenance" - script : { - actionPanel.collapse(); - guiStateManager.pushState( KPIM.GuiStateManager.BulkActionScreenState ) - } - } - ] - - onDoCollapse : actionPanel.collapse(); - } - ] - } - - SlideoutPanel { - anchors.fill: parent - handlePosition : actionPanel.handlePosition + actionPanel.handleHeight - id: attachmentPanel - visible: (taskView.attachmentModel.attachmentCount >= 1) && guiStateManager.inViewSingleItemState - titleIcon: KDE.iconPath( "mail-attachment", 48 ); - handleHeight: parent.height - actionPanel.handlePosition - actionPanel.handleHeight - anchors.topMargin - anchors.bottomMargin - content: [ - KPIM.AttachmentList { - id: attachmentView - model: taskView.attachmentModel - anchors.fill: parent - - onOpenAttachment: { - application.openAttachment(url, mimeType); - } - - onSaveAttachment: { - application.saveAttachment(url, fileName); - } - } - ] - } - } - - QML.Loader { - anchors.fill: parent - source: guiStateManager.inMultipleFolderSelectionScreenState ? KDE.locate( "module", "imports/org/kde/pim/mobileui/MultipleSelectionScreen.qml" ) : "" - onLoaded: { item.backgroundImage = backgroundImage.source; } - } - - QML.Loader { - anchors.fill: parent - source: guiStateManager.inBulkActionScreenState ? "BulkActionComponent.qml" : "" - onLoaded: { - item.backgroundImage = backgroundImage.source - item.itemHeight = Screen.partition( item.height, 7 ) - } - } - - KPIM.SearchResultScreen { - id : searchResultScreen - anchors.top: parent.top - anchors.topMargin : 12 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right : parent.right - - itemView: TaskListView { - id: searchTaskListView - model: itemModel - checkModel : _itemActionModel - navigationModel : _itemNavigationModel - anchors.fill : parent - itemHeight: Screen.partition( height, 7 ) - } - - resultText: KDE.i18np( "One task found", "%1 tasks found", searchTaskListView.count ) - } - - QML.Connections { - target: taskView - onIncidenceRemoved : { guiStateManager.popState(); } - } - - QML.Connections { - target: startPage - onFavoriteSelected : { - application.loadFavorite(favName); - } - } - - QML.Loader { - id : aboutDialog - anchors.fill: parent - visible: false - source: visible ? KDE.locate( "module", "imports/org/kde/pim/mobileui/AboutDialog.qml" ) : "" - onLoaded: { item.backgroundSource = backgroundImage.source; } - } - - QML.Loader { - anchors.fill: parent - source: guiStateManager.inConfigScreenState ? "ConfigDialog.qml" : "" - onLoaded: item.load(); - } - - KPIM.SearchDialog { - id: searchDialog - searchWidget: Tasks.SearchWidget { - anchors.fill: parent - } - } -} diff --git a/kdepim/mobile/tasks/tasksactionmanager.cpp b/kdepim/mobile/tasks/tasksactionmanager.cpp deleted file mode 100644 index 91eeb8a2..00000000 --- a/kdepim/mobile/tasks/tasksactionmanager.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#include "tasksactionmanager.h" - - -#include -#include - -#include - -#include -#include -#include - -#include - -TasksActionManager::TasksActionManager( KActionCollection *actionCollection, QObject *parent) - : QObject( parent ) - , mActionCollection( actionCollection ) - , mCalendar( 0 ) - , mItemSelectionModel( 0 ) -{ - initActions(); -} - -void TasksActionManager::setCalendar( const Akonadi::ETMCalendar::Ptr &calendar ) -{ - // Doesn't take ownership. The calendar is used in updateActions. - mCalendar = calendar; -} - -void TasksActionManager::setItemSelectionModel( QItemSelectionModel *itemSelectionModel ) -{ - if ( mItemSelectionModel ) - disconnect( mItemSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)) ); - - mItemSelectionModel = itemSelectionModel; - if ( mItemSelectionModel ) { - connect( mItemSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - SLOT(updateActions()) ); - } - - updateActions(); -} - -void TasksActionManager::updateActions() -{ - mActionCollection->action( QLatin1String( "make_subtask_independent" ) )->setEnabled( false ); - mActionCollection->action( QLatin1String( "make_all_subtasks_independent" ) )->setEnabled( false ); - - const QModelIndexList list = mItemSelectionModel->selectedRows(); - if ( list.size() != 1 ) - return; - - const QModelIndex idx = list.first(); - Akonadi::Item item = idx.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( !item.isValid() ) - return; - - if ( !item.hasPayload() ) - return; - - if ( mCalendar->childItems( item.id() ).size() >= 1 ) - mActionCollection->action( QLatin1String( "make_all_subtasks_independent" ) )->setEnabled( true ); - - // Only enable the make_subtask_independent action for todos that have a parent. - KCalCore::Todo::Ptr todo = item.payload(); - const bool enable = !todo->relatedTo( KCalCore::Todo::RelTypeParent ).isEmpty(); - mActionCollection->action( QLatin1String( "make_subtask_independent" ) )->setEnabled( enable ); -} - -void TasksActionManager::initActions() -{ - KAction *action = mActionCollection->addAction( QLatin1String( "import_tasks" ) ); - action->setText( i18n( "Import Tasks" ) ); - - action = mActionCollection->addAction( QLatin1String( "export_account_tasks" ) ); - action->setText( i18n( "Export Tasks" ) ); - - action = mActionCollection->addAction( QLatin1String( "export_selected_tasks" ) ); - action->setText( i18n( "Export Displayed Tasks" ) ); - - action = mActionCollection->addAction( QLatin1String( "make_subtask_independent" ) ); - action->setText( i18n( "Make Sub Task Independent" ) ); - - action = mActionCollection->addAction( QLatin1String( "make_all_subtasks_independent" ) ); - action->setText( i18n( "Make All Sub Tasks Independent" ) ); - - action = mActionCollection->addAction( QLatin1String( "purge_completed_tasks" ) ); - action->setText( i18n( "Delete Completed Tasks" ) ); - - action = mActionCollection->addAction( QLatin1String( "save_all_attachments" ) ); - action->setText( i18n( "Save All Attachments" ) ); - - action = mActionCollection->addAction( QLatin1String( "archive_old_entries" ) ); - action->setText( i18n( "Archive Old Tasks" ) ); -} - diff --git a/kdepim/mobile/tasks/tasksactionmanager.h b/kdepim/mobile/tasks/tasksactionmanager.h deleted file mode 100644 index c062f95d..00000000 --- a/kdepim/mobile/tasks/tasksactionmanager.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2010 Bertjan Broeksema - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#ifndef TASKSACTIONMANAGER_H -#define TASKSACTIONMANAGER_H - -#include -#include - -class KActionCollection; -class QItemSelectionModel; - -class TasksActionManager : public QObject -{ - Q_OBJECT -public: - explicit TasksActionManager( KActionCollection *actionCollection, QObject *parent = 0 ); - - void setCalendar( const Akonadi::ETMCalendar::Ptr &calendar ); - void setItemSelectionModel( QItemSelectionModel *itemSelectionModel ); - -public slots: - void updateActions(); - -private: - void initActions(); // Initializes the tasks application specific actions. - -private: - KActionCollection *mActionCollection; - Akonadi::ETMCalendar::Ptr mCalendar; - QItemSelectionModel *mItemSelectionModel; -}; - -#endif // TASKACTIONMANAGER_H diff --git a/kdepim/mobile/tasks/tasksexporthandler.cpp b/kdepim/mobile/tasks/tasksexporthandler.cpp deleted file mode 100644 index 2931cc28..00000000 --- a/kdepim/mobile/tasks/tasksexporthandler.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "tasksexporthandler.h" - -#include -#include -#include -#include -#include -#include - -QString TasksExportHandler::dialogText() const -{ - return i18n( "Which tasks shall be exported?" ); -} - -QString TasksExportHandler::dialogAllText() const -{ - return i18n( "All Tasks" ); -} - -QString TasksExportHandler::dialogLocalOnlyText() const -{ - return i18n( "Tasks in current folder" ); -} - -QStringList TasksExportHandler::mimeTypes() const -{ - return QStringList( KCalCore::Todo::todoMimeType() ); -} - -bool TasksExportHandler::exportItems( const Akonadi::Item::List &items ) -{ - const QString fileName = KFileDialog::getSaveFileName( KUrl( "calendar.ics" ), QLatin1String( "*.ics" ) ); - if ( fileName.isEmpty() ) - return true; - - KCalCore::MemoryCalendar::Ptr calendar( new KCalCore::MemoryCalendar( QLatin1String( "UTC" ) ) ); - calendar->startBatchAdding(); - foreach ( const Akonadi::Item &item, items ) { - if ( item.hasPayload() ) - calendar->addIncidence( item.payload() ); - } - calendar->endBatchAdding(); - - KCalCore::FileStorage::Ptr storage( new KCalCore::FileStorage( calendar, fileName, new KCalCore::ICalFormat() ) ); - - if ( storage->open() ) { - storage->save(); - storage->close(); - } else - return false; - - return true; -} diff --git a/kdepim/mobile/tasks/tasksexporthandler.h b/kdepim/mobile/tasks/tasksexporthandler.h deleted file mode 100644 index dc96651a..00000000 --- a/kdepim/mobile/tasks/tasksexporthandler.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef TASKSEXPORTHANDLER_H -#define TASKSEXPORTHANDLER_H - -#include "../lib/exporthandlerbase.h" - -class TasksExportHandler : public ExportHandlerBase -{ - protected: - virtual QString dialogText() const; - virtual QString dialogAllText() const; - virtual QString dialogLocalOnlyText() const; - - virtual QStringList mimeTypes() const; - virtual bool exportItems( const Akonadi::Item::List &items ); -}; - -#endif diff --git a/kdepim/mobile/tasks/tasksfilterproxymodel.cpp b/kdepim/mobile/tasks/tasksfilterproxymodel.cpp deleted file mode 100644 index 2734de93..00000000 --- a/kdepim/mobile/tasks/tasksfilterproxymodel.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "tasksfilterproxymodel.h" - -#include -#include - -static bool taskMatchesFilter( const KCalCore::Todo::Ptr &task, const QString &filterString ); - -using namespace Akonadi; - -class TasksFilterProxyModel::Private -{ - public: - QString mFilter; -}; - -TasksFilterProxyModel::TasksFilterProxyModel( QObject *parent ) - : QSortFilterProxyModel( parent ), d( new Private ) -{ - setSortLocaleAware( true ); - setDynamicSortFilter( true ); -} - -TasksFilterProxyModel::~TasksFilterProxyModel() -{ - delete d; -} - -void TasksFilterProxyModel::setFilterString( const QString &filter ) -{ - d->mFilter = filter; - invalidateFilter(); -} - -bool TasksFilterProxyModel::filterAcceptsRow( int row, const QModelIndex &parent ) const -{ - if ( d->mFilter.isEmpty() ) - return true; - - const QModelIndex index = sourceModel()->index( row, 0, parent ); - - const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value(); - - if ( item.hasPayload() ) { - const KCalCore::Todo::Ptr task = item.payload(); - return taskMatchesFilter( task, d->mFilter ); - } - - return true; -} - -static bool taskMatchesFilter( const KCalCore::Todo::Ptr &task, const QString &filterString ) -{ - if ( task->summary().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - if ( task->description().contains( filterString, Qt::CaseInsensitive ) ) - return true; - - return false; -} - diff --git a/kdepim/mobile/tasks/tasksfilterproxymodel.h b/kdepim/mobile/tasks/tasksfilterproxymodel.h deleted file mode 100644 index 97d0c529..00000000 --- a/kdepim/mobile/tasks/tasksfilterproxymodel.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef AKONADI_TASKSFILTERPROXYMODEL_H -#define AKONADI_TASKSFILTERPROXYMODEL_H - -#include - -namespace Akonadi { - -/** - * @short A proxy model for \a EntityTreeModel based task models. - * - * This class provides a filter proxy model for an EntityTreeModel. - * The list of shown tasks can be limited by setting a filter pattern. - * Only tasks that contain this pattern as part of their data will be listed. - * - * Example: - * - * @code - * - * Akonadi::TasksFilterProxyModel *filter = new Akonadi::TasksFilterProxyModel; - * filter->setSourceModel( model ); - * - * Akonadi::EntityTreeView *view = new Akonadi::EntityTreeView; - * view->setModel( filter ); - * - * QLineEdit *filterEdit = new QLineEdit; - * connect( filterEdit, SIGNAL( textChanged( const QString& ) ), - * filter, SLOT( setFilterString( const QString& ) ) ); - * - * @endcode - * - * @author Tobias Koenig - */ -class TasksFilterProxyModel : public QSortFilterProxyModel -{ - Q_OBJECT - - public: - /** - * Creates a new tasks filter proxy model. - * - * @param parent The parent object. - */ - explicit TasksFilterProxyModel( QObject *parent = 0 ); - - /** - * Destroys the tasks filter proxy model. - */ - ~TasksFilterProxyModel(); - - public Q_SLOTS: - /** - * Sets the @p filter that is used to filter for matching tasks. - */ - void setFilterString( const QString &filter ); - - protected: - //@cond PRIVATE - virtual bool filterAcceptsRow( int row, const QModelIndex &parent ) const; - //@endcond - - private: - //@cond PRIVATE - class Private; - Private* const d; - //@endcond -}; - -} - -#endif diff --git a/kdepim/mobile/tasks/tasksimporthandler.cpp b/kdepim/mobile/tasks/tasksimporthandler.cpp deleted file mode 100644 index 7d981bcf..00000000 --- a/kdepim/mobile/tasks/tasksimporthandler.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "tasksimporthandler.h" - -#include -#include -#include -#include -#include -#include - -QString TasksImportHandler::fileDialogNameFilter() const -{ - return QLatin1String( "*.ics|iCals" ); -} - -QString TasksImportHandler::fileDialogTitle() const -{ - return i18n( "Select iCal to Import" ); -} - -QString TasksImportHandler::collectionDialogText() const -{ - return i18n( "Select the calendar the imported task(s) shall be saved in:" ); -} - -QString TasksImportHandler::collectionDialogTitle() const -{ - return i18n( "Select Calendar" ); -} - -QString TasksImportHandler::importDialogText( int count, const QString &collectionName ) const -{ - return i18np( "Importing one task to %2", "Importing %1 tasks to %2", count, collectionName ); -} - -QString TasksImportHandler::importDialogTitle() const -{ - return i18n( "Import Tasks" ); -} - -QStringList TasksImportHandler::mimeTypes() const -{ - return QStringList( KCalCore::Todo::todoMimeType() ); -} - -Akonadi::Item::List TasksImportHandler::createItems( const QStringList &fileNames, bool *ok ) -{ - *ok = true; - - Akonadi::Item::List items; - - KCalCore::Todo::List tasks; - - foreach ( const QString &fileName, fileNames ) { - KCalCore::MemoryCalendar::Ptr calendar( new KCalCore::MemoryCalendar( QLatin1String( "UTC" ) ) ); - KCalCore::FileStorage::Ptr storage( new KCalCore::FileStorage( calendar, fileName, new KCalCore::ICalFormat() ) ); - - if ( storage->load() ) { - tasks << calendar->todos(); - } else { - const QString caption( i18n( "iCal Import Failed" ) ); - const QString msg = i18nc( "@info", - "Error when trying to read the iCal %1:", - fileName ); - KMessageBox::error( 0, msg, caption ); - *ok = false; - } - } - - if ( tasks.isEmpty() ) { - if ( !(*ok) && fileNames.count() > 1 ) - KMessageBox::information( 0, i18n( "No tasks were imported, due to errors with the iCals." ) ); - else if ( *ok ) - KMessageBox::information( 0, i18n( "The iCal does not contain any tasks." ) ); - - return items; // nothing to import - } - - foreach ( const KCalCore::Todo::Ptr &task, tasks ) { - Akonadi::Item item; - item.setPayload( task ); - item.setMimeType( KCalCore::Todo::todoMimeType() ); - - items << item; - } - - return items; -} diff --git a/kdepim/mobile/tasks/tasksimporthandler.h b/kdepim/mobile/tasks/tasksimporthandler.h deleted file mode 100644 index 274f3266..00000000 --- a/kdepim/mobile/tasks/tasksimporthandler.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2010 Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef TASKSIMPORTHANDLER_H -#define TASKSIMPORTHANDLER_H - -#include "../lib/importhandlerbase.h" - -class TasksImportHandler : public ImportHandlerBase -{ - protected: - virtual QString fileDialogNameFilter() const; - virtual QString fileDialogTitle() const; - virtual QString collectionDialogText() const; - virtual QString collectionDialogTitle() const; - virtual QString importDialogText( int count, const QString &collectionName ) const; - virtual QString importDialogTitle() const; - - virtual QStringList mimeTypes() const; - virtual Akonadi::Item::List createItems( const QStringList &fileNames, bool *ok ); -}; - -#endif diff --git a/kdepim/mobile/tasks/taskthreadgroupercomparator.cpp b/kdepim/mobile/tasks/taskthreadgroupercomparator.cpp deleted file mode 100644 index 659f15f8..00000000 --- a/kdepim/mobile/tasks/taskthreadgroupercomparator.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "taskthreadgroupercomparator.h" - -#include "settings.h" - -#include -#include - -TaskThreadGrouperComparator::TaskThreadGrouperComparator() -{ -} - -TaskThreadGrouperComparator::~TaskThreadGrouperComparator() -{ -} - -QByteArray TaskThreadGrouperComparator::identifierForItem( const Akonadi::Item &item ) const -{ - Q_ASSERT( item.hasPayload() ); - - const KCalCore::Todo::Ptr todo = item.payload(); - - QByteArray identifier = todo->uid().toLatin1(); - - if ( identifier.isEmpty() ) - identifier = QByteArray::number( item.id() ); - - return identifier; -} - -QByteArray TaskThreadGrouperComparator::parentIdentifierForItem( const Akonadi::Item &item ) const -{ - Q_ASSERT( item.hasPayload() ); - - const KCalCore::Todo::Ptr todo = item.payload(); - - return todo->relatedTo( KCalCore::Todo::RelTypeParent ).toLatin1(); -} - -bool TaskThreadGrouperComparator::lessThan( const Akonadi::Item &leftItem, const Akonadi::Item &rightItem ) const -{ - Q_ASSERT( leftItem.isValid() ); - Q_ASSERT( rightItem.isValid() ); - - const Akonadi::Item leftThreadRootItem = threadItem( leftItem ); - const Akonadi::Item rightThreadRootItem = threadItem( rightItem ); - - Q_ASSERT( rightThreadRootItem.isValid() ); - Q_ASSERT( leftThreadRootItem.isValid() ); - - const bool leftItemIsThreadLeader = (leftThreadRootItem == leftItem); - const bool rightItemIsThreadLeader = (rightThreadRootItem == rightItem); - - if ( leftItemIsThreadLeader && rightItemIsThreadLeader ) { - const KCalCore::Todo::Ptr leftTodo = CalendarSupport::todo( leftThreadRootItem ); - const KCalCore::Todo::Ptr rightTodo = CalendarSupport::todo( rightThreadRootItem ); - - if ( !leftTodo || !rightTodo ) { - kDebug() << "This shouldn't happen, but i didn't check. Better safe than sorry."; - return false; - } - - const bool leftCompleted = leftTodo->isCompleted(); - const bool rightCompleted = rightTodo->isCompleted(); - const int leftPriority = leftTodo->priority(); - const int rightPriority = rightTodo->priority(); - - if ( Settings::self()->showCompletedTodosAtBottom() && leftCompleted != rightCompleted ) { - return rightCompleted; - } - - if ( leftPriority != rightPriority ) { - // higher priority first. ( Also note that 9 is low, and 1 is high ) - return leftPriority < rightPriority; - } else { - // lower id first - return leftItem.id() < rightItem.id(); - } - - return leftThreadRootItem.id() < rightThreadRootItem.id(); - } else if ( leftItemIsThreadLeader && !rightItemIsThreadLeader ) { - if ( leftThreadRootItem == rightThreadRootItem ) - return true; // right item is in thread of left thread leader -> right item located below left item - else - return lessThan( leftThreadRootItem, rightThreadRootItem ); // based on thread leaders order - } else if ( !leftItemIsThreadLeader && rightItemIsThreadLeader ) { - if ( leftThreadRootItem == rightThreadRootItem ) - return false; // left item is in thread of right thread leader -> left item must be located below right item - else - return lessThan( leftThreadRootItem, rightThreadRootItem ); // based on thread leaders order - } else if ( !leftItemIsThreadLeader && !rightItemIsThreadLeader ) { - if ( leftThreadRootItem == rightThreadRootItem ) // both in the same thread - return leftItem.id() < rightItem.id(); // default - else - return lessThan( leftThreadRootItem, rightThreadRootItem ); // based on thread leaders order - } - - return leftItem.id() < rightItem.id(); // default -} - diff --git a/kdepim/mobile/tasks/taskthreadgroupercomparator.h b/kdepim/mobile/tasks/taskthreadgroupercomparator.h deleted file mode 100644 index a3c94c7b..00000000 --- a/kdepim/mobile/tasks/taskthreadgroupercomparator.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright (C) 2010 Klarälvdalens Datakonsult AB, - a KDAB Group company, info@kdab.net, - author Tobias Koenig - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#ifndef TASKTHREADGROUPERCOMPARATOR_H -#define TASKTHREADGROUPERCOMPARATOR_H - -#include "threadgroupermodel.h" - -class TaskThreadGrouperComparator : public ThreadGrouperComparator -{ - public: - /** - * Creates a new task thread grouper comparator. - */ - TaskThreadGrouperComparator(); - - /** - * Destroys the task thread grouper comparator. - */ - ~TaskThreadGrouperComparator(); - - /** - * Returns the unique identifier for the given task @p item. - */ - QByteArray identifierForItem( const Akonadi::Item &item ) const; - - /** - * Returns the parent identifier for the given task @p item. - */ - QByteArray parentIdentifierForItem( const Akonadi::Item &item ) const; - - /** - * Returns if the @p left task item is smaller than the @p right task item. - */ - bool lessThan( const Akonadi::Item &left, const Akonadi::Item &right ) const; -}; - -#endif diff --git a/kdepim/pimcommon/autocorrection/ui/autocorrectionwidget.ui b/kdepim/pimcommon/autocorrection/autocorrectionwidget.ui similarity index 100% rename from kdepim/pimcommon/autocorrection/ui/autocorrectionwidget.ui rename to kdepim/pimcommon/autocorrection/autocorrectionwidget.ui diff --git a/kdepimlibs/CMakeLists.txt b/kdepimlibs/CMakeLists.txt index f342d7c1..94187caf 100644 --- a/kdepimlibs/CMakeLists.txt +++ b/kdepimlibs/CMakeLists.txt @@ -22,7 +22,6 @@ include(KDEPlatformProfile) include(FeatureSummary) set(CMAKE_AUTOMOC ON) -set(CMAKE_LINK_INTERFACE_LIBRARIES "") include(GenerateExportHeader) diff --git a/kdepimlibs/gpgme++/CMakeLists.txt b/kdepimlibs/gpgme++/CMakeLists.txt index f009744e..c7850070 100644 --- a/kdepimlibs/gpgme++/CMakeLists.txt +++ b/kdepimlibs/gpgme++/CMakeLists.txt @@ -1,13 +1,12 @@ project( gpgmepp ) -if (MINGW) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mms-bitfields") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mms-bitfields") -endif() include_directories( ${GPGME_INCLUDES} ${Boost_INCLUDE_DIR} ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-gpgme++.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-gpgme++.h ) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config-gpgme++.h.cmake + ${CMAKE_CURRENT_BINARY_DIR}/config-gpgme++.h +) ## gpgme comes in three flavours on each of the platforms: ## Windows: gpgme, gpgme-glib, gpgme-qt @@ -77,9 +76,6 @@ endif() if ( GPGME_QT_FOUND ) add_library( gpgmepp-qt ${LIBRARY_TYPE} ${gpgme_LIB_SRCS} context_qt.cpp ) target_link_libraries( gpgmepp-qt ${GPGME_QT_LIBRARIES} ) - if(WIN32) - target_link_libraries( gpgmepp-qt ${GPGME_VANILLA_LIBRARIES} ) - endif() set_target_properties( gpgmepp-qt PROPERTIES VERSION ${_gpgmepp_version} SOVERSION ${_gpgmepp_soversion} @@ -116,7 +112,10 @@ endif() ########### install files ############### -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/GpgmeppConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/GpgmeppConfig.cmake @ONLY ) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/GpgmeppConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/GpgmeppConfig.cmake @ONLY +) if ( GPGME_FOUND ) @@ -144,7 +143,6 @@ if ( GPGME_FOUND ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/GpgmeppConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/GpgmeppLibraryDepends.cmake DESTINATION ${LIB_INSTALL_DIR}/gpgmepp )

    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.{Gp1eLgv4@?D$YfJ->Eaz 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Ä79eX^hRJAGn=@; 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

  • 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ℜgBqBt;*m>|O%6RK$FYkcSCZSe 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�H3-0|&D1wGMwuV>5a$l0Zs9PMNx%S1e=*<<< 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