sonrisesoftware / project-dashboard

Project Dashboard for Ubuntu Touch
GNU General Public License v3.0
25 stars 4 forks source link

No way to delete projects #86

Closed krnekhelesh closed 10 years ago

krnekhelesh commented 10 years ago

I wanted to remove and re-add some personal projects to confirm bug #79, however I realised that there was no way to delete a project. It is possible to enable/disable git integration which is okay, but no way to actually delete a project from the main screen.

iBelieve commented 10 years ago

From the home screen, you can long press and choose Delete to delete a project. I thought about using swipe to delete, but I don't want to make it so users can accidentally delete important data. And I don't want to use the confirm buttons provided by the ListItem because the UI isn't very good (icon is gray, and a few other things that I don't remember).

Any thoughts about how to make it more obvious? Is it worth switching to swipe to delete?

krnekhelesh commented 10 years ago

The long press to Delete is not obvious since it is not the official design way. So yes I would recommend switching to the swipe to delete. In fact swipe to delete also has a confirm delete option that can be used to check if a user really want to delete a project.

I understand that the gray icon is not ideal, but I remember seeing a bug report about that already in UITK. Besides in this case I would go for functionality over appearance.

Otherwise you could consider adding a edit mode where the user can select one or multiple projects and then press delete (similar to the gallery app). But I guess this is not possible in the time frame you got for the showdown.

iBelieve commented 10 years ago

Thanks for the feedback. I ended up going with the swipe & confirm pattern. But the appearance of the message & icon annoyed me so much that I came up with a nasty hack to fix it:

backgroundIndicator: ListItemBackground {
    state: swipingState
    iconSource: getIcon("delete-white")
    text: "Delete"
}

// TODO: Nasty hack to improve the appearance of the confirm removal dialog
Component.onCompleted: {
    var image = findChild(projectDelegate, "confirmRemovalDialog").children[0].children[0]
    image.source = ""

    var label = findChild(projectDelegate, "confirmRemovalDialog").children[0].children[1]
    label.text = ""
}