Skip to content
Snippets Groups Projects

Improve "--quit" option

This MR completes !30 (merged), as discussed in its header. It makes the --quit option behave as follows:

  • get the active window if there is one, else exit;
  • if it is a MousepadWindow and if we haven't already tried, try to save all documents;
  • else, if we haven't already tried, try to close the window gracefully;
  • else, as a last resort, destroy the window;
  • go to the first point.

When all windows are destroyed, the application switches automatically to shutdown().

To achieve this, I had in particular to add each "child window of a main window" (in practice a dialog window created from a MousepadWindow at some point in its life cycle) to the application windows list. This led me to move some code from mousepad/mousepad-window.c into mousepad/mousepad-dialogs.c, which is probably not a bad thing.

For the loop above, I used a combination of g_timeout_add() and g_signal_connect() to the GtkApplication "window-removed" signal, by delaying save/close/destroy actions so that everything runs smoothly.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading