1. TortoiseHg
  2. TortoiseHg
  3. thg
  4. Issues
Issue #155 resolved

"Open" dirty subrepo link on status window does not work when status is open from a modal dialog

Angel Ezquerra
created an issue

If you open the status dialog from the merge dialog (and I assume that the same would happen if it were open from any other modal dialog), and there is a dirty subrepo, when you select the dirty subrepo you get a link such as "include/subrepo (is a dirty sub-repository) open...". However, clicking on the link does not open the subrepo.

Comments (6)

  1. Steve Borho
    • changed status to open

    StatusDialog() is not connecting and handling the linkActivated signal like CommitDialog() does. I think you can copy this code from commit.py to status.py.

    Would you like to try to fix this yourself?

  2. Angel Ezquerra reporter

    I did copy the code from the Commit.py file but what happens is that when I click the open... link a new Status dialog is open, instead of opening the subrepo in the workbench.

    Clearly I still do not really understand how this whole thing works! :-P


  3. Steve Borho

    The standalone status tool isn't capable of opening a new tab in the workbench. The best you could do is open a new commit tool by passing commit.py's run() method instead of status.py's run() method.

  4. Angel Ezquerra reporter

    Umm, that is a pity. It would really make sense to open a tab in the workbench, wouldn't it?

    Anyway, I have a patch working, which opens the commit tool as you suggested. It is not the ideal behavior but it is better than having the link not work at all.

  5. Steve Borho

    You would need to route the linkActivated signal back from StatusDialog to MergeDialog to RepoWidget, and you would need to know to disable the linkActivated handler in the StatusDialog itself, and the status dialog would need to know whether the merge was started from the Workbench or from the command line. Not insurmountable, but not trivial either.

    The merge wizard will be largely refactored after 2.0. It may just get an embedded status widget.

  6. Log in to comment