Skip to content

Feature Request: progress indicator and cancel button for long operations #161

Closed

Description

@AndrewSav

This Feature request comes along issues #114 and #107.

It would be nice if there would be a progress indicator when opening big databases or exporting big tables. Cancel button also will be welcome. Currently application freezes and becomes unresponsive until the operation ends. And you keep wondering if it's frozen for good or it's still alive and doing something.

Activity

  1. justinclift commented on Mar 14, 2015

    @justinclift
    Member

    Thinking about this, I suspect the right way to present it would be a pop up dialog showing progress.

    Something like this:

                    progress bar 1

  2. AndrewSav commented on Mar 16, 2015

    @AndrewSav
    Author

    Looks good to me.

  3. Z4us commented on Mar 16, 2015

    @Z4us

    A pop up, Justin? There are people who hate them, even block them. Better is IMNSHO a menu item called Staus or Progress with lines for all (sub)processes that take longer than let's say two or three minutes.

  4. justinclift commented on Mar 16, 2015

    @justinclift
    Member

    @Z4us Ahhh, hadn't thought of that as it's not a browser. But yeah, point taken. 😄

    So, maybe a status bar thing instead then...?

  5. Z4us commented on Mar 16, 2015

    @Z4us

    Right, some kewl animation if technically not too hard to develop :)

  6. justinclift commented on Mar 16, 2015

    @justinclift
    Member

    Qt provides a "progress bar" widget already, so that's probably the thing to use for the display.

    Collecting the info to use with it is likely harder. For (say) a CSV import it would probably be something like:

    1. Do an initial row count for the input file. This is so we can know how far we've progressed through the total file, during the import.
    2. Figure out how often to update the progress bar
      • Maybe figure out how wide the progress bar is in pixels (if there's a way). Divide total rows / # pixels
      • If figuring out the # of pixels for the progress bar isn't easy, then go with a percentage approach instead. eg Divide total row / 100
    3. Now run a loop to import the CSV data, updating the progress bar every x lines (as worked out in previous step), and checking for a press of the Cancel button

    That's without error handling though, and I have no solid idea on the correct behaviour if the user hits the Cancel button (eg doesn't want to wait further). Keep the data successfully imported so far?

  7. justinclift commented on Sep 20, 2017

    @justinclift
    Member

    @MKleusberg We have progress dialogs + cancel on all our long operations now don't we?

  8. mgrojo commented on Oct 4, 2018

    @mgrojo
    Member

    I can confirm that the Import CSV dialog has a progress dialog with a cancel button. But unfortunately I pressed Cancel, the progress dialog closed, but the Import dialog is left frozen. I had to kill the application.

  9. MKleusberg commented on Feb 13, 2020

    @MKleusberg
    Member

    Closing this because (I believe) we have working cancel buttons for all long operations and progress dialogs for most of them. Just tested cancelling the import CSV dialog and it did work too 😄 If I'm missing anything, just re-open this issue 😄

  10. self-assigned this
    on Feb 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions