Sat, 22 Feb 2014 19:57:46 +0100
Continued implementing support for the Mercurial Shelve extension.
--- a/APIs/Python3/eric5.api Fri Feb 21 19:13:43 2014 +0100 +++ b/APIs/Python3/eric5.api Sat Feb 22 19:57:46 2014 +0100 @@ -4851,13 +4851,39 @@ eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase.Rebase.hgRebaseAbort?4(path) eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase.Rebase.hgRebaseContinue?4(path) eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase.Rebase?1(vcs) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.AgeColumn?7 +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.MessageColumn?7 +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.NameColumn?7 +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.closeEvent?4(e) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.keyPressEvent?4(evt) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_buttonBox_clicked?4(button) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_input_returnPressed?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_passwordCheckBox_toggled?4(isOn) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_refreshButton_clicked?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_sendButton_clicked?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_shelveList_currentItemChanged?4(current, previous) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.on_shelveList_customContextMenuRequested?4(pos) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.show?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog.start?4(projectDir) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.HgShelveBrowserDialog?1(vcs, parent=None) eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.HgShelveDataDialog.getData?4() eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.HgShelveDataDialog?1(parent=None) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.HgShelvesSelectionDialog.getSelectedShelves?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.HgShelvesSelectionDialog?1(message, shelveNames, parent=None) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.HgUnshelveDataDialog.getData?4() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.HgUnshelveDataDialog?1(shelveNames, shelveName="", parent=None) eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.ShelveProjectHelper.initActions?4() eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.ShelveProjectHelper.initMenu?4(mainMenu) eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.ShelveProjectHelper.menuTitle?4() eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.ShelveProjectHelper?1() +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgCleanupShelves?4(name) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgDeleteShelves?4(name, shelveNames=None) eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgShelve?4(name) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgShelveBrowser?4(projectDir) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgUnshelve?4(name, shelveName="") +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgUnshelveAbort?4(name) +eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.hgUnshelveContinue?4(name) eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve.shutdown?4() eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.Shelve?1(vcs) eric5.Plugins.VcsPlugins.vcsMercurial.TransplantExtension.ProjectHelper.TransplantProjectHelper.initActions?4()
--- a/APIs/Python3/eric5.bas Fri Feb 21 19:13:43 2014 +0100 +++ b/APIs/Python3/eric5.bas Sat Feb 22 19:57:46 2014 +0100 @@ -345,12 +345,15 @@ HgRevisionSelectionDialog QDialog Ui_HgRevisionSelectionDialog HgRevisionsSelectionDialog QDialog Ui_HgRevisionsSelectionDialog HgServeDialog E5MainWindow +HgShelveBrowserDialog QWidget Ui_HgShelveBrowserDialog HgShelveDataDialog QDialog Ui_HgShelveDataDialog +HgShelvesSelectionDialog QDialog Ui_HgShelvesSelectionDialog HgStatusDialog QWidget Ui_HgStatusDialog HgStatusMonitorThread VcsStatusMonitorThread HgSummaryDialog QDialog Ui_HgSummaryDialog HgTagBranchListDialog QDialog Ui_HgTagBranchListDialog HgTagDialog QDialog Ui_HgTagDialog +HgUnshelveDataDialog QDialog Ui_HgUnshelveDataDialog HgUserConfigDataDialog QDialog Ui_HgUserConfigDataDialog HighlightingStylesReader XMLStreamReaderBase HighlightingStylesWriter XMLStreamWriterBase
--- a/Documentation/Help/source.qhp Fri Feb 21 19:13:43 2014 +0100 +++ b/Documentation/Help/source.qhp Sat Feb 22 19:57:46 2014 +0100 @@ -530,7 +530,10 @@ <section title="eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase" ref="eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase.html" /> </section> <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension" ref="index-eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.html"> + <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html" /> <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html" /> + <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html" /> + <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html" /> <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html" /> <section title="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html" /> </section> @@ -6479,10 +6482,42 @@ <keyword name="HgServeDialog.__startServer" id="HgServeDialog.__startServer" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgServeDialog.html#HgServeDialog.__startServer" /> <keyword name="HgServeDialog.__stopServer" id="HgServeDialog.__stopServer" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgServeDialog.html#HgServeDialog.__stopServer" /> <keyword name="HgServeDialog.closeEvent" id="HgServeDialog.closeEvent" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgServeDialog.html#HgServeDialog.closeEvent" /> + <keyword name="HgShelveBrowserDialog" id="HgShelveBrowserDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog" /> + <keyword name="HgShelveBrowserDialog (Constructor)" id="HgShelveBrowserDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__init__" /> + <keyword name="HgShelveBrowserDialog (Module)" id="HgShelveBrowserDialog (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html" /> + <keyword name="HgShelveBrowserDialog.__cleanupShelves" id="HgShelveBrowserDialog.__cleanupShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__cleanupShelves" /> + <keyword name="HgShelveBrowserDialog.__deleteShelves" id="HgShelveBrowserDialog.__deleteShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__deleteShelves" /> + <keyword name="HgShelveBrowserDialog.__finish" id="HgShelveBrowserDialog.__finish" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__finish" /> + <keyword name="HgShelveBrowserDialog.__generateShelveEntry" id="HgShelveBrowserDialog.__generateShelveEntry" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__generateShelveEntry" /> + <keyword name="HgShelveBrowserDialog.__getShelveEntries" id="HgShelveBrowserDialog.__getShelveEntries" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__getShelveEntries" /> + <keyword name="HgShelveBrowserDialog.__procFinished" id="HgShelveBrowserDialog.__procFinished" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__procFinished" /> + <keyword name="HgShelveBrowserDialog.__processBuffer" id="HgShelveBrowserDialog.__processBuffer" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__processBuffer" /> + <keyword name="HgShelveBrowserDialog.__readStderr" id="HgShelveBrowserDialog.__readStderr" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__readStderr" /> + <keyword name="HgShelveBrowserDialog.__readStdout" id="HgShelveBrowserDialog.__readStdout" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__readStdout" /> + <keyword name="HgShelveBrowserDialog.__resetUI" id="HgShelveBrowserDialog.__resetUI" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__resetUI" /> + <keyword name="HgShelveBrowserDialog.__resizeColumnsShelves" id="HgShelveBrowserDialog.__resizeColumnsShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__resizeColumnsShelves" /> + <keyword name="HgShelveBrowserDialog.__showError" id="HgShelveBrowserDialog.__showError" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__showError" /> + <keyword name="HgShelveBrowserDialog.__unshelve" id="HgShelveBrowserDialog.__unshelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.__unshelve" /> + <keyword name="HgShelveBrowserDialog.closeEvent" id="HgShelveBrowserDialog.closeEvent" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.closeEvent" /> + <keyword name="HgShelveBrowserDialog.keyPressEvent" id="HgShelveBrowserDialog.keyPressEvent" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.keyPressEvent" /> + <keyword name="HgShelveBrowserDialog.on_buttonBox_clicked" id="HgShelveBrowserDialog.on_buttonBox_clicked" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_buttonBox_clicked" /> + <keyword name="HgShelveBrowserDialog.on_input_returnPressed" id="HgShelveBrowserDialog.on_input_returnPressed" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_input_returnPressed" /> + <keyword name="HgShelveBrowserDialog.on_passwordCheckBox_toggled" id="HgShelveBrowserDialog.on_passwordCheckBox_toggled" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_passwordCheckBox_toggled" /> + <keyword name="HgShelveBrowserDialog.on_refreshButton_clicked" id="HgShelveBrowserDialog.on_refreshButton_clicked" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_refreshButton_clicked" /> + <keyword name="HgShelveBrowserDialog.on_sendButton_clicked" id="HgShelveBrowserDialog.on_sendButton_clicked" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_sendButton_clicked" /> + <keyword name="HgShelveBrowserDialog.on_shelveList_currentItemChanged" id="HgShelveBrowserDialog.on_shelveList_currentItemChanged" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_shelveList_currentItemChanged" /> + <keyword name="HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" id="HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" /> + <keyword name="HgShelveBrowserDialog.show" id="HgShelveBrowserDialog.show" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.show" /> + <keyword name="HgShelveBrowserDialog.start" id="HgShelveBrowserDialog.start" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html#HgShelveBrowserDialog.start" /> <keyword name="HgShelveDataDialog" id="HgShelveDataDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html#HgShelveDataDialog" /> <keyword name="HgShelveDataDialog (Constructor)" id="HgShelveDataDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html#HgShelveDataDialog.__init__" /> <keyword name="HgShelveDataDialog (Module)" id="HgShelveDataDialog (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html" /> <keyword name="HgShelveDataDialog.getData" id="HgShelveDataDialog.getData" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html#HgShelveDataDialog.getData" /> + <keyword name="HgShelvesSelectionDialog" id="HgShelvesSelectionDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html#HgShelvesSelectionDialog" /> + <keyword name="HgShelvesSelectionDialog (Constructor)" id="HgShelvesSelectionDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html#HgShelvesSelectionDialog.__init__" /> + <keyword name="HgShelvesSelectionDialog (Module)" id="HgShelvesSelectionDialog (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html" /> + <keyword name="HgShelvesSelectionDialog.getSelectedShelves" id="HgShelvesSelectionDialog.getSelectedShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html#HgShelvesSelectionDialog.getSelectedShelves" /> + <keyword name="HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged" id="HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html#HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged" /> <keyword name="HgStatusDialog" id="HgStatusDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog" /> <keyword name="HgStatusDialog (Constructor)" id="HgStatusDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html#HgStatusDialog.__init__" /> <keyword name="HgStatusDialog (Module)" id="HgStatusDialog (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgStatusDialog.html" /> @@ -6575,6 +6610,10 @@ <keyword name="HgTagDialog.getParameters" id="HgTagDialog.getParameters" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgTagDialog.html#HgTagDialog.getParameters" /> <keyword name="HgTagDialog.on_tagCombo_currentIndexChanged" id="HgTagDialog.on_tagCombo_currentIndexChanged" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgTagDialog.html#HgTagDialog.on_tagCombo_currentIndexChanged" /> <keyword name="HgTagDialog.on_tagCombo_editTextChanged" id="HgTagDialog.on_tagCombo_editTextChanged" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgTagDialog.html#HgTagDialog.on_tagCombo_editTextChanged" /> + <keyword name="HgUnshelveDataDialog" id="HgUnshelveDataDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html#HgUnshelveDataDialog" /> + <keyword name="HgUnshelveDataDialog (Constructor)" id="HgUnshelveDataDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html#HgUnshelveDataDialog.__init__" /> + <keyword name="HgUnshelveDataDialog (Module)" id="HgUnshelveDataDialog (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html" /> + <keyword name="HgUnshelveDataDialog.getData" id="HgUnshelveDataDialog.getData" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html#HgUnshelveDataDialog.getData" /> <keyword name="HgUserConfigDataDialog" id="HgUserConfigDataDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgUserConfigDataDialog.html#HgUserConfigDataDialog" /> <keyword name="HgUserConfigDataDialog (Constructor)" id="HgUserConfigDataDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgUserConfigDataDialog.html#HgUserConfigDataDialog.__init__" /> <keyword name="HgUserConfigDataDialog (Module)" id="HgUserConfigDataDialog (Module)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.HgUserConfigDataDialog.html" /> @@ -9933,12 +9972,26 @@ <keyword name="ShellPage.save" id="ShellPage.save" ref="eric5.Preferences.ConfigurationPages.ShellPage.html#ShellPage.save" /> <keyword name="Shelve" id="Shelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve" /> <keyword name="Shelve (Constructor)" id="Shelve (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.__init__" /> + <keyword name="Shelve.__hgGetShelveNamesList" id="Shelve.__hgGetShelveNamesList" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.__hgGetShelveNamesList" /> + <keyword name="Shelve.hgCleanupShelves" id="Shelve.hgCleanupShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgCleanupShelves" /> + <keyword name="Shelve.hgDeleteShelves" id="Shelve.hgDeleteShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgDeleteShelves" /> <keyword name="Shelve.hgShelve" id="Shelve.hgShelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgShelve" /> + <keyword name="Shelve.hgShelveBrowser" id="Shelve.hgShelveBrowser" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgShelveBrowser" /> + <keyword name="Shelve.hgUnshelve" id="Shelve.hgUnshelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgUnshelve" /> + <keyword name="Shelve.hgUnshelveAbort" id="Shelve.hgUnshelveAbort" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgUnshelveAbort" /> + <keyword name="Shelve.hgUnshelveContinue" id="Shelve.hgUnshelveContinue" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.hgUnshelveContinue" /> <keyword name="Shelve.shutdown" id="Shelve.shutdown" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.shutdown" /> <keyword name="ShelveExtension (Package)" id="ShelveExtension (Package)" ref="index-eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.html" /> <keyword name="ShelveProjectHelper" id="ShelveProjectHelper" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper" /> <keyword name="ShelveProjectHelper (Constructor)" id="ShelveProjectHelper (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__init__" /> + <keyword name="ShelveProjectHelper.__hgCleanupShelves" id="ShelveProjectHelper.__hgCleanupShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgCleanupShelves" /> + <keyword name="ShelveProjectHelper.__hgDeleteShelves" id="ShelveProjectHelper.__hgDeleteShelves" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgDeleteShelves" /> <keyword name="ShelveProjectHelper.__hgShelve" id="ShelveProjectHelper.__hgShelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgShelve" /> + <keyword name="ShelveProjectHelper.__hgShelveBrowser" id="ShelveProjectHelper.__hgShelveBrowser" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgShelveBrowser" /> + <keyword name="ShelveProjectHelper.__hgUnshelve" id="ShelveProjectHelper.__hgUnshelve" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgUnshelve" /> + <keyword name="ShelveProjectHelper.__hgUnshelveAbort" id="ShelveProjectHelper.__hgUnshelveAbort" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgUnshelveAbort" /> + <keyword name="ShelveProjectHelper.__hgUnshelveContinue" id="ShelveProjectHelper.__hgUnshelveContinue" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__hgUnshelveContinue" /> + <keyword name="ShelveProjectHelper.__reopenProject" id="ShelveProjectHelper.__reopenProject" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.__reopenProject" /> <keyword name="ShelveProjectHelper.initActions" id="ShelveProjectHelper.initActions" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.initActions" /> <keyword name="ShelveProjectHelper.initMenu" id="ShelveProjectHelper.initMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.initMenu" /> <keyword name="ShelveProjectHelper.menuTitle" id="ShelveProjectHelper.menuTitle" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html#ShelveProjectHelper.menuTitle" /> @@ -14016,7 +14069,10 @@ <file>eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.HgRebaseDialog.html</file> <file>eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.ProjectHelper.html</file> <file>eric5.Plugins.VcsPlugins.vcsMercurial.RebaseExtension.rebase.html</file> + <file>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html</file> <file>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html</file> + <file>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html</file> + <file>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html</file> <file>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html</file> <file>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html</file> <file>eric5.Plugins.VcsPlugins.vcsMercurial.TransplantExtension.ProjectHelper.html</file>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,354 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog</h1> +<p> +Module implementing Mercurial shelve browser dialog. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#HgShelveBrowserDialog">HgShelveBrowserDialog</a></td> +<td>Class implementing Mercurial shelve browser dialog.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="HgShelveBrowserDialog" ID="HgShelveBrowserDialog"></a> +<h2>HgShelveBrowserDialog</h2> +<p> + Class implementing Mercurial shelve browser dialog. +</p> +<h3>Derived from</h3> +QWidget, Ui_HgShelveBrowserDialog +<h3>Class Attributes</h3> +<table> +<tr><td>AgeColumn</td></tr><tr><td>MessageColumn</td></tr><tr><td>NameColumn</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#HgShelveBrowserDialog.__init__">HgShelveBrowserDialog</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__cleanupShelves">__cleanupShelves</a></td> +<td>Private slot to delete all shelves.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__deleteShelves">__deleteShelves</a></td> +<td>Private slot to delete the selected shelves.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__finish">__finish</a></td> +<td>Private slot called when the process finished or the user pressed the button.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__generateShelveEntry">__generateShelveEntry</a></td> +<td>Private method to generate the shelve items.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__getShelveEntries">__getShelveEntries</a></td> +<td>Private method to retrieve the list of shelves.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__procFinished">__procFinished</a></td> +<td>Private slot connected to the finished signal.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__processBuffer">__processBuffer</a></td> +<td>Private method to process the buffered output of the hg shelve command.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__readStderr">__readStderr</a></td> +<td>Private slot to handle the readyReadStandardError signal.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__readStdout">__readStdout</a></td> +<td>Private slot to handle the readyReadStandardOutput signal.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__resetUI">__resetUI</a></td> +<td>Private method to reset the user interface.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__resizeColumnsShelves">__resizeColumnsShelves</a></td> +<td>Private method to resize the shelve list columns.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__showError">__showError</a></td> +<td>Private slot to show some error.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.__unshelve">__unshelve</a></td> +<td>Private slot to restore the selected shelve of changes.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.closeEvent">closeEvent</a></td> +<td>Private slot implementing a close event handler.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.keyPressEvent">keyPressEvent</a></td> +<td>Protected slot to handle a key press event.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td> +<td>Private slot called by a button of the button box clicked.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_input_returnPressed">on_input_returnPressed</a></td> +<td>Private slot to handle the press of the return key in the input field.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_passwordCheckBox_toggled">on_passwordCheckBox_toggled</a></td> +<td>Private slot to handle the password checkbox toggled.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_refreshButton_clicked">on_refreshButton_clicked</a></td> +<td>Private slot to refresh the list of shelves.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_sendButton_clicked">on_sendButton_clicked</a></td> +<td>Private slot to send the input to the merurial process.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_shelveList_currentItemChanged">on_shelveList_currentItemChanged</a></td> +<td>Private slot called, when the current item of the shelve list changes.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.on_shelveList_customContextMenuRequested">on_shelveList_customContextMenuRequested</a></td> +<td>Protected slot to show the context menu of the shelve list.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.show">show</a></td> +<td>Public slot to show the dialog.</td> +</tr><tr> +<td><a href="#HgShelveBrowserDialog.start">start</a></td> +<td>Public slot to start the hg shelve command.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="HgShelveBrowserDialog.__init__" ID="HgShelveBrowserDialog.__init__"></a> +<h4>HgShelveBrowserDialog (Constructor)</h4> +<b>HgShelveBrowserDialog</b>(<i>vcs, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>vcs</i></dt> +<dd> +reference to the vcs object +</dd><dt><i>parent</i></dt> +<dd> +parent widget (QWidget) +</dd> +</dl><a NAME="HgShelveBrowserDialog.__cleanupShelves" ID="HgShelveBrowserDialog.__cleanupShelves"></a> +<h4>HgShelveBrowserDialog.__cleanupShelves</h4> +<b>__cleanupShelves</b>(<i></i>) +<p> + Private slot to delete all shelves. +</p><a NAME="HgShelveBrowserDialog.__deleteShelves" ID="HgShelveBrowserDialog.__deleteShelves"></a> +<h4>HgShelveBrowserDialog.__deleteShelves</h4> +<b>__deleteShelves</b>(<i></i>) +<p> + Private slot to delete the selected shelves. +</p><a NAME="HgShelveBrowserDialog.__finish" ID="HgShelveBrowserDialog.__finish"></a> +<h4>HgShelveBrowserDialog.__finish</h4> +<b>__finish</b>(<i></i>) +<p> + Private slot called when the process finished or the user pressed + the button. +</p><a NAME="HgShelveBrowserDialog.__generateShelveEntry" ID="HgShelveBrowserDialog.__generateShelveEntry"></a> +<h4>HgShelveBrowserDialog.__generateShelveEntry</h4> +<b>__generateShelveEntry</b>(<i>name, age, message, fileStatistics, totals</i>) +<p> + Private method to generate the shelve items. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the shelve (string) +</dd><dt><i>age</i></dt> +<dd> +age of the shelve (string) +</dd><dt><i>message</i></dt> +<dd> +shelve message (string) +</dd><dt><i>fileStatistics</i></dt> +<dd> +per file change statistics (tuple of + four strings with file name, number of changes, number of + added lines and number of deleted lines) +</dd><dt><i>totals</i></dt> +<dd> +overall statistics (tuple of three strings with + number of changed files, number of added lines and number + of deleted lines) +</dd> +</dl><a NAME="HgShelveBrowserDialog.__getShelveEntries" ID="HgShelveBrowserDialog.__getShelveEntries"></a> +<h4>HgShelveBrowserDialog.__getShelveEntries</h4> +<b>__getShelveEntries</b>(<i></i>) +<p> + Private method to retrieve the list of shelves. +</p><a NAME="HgShelveBrowserDialog.__procFinished" ID="HgShelveBrowserDialog.__procFinished"></a> +<h4>HgShelveBrowserDialog.__procFinished</h4> +<b>__procFinished</b>(<i>exitCode, exitStatus</i>) +<p> + Private slot connected to the finished signal. +</p><dl> +<dt><i>exitCode</i></dt> +<dd> +exit code of the process (integer) +</dd><dt><i>exitStatus</i></dt> +<dd> +exit status of the process (QProcess.ExitStatus) +</dd> +</dl><a NAME="HgShelveBrowserDialog.__processBuffer" ID="HgShelveBrowserDialog.__processBuffer"></a> +<h4>HgShelveBrowserDialog.__processBuffer</h4> +<b>__processBuffer</b>(<i></i>) +<p> + Private method to process the buffered output of the hg shelve command. +</p><a NAME="HgShelveBrowserDialog.__readStderr" ID="HgShelveBrowserDialog.__readStderr"></a> +<h4>HgShelveBrowserDialog.__readStderr</h4> +<b>__readStderr</b>(<i></i>) +<p> + Private slot to handle the readyReadStandardError signal. +</p><p> + It reads the error output of the process and inserts it into the + error pane. +</p><a NAME="HgShelveBrowserDialog.__readStdout" ID="HgShelveBrowserDialog.__readStdout"></a> +<h4>HgShelveBrowserDialog.__readStdout</h4> +<b>__readStdout</b>(<i></i>) +<p> + Private slot to handle the readyReadStandardOutput signal. +</p><p> + It reads the output of the process and inserts it into a buffer. +</p><a NAME="HgShelveBrowserDialog.__resetUI" ID="HgShelveBrowserDialog.__resetUI"></a> +<h4>HgShelveBrowserDialog.__resetUI</h4> +<b>__resetUI</b>(<i></i>) +<p> + Private method to reset the user interface. +</p><a NAME="HgShelveBrowserDialog.__resizeColumnsShelves" ID="HgShelveBrowserDialog.__resizeColumnsShelves"></a> +<h4>HgShelveBrowserDialog.__resizeColumnsShelves</h4> +<b>__resizeColumnsShelves</b>(<i></i>) +<p> + Private method to resize the shelve list columns. +</p><a NAME="HgShelveBrowserDialog.__showError" ID="HgShelveBrowserDialog.__showError"></a> +<h4>HgShelveBrowserDialog.__showError</h4> +<b>__showError</b>(<i>out</i>) +<p> + Private slot to show some error. +</p><dl> +<dt><i>out</i></dt> +<dd> +error to be shown (string) +</dd> +</dl><a NAME="HgShelveBrowserDialog.__unshelve" ID="HgShelveBrowserDialog.__unshelve"></a> +<h4>HgShelveBrowserDialog.__unshelve</h4> +<b>__unshelve</b>(<i></i>) +<p> + Private slot to restore the selected shelve of changes. +</p><a NAME="HgShelveBrowserDialog.closeEvent" ID="HgShelveBrowserDialog.closeEvent"></a> +<h4>HgShelveBrowserDialog.closeEvent</h4> +<b>closeEvent</b>(<i>e</i>) +<p> + Private slot implementing a close event handler. +</p><dl> +<dt><i>e</i></dt> +<dd> +close event (QCloseEvent) +</dd> +</dl><a NAME="HgShelveBrowserDialog.keyPressEvent" ID="HgShelveBrowserDialog.keyPressEvent"></a> +<h4>HgShelveBrowserDialog.keyPressEvent</h4> +<b>keyPressEvent</b>(<i>evt</i>) +<p> + Protected slot to handle a key press event. +</p><dl> +<dt><i>evt</i></dt> +<dd> +the key press event (QKeyEvent) +</dd> +</dl><a NAME="HgShelveBrowserDialog.on_buttonBox_clicked" ID="HgShelveBrowserDialog.on_buttonBox_clicked"></a> +<h4>HgShelveBrowserDialog.on_buttonBox_clicked</h4> +<b>on_buttonBox_clicked</b>(<i>button</i>) +<p> + Private slot called by a button of the button box clicked. +</p><dl> +<dt><i>button</i></dt> +<dd> +button that was clicked (QAbstractButton) +</dd> +</dl><a NAME="HgShelveBrowserDialog.on_input_returnPressed" ID="HgShelveBrowserDialog.on_input_returnPressed"></a> +<h4>HgShelveBrowserDialog.on_input_returnPressed</h4> +<b>on_input_returnPressed</b>(<i></i>) +<p> + Private slot to handle the press of the return key in the input field. +</p><a NAME="HgShelveBrowserDialog.on_passwordCheckBox_toggled" ID="HgShelveBrowserDialog.on_passwordCheckBox_toggled"></a> +<h4>HgShelveBrowserDialog.on_passwordCheckBox_toggled</h4> +<b>on_passwordCheckBox_toggled</b>(<i>isOn</i>) +<p> + Private slot to handle the password checkbox toggled. +</p><dl> +<dt><i>isOn</i></dt> +<dd> +flag indicating the status of the check box (boolean) +</dd> +</dl><a NAME="HgShelveBrowserDialog.on_refreshButton_clicked" ID="HgShelveBrowserDialog.on_refreshButton_clicked"></a> +<h4>HgShelveBrowserDialog.on_refreshButton_clicked</h4> +<b>on_refreshButton_clicked</b>(<i></i>) +<p> + Private slot to refresh the list of shelves. +</p><a NAME="HgShelveBrowserDialog.on_sendButton_clicked" ID="HgShelveBrowserDialog.on_sendButton_clicked"></a> +<h4>HgShelveBrowserDialog.on_sendButton_clicked</h4> +<b>on_sendButton_clicked</b>(<i></i>) +<p> + Private slot to send the input to the merurial process. +</p><a NAME="HgShelveBrowserDialog.on_shelveList_currentItemChanged" ID="HgShelveBrowserDialog.on_shelveList_currentItemChanged"></a> +<h4>HgShelveBrowserDialog.on_shelveList_currentItemChanged</h4> +<b>on_shelveList_currentItemChanged</b>(<i>current, previous</i>) +<p> + Private slot called, when the current item of the shelve list changes. +</p><dl> +<dt><i>current</i></dt> +<dd> +reference to the new current item (QTreeWidgetItem) +</dd><dt><i>previous</i></dt> +<dd> +reference to the old current item (QTreeWidgetItem) +</dd> +</dl><a NAME="HgShelveBrowserDialog.on_shelveList_customContextMenuRequested" ID="HgShelveBrowserDialog.on_shelveList_customContextMenuRequested"></a> +<h4>HgShelveBrowserDialog.on_shelveList_customContextMenuRequested</h4> +<b>on_shelveList_customContextMenuRequested</b>(<i>pos</i>) +<p> + Protected slot to show the context menu of the shelve list. +</p><dl> +<dt><i>pos</i></dt> +<dd> +position of the mouse pointer (QPoint) +</dd> +</dl><a NAME="HgShelveBrowserDialog.show" ID="HgShelveBrowserDialog.show"></a> +<h4>HgShelveBrowserDialog.show</h4> +<b>show</b>(<i></i>) +<p> + Public slot to show the dialog. +</p><a NAME="HgShelveBrowserDialog.start" ID="HgShelveBrowserDialog.start"></a> +<h4>HgShelveBrowserDialog.start</h4> +<b>start</b>(<i>projectDir</i>) +<p> + Public slot to start the hg shelve command. +</p><dl> +<dt><i>projectDir</i></dt> +<dd> +name of the project directory (string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog</h1> +<p> +Module implementing a dialog to enter the data for a shelve operation. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#HgShelveDataDialog">HgShelveDataDialog</a></td> +<td>Class implementing a dialog to enter the data for a shelve operation.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="HgShelveDataDialog" ID="HgShelveDataDialog"></a> +<h2>HgShelveDataDialog</h2> +<p> + Class implementing a dialog to enter the data for a shelve operation. +</p> +<h3>Derived from</h3> +QDialog, Ui_HgShelveDataDialog +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#HgShelveDataDialog.__init__">HgShelveDataDialog</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#HgShelveDataDialog.getData">getData</a></td> +<td>Public method to get the user data.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="HgShelveDataDialog.__init__" ID="HgShelveDataDialog.__init__"></a> +<h4>HgShelveDataDialog (Constructor)</h4> +<b>HgShelveDataDialog</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +reference to the parent widget (QWidget) +</dd> +</dl><a NAME="HgShelveDataDialog.getData" ID="HgShelveDataDialog.getData"></a> +<h4>HgShelveDataDialog.getData</h4> +<b>getData</b>(<i></i>) +<p> + Public method to get the user data. +</p><dl> +<dt>Returns:</dt> +<dd> +tuple containing the name (string), date (QDateTime), + message (string) and a flag indicating to add/remove + new/missing files (boolean) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog</h1> +<p> +Module implementing a dialog to select multiple shelve names. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#HgShelvesSelectionDialog">HgShelvesSelectionDialog</a></td> +<td>Class implementing a dialog to select multiple shelve names.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="HgShelvesSelectionDialog" ID="HgShelvesSelectionDialog"></a> +<h2>HgShelvesSelectionDialog</h2> +<p> + Class implementing a dialog to select multiple shelve names. +</p> +<h3>Derived from</h3> +QDialog, Ui_HgShelvesSelectionDialog +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#HgShelvesSelectionDialog.__init__">HgShelvesSelectionDialog</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#HgShelvesSelectionDialog.getSelectedShelves">getSelectedShelves</a></td> +<td>Public method to retrieve the selected shelve names.</td> +</tr><tr> +<td><a href="#HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged">on_shelvesList_itemSelectionChanged</a></td> +<td>Private slot to enabled the OK button if items have been selected.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="HgShelvesSelectionDialog.__init__" ID="HgShelvesSelectionDialog.__init__"></a> +<h4>HgShelvesSelectionDialog (Constructor)</h4> +<b>HgShelvesSelectionDialog</b>(<i>message, shelveNames, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +reference to the parent widget (QWidget) +</dd> +</dl><a NAME="HgShelvesSelectionDialog.getSelectedShelves" ID="HgShelvesSelectionDialog.getSelectedShelves"></a> +<h4>HgShelvesSelectionDialog.getSelectedShelves</h4> +<b>getSelectedShelves</b>(<i></i>) +<p> + Public method to retrieve the selected shelve names. +</p><dl> +<dt>Returns:</dt> +<dd> +selected shelve names (list of string) +</dd> +</dl><a NAME="HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged" ID="HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged"></a> +<h4>HgShelvesSelectionDialog.on_shelvesList_itemSelectionChanged</h4> +<b>on_shelvesList_itemSelectionChanged</b>(<i></i>) +<p> + Private slot to enabled the OK button if items have been selected. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog</h1> +<p> +Module implementing a dialog to enter the data for an unshelve operation. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#HgUnshelveDataDialog">HgUnshelveDataDialog</a></td> +<td>Class implementing a dialog to enter the data for an unshelve operation.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="HgUnshelveDataDialog" ID="HgUnshelveDataDialog"></a> +<h2>HgUnshelveDataDialog</h2> +<p> + Class implementing a dialog to enter the data for an unshelve operation. +</p> +<h3>Derived from</h3> +QDialog, Ui_HgUnshelveDataDialog +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#HgUnshelveDataDialog.__init__">HgUnshelveDataDialog</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#HgUnshelveDataDialog.getData">getData</a></td> +<td>Public method to get the user data.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="HgUnshelveDataDialog.__init__" ID="HgUnshelveDataDialog.__init__"></a> +<h4>HgUnshelveDataDialog (Constructor)</h4> +<b>HgUnshelveDataDialog</b>(<i>shelveNames, shelveName="", parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>shelveNames</i></dt> +<dd> +list of available shelves (list of string) +</dd><dt><i>shelveName</i></dt> +<dd> +name of the shelve to restore (string) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent widget (QWidget) +</dd> +</dl><a NAME="HgUnshelveDataDialog.getData" ID="HgUnshelveDataDialog.getData"></a> +<h4>HgUnshelveDataDialog.getData</h4> +<b>getData</b>(<i></i>) +<p> + Public method to get the user data. +</p><dl> +<dt>Returns:</dt> +<dd> +tuple containing the name (string) and a flag indicating + to keep the shelved change (boolean) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,188 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper</h1> +<p> +Module implementing the shelve extension project helper. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#ShelveProjectHelper">ShelveProjectHelper</a></td> +<td>Class implementing the queues extension project helper.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="ShelveProjectHelper" ID="ShelveProjectHelper"></a> +<h2>ShelveProjectHelper</h2> +<p> + Class implementing the queues extension project helper. +</p> +<h3>Derived from</h3> +HgExtensionProjectHelper +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#ShelveProjectHelper.__init__">ShelveProjectHelper</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgCleanupShelves">__hgCleanupShelves</a></td> +<td>Private slot to delete all shelves.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgDeleteShelves">__hgDeleteShelves</a></td> +<td>Private slot to delete selected shelves.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgShelve">__hgShelve</a></td> +<td>Private slot used to shelve all current changes.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgShelveBrowser">__hgShelveBrowser</a></td> +<td>Private slot to show the shelve browser dialog.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgUnshelve">__hgUnshelve</a></td> +<td>Private slot used to restore a shelved change.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgUnshelveAbort">__hgUnshelveAbort</a></td> +<td>Private slot used to abort an ongoing restore operation.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__hgUnshelveContinue">__hgUnshelveContinue</a></td> +<td>Private slot used to continue an ongoing restore operation.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.__reopenProject">__reopenProject</a></td> +<td>Private method to reopen the project if needed and wanted.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.initActions">initActions</a></td> +<td>Public method to generate the action objects.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.initMenu">initMenu</a></td> +<td>Public method to generate the extension menu.</td> +</tr><tr> +<td><a href="#ShelveProjectHelper.menuTitle">menuTitle</a></td> +<td>Public method to get the menu title.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="ShelveProjectHelper.__init__" ID="ShelveProjectHelper.__init__"></a> +<h4>ShelveProjectHelper (Constructor)</h4> +<b>ShelveProjectHelper</b>(<i></i>) +<p> + Constructor +</p><a NAME="ShelveProjectHelper.__hgCleanupShelves" ID="ShelveProjectHelper.__hgCleanupShelves"></a> +<h4>ShelveProjectHelper.__hgCleanupShelves</h4> +<b>__hgCleanupShelves</b>(<i></i>) +<p> + Private slot to delete all shelves. +</p><a NAME="ShelveProjectHelper.__hgDeleteShelves" ID="ShelveProjectHelper.__hgDeleteShelves"></a> +<h4>ShelveProjectHelper.__hgDeleteShelves</h4> +<b>__hgDeleteShelves</b>(<i></i>) +<p> + Private slot to delete selected shelves. +</p><a NAME="ShelveProjectHelper.__hgShelve" ID="ShelveProjectHelper.__hgShelve"></a> +<h4>ShelveProjectHelper.__hgShelve</h4> +<b>__hgShelve</b>(<i></i>) +<p> + Private slot used to shelve all current changes. +</p><a NAME="ShelveProjectHelper.__hgShelveBrowser" ID="ShelveProjectHelper.__hgShelveBrowser"></a> +<h4>ShelveProjectHelper.__hgShelveBrowser</h4> +<b>__hgShelveBrowser</b>(<i></i>) +<p> + Private slot to show the shelve browser dialog. +</p><a NAME="ShelveProjectHelper.__hgUnshelve" ID="ShelveProjectHelper.__hgUnshelve"></a> +<h4>ShelveProjectHelper.__hgUnshelve</h4> +<b>__hgUnshelve</b>(<i></i>) +<p> + Private slot used to restore a shelved change. +</p><a NAME="ShelveProjectHelper.__hgUnshelveAbort" ID="ShelveProjectHelper.__hgUnshelveAbort"></a> +<h4>ShelveProjectHelper.__hgUnshelveAbort</h4> +<b>__hgUnshelveAbort</b>(<i></i>) +<p> + Private slot used to abort an ongoing restore operation. +</p><a NAME="ShelveProjectHelper.__hgUnshelveContinue" ID="ShelveProjectHelper.__hgUnshelveContinue"></a> +<h4>ShelveProjectHelper.__hgUnshelveContinue</h4> +<b>__hgUnshelveContinue</b>(<i></i>) +<p> + Private slot used to continue an ongoing restore operation. +</p><a NAME="ShelveProjectHelper.__reopenProject" ID="ShelveProjectHelper.__reopenProject"></a> +<h4>ShelveProjectHelper.__reopenProject</h4> +<b>__reopenProject</b>(<i>shouldReopen, title</i>) +<p> + Private method to reopen the project if needed and wanted. +</p><dl> +<dt><i>shouldReopen</i></dt> +<dd> +flag indicating that the project should + be reopened (boolean) +</dd><dt><i>title</i></dt> +<dd> +title of the message box (string) +</dd> +</dl><a NAME="ShelveProjectHelper.initActions" ID="ShelveProjectHelper.initActions"></a> +<h4>ShelveProjectHelper.initActions</h4> +<b>initActions</b>(<i></i>) +<p> + Public method to generate the action objects. +</p><a NAME="ShelveProjectHelper.initMenu" ID="ShelveProjectHelper.initMenu"></a> +<h4>ShelveProjectHelper.initMenu</h4> +<b>initMenu</b>(<i>mainMenu</i>) +<p> + Public method to generate the extension menu. +</p><dl> +<dt><i>mainMenu</i></dt> +<dd> +reference to the main menu (QMenu) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +populated menu (QMenu) +</dd> +</dl><a NAME="ShelveProjectHelper.menuTitle" ID="ShelveProjectHelper.menuTitle"></a> +<h4>ShelveProjectHelper.menuTitle</h4> +<b>menuTitle</b>(<i></i>) +<p> + Public method to get the menu title. +</p><dl> +<dt>Returns:</dt> +<dd> +title of the menu (string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,225 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve</h1> +<p> +Module implementing the shelve extension interface. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#Shelve">Shelve</a></td> +<td>Class implementing the shelve extension interface.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="Shelve" ID="Shelve"></a> +<h2>Shelve</h2> +<p> + Class implementing the shelve extension interface. +</p> +<h3>Derived from</h3> +HgExtension +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#Shelve.__init__">Shelve</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#Shelve.__hgGetShelveNamesList">__hgGetShelveNamesList</a></td> +<td>Private method to get the list of shelved changes.</td> +</tr><tr> +<td><a href="#Shelve.hgCleanupShelves">hgCleanupShelves</a></td> +<td>Public method to delete all shelves.</td> +</tr><tr> +<td><a href="#Shelve.hgDeleteShelves">hgDeleteShelves</a></td> +<td>Public method to delete named shelves.</td> +</tr><tr> +<td><a href="#Shelve.hgShelve">hgShelve</a></td> +<td>Public method to shelve current changes of files or directories.</td> +</tr><tr> +<td><a href="#Shelve.hgShelveBrowser">hgShelveBrowser</a></td> +<td>Public method to show the shelve browser dialog.</td> +</tr><tr> +<td><a href="#Shelve.hgUnshelve">hgUnshelve</a></td> +<td>Public method to restore shelved changes to the project directory.</td> +</tr><tr> +<td><a href="#Shelve.hgUnshelveAbort">hgUnshelveAbort</a></td> +<td>Public method to abort the ongoing restore operation.</td> +</tr><tr> +<td><a href="#Shelve.hgUnshelveContinue">hgUnshelveContinue</a></td> +<td>Public method to continue the ongoing restore operation.</td> +</tr><tr> +<td><a href="#Shelve.shutdown">shutdown</a></td> +<td>Public method used to shutdown the shelve interface.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="Shelve.__init__" ID="Shelve.__init__"></a> +<h4>Shelve (Constructor)</h4> +<b>Shelve</b>(<i>vcs</i>) +<p> + Constructor +</p><dl> +<dt><i>vcs</i></dt> +<dd> +reference to the Mercurial vcs object +</dd> +</dl><a NAME="Shelve.__hgGetShelveNamesList" ID="Shelve.__hgGetShelveNamesList"></a> +<h4>Shelve.__hgGetShelveNamesList</h4> +<b>__hgGetShelveNamesList</b>(<i>repodir</i>) +<p> + Private method to get the list of shelved changes. +</p><dl> +<dt><i>repodir</i></dt> +<dd> +directory name of the repository (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +list of shelved changes (list of string) +</dd> +</dl><a NAME="Shelve.hgCleanupShelves" ID="Shelve.hgCleanupShelves"></a> +<h4>Shelve.hgCleanupShelves</h4> +<b>hgCleanupShelves</b>(<i>name</i>) +<p> + Public method to delete all shelves. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the project directory (string) +</dd> +</dl><a NAME="Shelve.hgDeleteShelves" ID="Shelve.hgDeleteShelves"></a> +<h4>Shelve.hgDeleteShelves</h4> +<b>hgDeleteShelves</b>(<i>name, shelveNames=None</i>) +<p> + Public method to delete named shelves. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the project directory (string) +</dd><dt><i>shelveNames</i></dt> +<dd> +name of shelves to delete (list of string) +</dd> +</dl><a NAME="Shelve.hgShelve" ID="Shelve.hgShelve"></a> +<h4>Shelve.hgShelve</h4> +<b>hgShelve</b>(<i>name</i>) +<p> + Public method to shelve current changes of files or directories. +</p><dl> +<dt><i>name</i></dt> +<dd> +directory or file name (string) or list of directory + or file names (list of string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating that the project should be reread (boolean) +</dd> +</dl><a NAME="Shelve.hgShelveBrowser" ID="Shelve.hgShelveBrowser"></a> +<h4>Shelve.hgShelveBrowser</h4> +<b>hgShelveBrowser</b>(<i>projectDir</i>) +<p> + Public method to show the shelve browser dialog. +</p><dl> +<dt><i>projectDir</i></dt> +<dd> +name of the project directory (string) +</dd> +</dl><a NAME="Shelve.hgUnshelve" ID="Shelve.hgUnshelve"></a> +<h4>Shelve.hgUnshelve</h4> +<b>hgUnshelve</b>(<i>name, shelveName=""</i>) +<p> + Public method to restore shelved changes to the project directory. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the project directory (string) +</dd><dt><i>shelveName=</i></dt> +<dd> +name of the shelve to restore (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating that the project should be reread (boolean) +</dd> +</dl><a NAME="Shelve.hgUnshelveAbort" ID="Shelve.hgUnshelveAbort"></a> +<h4>Shelve.hgUnshelveAbort</h4> +<b>hgUnshelveAbort</b>(<i>name</i>) +<p> + Public method to abort the ongoing restore operation. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the project directory (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating that the project should be reread (boolean) +</dd> +</dl><a NAME="Shelve.hgUnshelveContinue" ID="Shelve.hgUnshelveContinue"></a> +<h4>Shelve.hgUnshelveContinue</h4> +<b>hgUnshelveContinue</b>(<i>name</i>) +<p> + Public method to continue the ongoing restore operation. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the project directory (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating that the project should be reread (boolean) +</dd> +</dl><a NAME="Shelve.shutdown" ID="Shelve.shutdown"></a> +<h4>Shelve.shutdown</h4> +<b>shutdown</b>(<i></i>) +<p> + Public method used to shutdown the shelve interface. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/index-eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.html Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<h1>eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension</h1> +<p> +Package implementing the shelve extension support interface. +</p> + + +<h3>Modules</h3> +<table> +<tr> +<td><a href="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveBrowserDialog.html">HgShelveBrowserDialog</a></td> +<td>Module implementing Mercurial shelve browser dialog.</td> +</tr><tr> +<td><a href="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelveDataDialog.html">HgShelveDataDialog</a></td> +<td>Module implementing a dialog to enter the data for a shelve operation.</td> +</tr><tr> +<td><a href="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgShelvesSelectionDialog.html">HgShelvesSelectionDialog</a></td> +<td>Module implementing a dialog to select multiple shelve names.</td> +</tr><tr> +<td><a href="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.HgUnshelveDataDialog.html">HgUnshelveDataDialog</a></td> +<td>Module implementing a dialog to enter the data for an unshelve operation.</td> +</tr><tr> +<td><a href="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.ProjectHelper.html">ProjectHelper</a></td> +<td>Module implementing the shelve extension project helper.</td> +</tr><tr> +<td><a href="eric5.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html">shelve</a></td> +<td>Module implementing the shelve extension interface.</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.py Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,480 @@ +# -*- coding: utf-8 -*- + +""" +Module implementing Mercurial shelve browser dialog. +""" + +import os + +from PyQt4.QtCore import pyqtSlot, Qt, QPoint, QProcess, QTimer +from PyQt4.QtGui import QWidget, QDialogButtonBox, QTreeWidgetItem, \ + QAbstractButton, QMenu, QHeaderView, QApplication, QCursor, \ + QLineEdit + +from E5Gui import E5MessageBox + +from .Ui_HgShelveBrowserDialog import Ui_HgShelveBrowserDialog + +import Preferences + + +class HgShelveBrowserDialog(QWidget, Ui_HgShelveBrowserDialog): + """ + Class implementing Mercurial shelve browser dialog. + """ + NameColumn = 0 + AgeColumn = 1 + MessageColumn = 2 + + def __init__(self, vcs, parent=None): + """ + Constructor + + @param vcs reference to the vcs object + @param parent parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + + self.__position = QPoint() + + self.__fileStatisticsRole = Qt.UserRole + self.__totalStatisticsRole = Qt.UserRole + 1 + + self.shelveList.header().setSortIndicator(0, Qt.AscendingOrder) + + self.refreshButton = self.buttonBox.addButton( + self.tr("&Refresh"), QDialogButtonBox.ActionRole) + self.refreshButton.setToolTip( + self.tr("Press to refresh the list of shelves")) + self.refreshButton.setEnabled(False) + + self.vcs = vcs + self.__hgClient = vcs.getClient() + self.__resetUI() + + if self.__hgClient: + self.process = None + else: + self.process = QProcess() + self.process.finished.connect(self.__procFinished) + self.process.readyReadStandardOutput.connect(self.__readStdout) + self.process.readyReadStandardError.connect(self.__readStderr) + + self.__contextMenu = QMenu() + self.__unshelveAct = self.__contextMenu.addAction( + self.tr("Restore selected shelve"), self.__unshelve) + self.__deleteAct = self.__contextMenu.addAction( + self.tr("Delete selected shelves"), self.__deleteShelves) + self.__contextMenu.addAction( + self.tr("Delete all shelves"), self.__cleanupShelves) + + def closeEvent(self, e): + """ + Private slot implementing a close event handler. + + @param e close event (QCloseEvent) + """ + if self.__hgClient: + if self.__hgClient.isExecuting(): + self.__hgClient.cancel() + else: + if self.process is not None and \ + self.process.state() != QProcess.NotRunning: + self.process.terminate() + QTimer.singleShot(2000, self.process.kill) + self.process.waitForFinished(3000) + + self.__position = self.pos() + + e.accept() + + def show(self): + """ + Public slot to show the dialog. + """ + if not self.__position.isNull(): + self.move(self.__position) + self.__resetUI() + + super().show() + + def __resetUI(self): + """ + Private method to reset the user interface. + """ + self.shelveList.clear() + + def __resizeColumnsShelves(self): + """ + Private method to resize the shelve list columns. + """ + self.shelveList.header().resizeSections(QHeaderView.ResizeToContents) + self.shelveList.header().setStretchLastSection(True) + + def __generateShelveEntry(self, name, age, message, fileStatistics, + totals): + """ + Private method to generate the shelve items. + + @param name name of the shelve (string) + @param age age of the shelve (string) + @param message shelve message (string) + @param fileStatistics per file change statistics (tuple of + four strings with file name, number of changes, number of + added lines and number of deleted lines) + @param totals overall statistics (tuple of three strings with + number of changed files, number of added lines and number + of deleted lines) + """ + itm = QTreeWidgetItem(self.shelveList, [name, age, message]) + itm.setData(0, self.__fileStatisticsRole, fileStatistics) + itm.setData(0, self.__totalStatisticsRole, totals) + + def __getShelveEntries(self): + """ + Private method to retrieve the list of shelves. + """ + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + QApplication.processEvents() + + QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) + QApplication.processEvents() + + self.buf = [] + self.errors.clear() + self.intercept = False + + args = [] + args.append("shelve") + args.append("--list") + args.append("--stat") + + if self.__hgClient: + self.inputGroup.setEnabled(False) + self.inputGroup.hide() + + out, err = self.__hgClient.runcommand(args) + self.buf = out.splitlines(True) + if err: + self.__showError(err) + self.__processBuffer() + self.__finish() + else: + self.process.kill() + + self.process.setWorkingDirectory(self.repodir) + + self.inputGroup.setEnabled(True) + self.inputGroup.show() + + self.process.start('hg', args) + procStarted = self.process.waitForStarted(5000) + if not procStarted: + self.inputGroup.setEnabled(False) + self.inputGroup.hide() + E5MessageBox.critical( + self, + self.tr('Process Generation Error'), + self.tr( + 'The process {0} could not be started. ' + 'Ensure, that it is in the search path.' + ).format('hg')) + + def start(self, projectDir): + """ + Public slot to start the hg shelve command. + + @param projectDir name of the project directory (string) + """ + self.errorGroup.hide() + QApplication.processEvents() + + self.__projectDir = projectDir + + # find the root of the repo + self.repodir = self.__projectDir + while not os.path.isdir(os.path.join(self.repodir, self.vcs.adminDir)): + self.repodir = os.path.dirname(self.repodir) + if os.path.splitdrive(self.repodir)[1] == os.sep: + return + + self.activateWindow() + self.raise_() + + self.shelveList.clear() + self.__started = True + self.__getShelveEntries() + + def __procFinished(self, exitCode, exitStatus): + """ + Private slot connected to the finished signal. + + @param exitCode exit code of the process (integer) + @param exitStatus exit status of the process (QProcess.ExitStatus) + """ + self.__processBuffer() + self.__finish() + + def __finish(self): + """ + Private slot called when the process finished or the user pressed + the button. + """ + if self.process is not None and \ + self.process.state() != QProcess.NotRunning: + self.process.terminate() + QTimer.singleShot(2000, self.process.kill) + self.process.waitForFinished(3000) + + QApplication.restoreOverrideCursor() + + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + + self.inputGroup.setEnabled(False) + self.inputGroup.hide() + self.refreshButton.setEnabled(True) + + def __processBuffer(self): + """ + Private method to process the buffered output of the hg shelve command. + """ + lastWasFileStats = False + firstLine = True + itemData = {} + for line in self.buf: + if firstLine: + name, line = line.split("(", 1) + age, message = line.split(")", 1) + itemData["name"] = name.strip() + itemData["age"] = age.strip() + itemData["message"] = message.strip() + itemData["files"] = [] + firstLine = False + elif '|' in line: + # file stats: foo.py | 3 ++- + file, changes = line.strip().split("|", 1) + total, addDelete = changes.strip().split(None, 1) + additions = str(addDelete.count("+")) + deletions = str(addDelete.count("-")) + itemData["files"].append((file, total, additions, deletions)) + lastWasFileStats = True + elif lastWasFileStats: + # summary line + # 2 files changed, 15 insertions(+), 1 deletions(-) + total, added, deleted = line.strip().split(",", 2) + total = total.split()[0] + added = added.split()[0] + deleted = deleted.split()[0] + itemData["summary"] = (total, added, deleted) + + self.__generateShelveEntry( + itemData["name"], itemData["age"], itemData["message"], + itemData["files"], itemData["summary"]) + + lastWasFileStats = False + firstLine = True + itemData = {} + + self.__resizeColumnsShelves() + + if self.__started: + self.shelveList.setCurrentItem(self.shelveList.topLevelItem(0)) + self.__started = False + + def __readStdout(self): + """ + Private slot to handle the readyReadStandardOutput signal. + + It reads the output of the process and inserts it into a buffer. + """ + self.process.setReadChannel(QProcess.StandardOutput) + + while self.process.canReadLine(): + line = str(self.process.readLine(), + Preferences.getSystem("IOEncoding"), + 'replace') + self.buf.append(line) + + def __readStderr(self): + """ + Private slot to handle the readyReadStandardError signal. + + It reads the error output of the process and inserts it into the + error pane. + """ + if self.process is not None: + s = str(self.process.readAllStandardError(), + Preferences.getSystem("IOEncoding"), + 'replace') + self.__showError(s) + + def __showError(self, out): + """ + Private slot to show some error. + + @param out error to be shown (string) + """ + self.errorGroup.show() + self.errors.insertPlainText(out) + self.errors.ensureCursorVisible() + + @pyqtSlot(QAbstractButton) + def on_buttonBox_clicked(self, button): + """ + Private slot called by a button of the button box clicked. + + @param button button that was clicked (QAbstractButton) + """ + if button == self.buttonBox.button(QDialogButtonBox.Close): + self.close() + elif button == self.buttonBox.button(QDialogButtonBox.Cancel): + self.cancelled = True + if self.__hgClient: + self.__hgClient.cancel() + else: + self.__finish() + elif button == self.refreshButton: + self.on_refreshButton_clicked() + + @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) + def on_shelveList_currentItemChanged(self, current, previous): + """ + Private slot called, when the current item of the shelve list changes. + + @param current reference to the new current item (QTreeWidgetItem) + @param previous reference to the old current item (QTreeWidgetItem) + """ + self.statisticsList.clear() + if current: + for dataSet in current.data(0, self.__fileStatisticsRole): + QTreeWidgetItem(self.statisticsList, list(dataSet)) + + totals = current.data(0, self.__totalStatisticsRole) + self.filesLabel.setText( + self.tr("%n file(s) changed", None, int(totals[0]))) + self.insertionsLabel.setText( + self.tr("%n line(s) inserted", None, int(totals[1]))) + self.deletionsLabel.setText( + self.tr("%n line(s) deleted", None, int(totals[2]))) + else: + self.filesLabel.setText("") + self.insertionsLabel.setText("") + self.deletionsLabel.setText("") + + @pyqtSlot(QPoint) + def on_shelveList_customContextMenuRequested(self, pos): + """ + Protected slot to show the context menu of the shelve list. + + @param pos position of the mouse pointer (QPoint) + """ + selectedItemsCount = len(self.shelveList.selectedItems()) + self.__unshelveAct.setEnabled(selectedItemsCount == 1) + self.__deleteAct.setEnabled(selectedItemsCount > 0) + + self.__contextMenu.popup(self.mapToGlobal(pos)) + + @pyqtSlot() + def on_refreshButton_clicked(self): + """ + Private slot to refresh the list of shelves. + """ + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + + self.inputGroup.setEnabled(True) + self.inputGroup.show() + self.refreshButton.setEnabled(False) + + self.start(self.__projectDir) + + def on_passwordCheckBox_toggled(self, isOn): + """ + Private slot to handle the password checkbox toggled. + + @param isOn flag indicating the status of the check box (boolean) + """ + if isOn: + self.input.setEchoMode(QLineEdit.Password) + else: + self.input.setEchoMode(QLineEdit.Normal) + + @pyqtSlot() + def on_sendButton_clicked(self): + """ + Private slot to send the input to the merurial process. + """ + input = self.input.text() + input += os.linesep + + if self.passwordCheckBox.isChecked(): + self.errors.insertPlainText(os.linesep) + self.errors.ensureCursorVisible() + else: + self.errors.insertPlainText(input) + self.errors.ensureCursorVisible() + self.errorGroup.show() + + self.process.write(input) + + self.passwordCheckBox.setChecked(False) + self.input.clear() + + def on_input_returnPressed(self): + """ + Private slot to handle the press of the return key in the input field. + """ + self.intercept = True + self.on_sendButton_clicked() + + def keyPressEvent(self, evt): + """ + Protected slot to handle a key press event. + + @param evt the key press event (QKeyEvent) + """ + if self.intercept: + self.intercept = False + evt.accept() + return + super().keyPressEvent(evt) + + def __unshelve(self): + """ + Private slot to restore the selected shelve of changes. + """ + itm = self.shelveList.selectedItems()[0] + if itm is not None: + name = itm.text(self.NameColumn) + self.vcs.getExtensionObject("shelve")\ + .hgUnshelve(self.__projectDir, shelveName=name) + self.on_refreshButton_clicked() + + def __deleteShelves(self): + """ + Private slot to delete the selected shelves. + """ + shelveNames = [] + for itm in self.shelveList.selectedItems(): + shelveNames.append(itm.text(self.NameColumn)) + if shelveNames: + self.vcs.getExtensionObject("shelve")\ + .hgDeleteShelves(self.__projectDir, shelveNames=shelveNames) + self.on_refreshButton_clicked() + + def __cleanupShelves(self): + """ + Private slot to delete all shelves. + """ + self.vcs.getExtensionObject("shelve")\ + .hgCleanupShelves(self.__projectDir) + self.on_refreshButton_clicked()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.ui Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,258 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>HgShelveBrowserDialog</class> + <widget class="QWidget" name="HgShelveBrowserDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>650</width> + <height>574</height> + </rect> + </property> + <property name="windowTitle"> + <string>Mercurial Shelve Browser</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QTreeWidget" name="shelveList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>5</verstretch> + </sizepolicy> + </property> + <property name="contextMenuPolicy"> + <enum>Qt::CustomContextMenu</enum> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="itemsExpandable"> + <bool>false</bool> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>Name</string> + </property> + </column> + <column> + <property name="text"> + <string>Age</string> + </property> + </column> + <column> + <property name="text"> + <string>Message</string> + </property> + </column> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>4</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Statistics</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTreeWidget" name="statisticsList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>2</verstretch> + </sizepolicy> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::NoSelection</enum> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="itemsExpandable"> + <bool>false</bool> + </property> + <column> + <property name="text"> + <string>File</string> + </property> + </column> + <column> + <property name="text"> + <string>Changes</string> + </property> + </column> + <column> + <property name="text"> + <string>Lines added</string> + </property> + </column> + <column> + <property name="text"> + <string>Lines deleted</string> + </property> + </column> + <column> + <property name="text"> + <string/> + </property> + </column> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="filesLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="insertionsLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="deletionsLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="errorGroup"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Errors</string> + </property> + <layout class="QVBoxLayout"> + <item> + <widget class="QTextEdit" name="errors"> + <property name="whatsThis"> + <string><b>Mercurial log errors</b><p>This shows possible error messages of the hg log command.</p></string> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="inputGroup"> + <property name="title"> + <string>Input</string> + </property> + <layout class="QGridLayout" name="_2"> + <item row="1" column="1"> + <spacer> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>327</width> + <height>29</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="2"> + <widget class="QPushButton" name="sendButton"> + <property name="toolTip"> + <string>Press to send the input to the hg process</string> + </property> + <property name="text"> + <string>&Send</string> + </property> + <property name="shortcut"> + <string>Alt+S</string> + </property> + </widget> + </item> + <item row="0" column="0" colspan="3"> + <widget class="QLineEdit" name="input"> + <property name="toolTip"> + <string>Enter data to be sent to the hg process</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="passwordCheckBox"> + <property name="toolTip"> + <string>Select to switch the input field to password mode</string> + </property> + <property name="text"> + <string>&Password Mode</string> + </property> + <property name="shortcut"> + <string>Alt+P</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Close</set> + </property> + </widget> + </item> + </layout> + <zorder>buttonBox</zorder> + <zorder>shelveList</zorder> + <zorder>errorGroup</zorder> + <zorder>inputGroup</zorder> + <zorder>groupBox</zorder> + </widget> + <tabstops> + <tabstop>shelveList</tabstop> + <tabstop>statisticsList</tabstop> + <tabstop>errors</tabstop> + <tabstop>input</tabstop> + <tabstop>passwordCheckBox</tabstop> + <tabstop>sendButton</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>
--- a/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.py Fri Feb 21 19:13:43 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.py Sat Feb 22 19:57:46 2014 +0100 @@ -28,6 +28,8 @@ self.__initialDateTime = QDateTime.currentDateTime() self.dateTimeEdit.setDateTime(self.__initialDateTime) + + self.resize(self.width(), self.minimumSizeHint().height()) def getData(self): """ @@ -44,6 +46,6 @@ return ( self.nameEdit.text(), dateTime, - self.messageEdit.toPlainText(), + self.messageEdit.text(), self.addRemoveCheckBox.isChecked(), )
--- a/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.ui Fri Feb 21 19:13:43 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.ui Sat Feb 22 19:57:46 2014 +0100 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>500</width> - <height>250</height> + <height>170</height> </rect> </property> <property name="windowTitle"> @@ -79,12 +79,9 @@ </widget> </item> <item row="2" column="1"> - <widget class="QPlainTextEdit" name="messageEdit"> + <widget class="QLineEdit" name="messageEdit"> <property name="toolTip"> - <string>Enter message for the shelve</string> - </property> - <property name="tabChangesFocus"> - <bool>true</bool> + <string>Enter a message for the shelve</string> </property> </widget> </item>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelvesSelectionDialog.py Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +""" +Module implementing a dialog to select multiple shelve names. +""" + +from PyQt4.QtCore import pyqtSlot +from PyQt4.QtGui import QDialog, QDialogButtonBox + +from .Ui_HgShelvesSelectionDialog import Ui_HgShelvesSelectionDialog + + +class HgShelvesSelectionDialog(QDialog, Ui_HgShelvesSelectionDialog): + """ + Class implementing a dialog to select multiple shelve names. + """ + def __init__(self, message, shelveNames, parent=None): + """ + Constructor + + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.message.setText(message) + self.shelvesList.addItems(shelveNames) + + self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False) + + @pyqtSlot() + def on_shelvesList_itemSelectionChanged(self): + """ + Private slot to enabled the OK button if items have been selected. + """ + self.buttonBox.button(QDialogButtonBox.Ok).setEnabled( + len(self.shelvesList.selectedItems()) > 0) + + def getSelectedShelves(self): + """ + Public method to retrieve the selected shelve names. + + @return selected shelve names (list of string) + """ + names = [] + for itm in self.shelvesList.selectedItems(): + names.append(itm.text()) + + return names
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelvesSelectionDialog.ui Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>HgShelvesSelectionDialog</class> + <widget class="QDialog" name="HgShelvesSelectionDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Mercurial Shelve Selection</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="message"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="shelvesList"> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>shelvesList</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>HgShelvesSelectionDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>HgShelvesSelectionDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgUnshelveDataDialog.py Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog to enter the data for an unshelve operation. +""" + +from PyQt4.QtGui import QDialog + +from .Ui_HgUnshelveDataDialog import Ui_HgUnshelveDataDialog + + +class HgUnshelveDataDialog(QDialog, Ui_HgUnshelveDataDialog): + """ + Class implementing a dialog to enter the data for an unshelve operation. + """ + def __init__(self, shelveNames, shelveName="", parent=None): + """ + Constructor + + @param shelveNames list of available shelves (list of string) + @param shelveName name of the shelve to restore (string) + @param parent reference to the parent widget (QWidget) + """ + super().__init__(parent) + self.setupUi(self) + + self.nameComboBox.addItem("") + self.nameComboBox.addItems(sorted(shelveNames)) + + if shelveName and shelveName in shelveNames: + self.nameComboBox.setCurrentIndex( + self.nameComboBox.findText(shelveName)) + + self.resize(self.width(), self.minimumSizeHint().height()) + + def getData(self): + """ + Public method to get the user data. + + @return tuple containing the name (string) and a flag indicating + to keep the shelved change (boolean) + """ + return ( + self.nameComboBox.currentText(), + self.keepCheckBox.isChecked() + )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgUnshelveDataDialog.ui Sat Feb 22 19:57:46 2014 +0100 @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>HgUnshelveDataDialog</class> + <widget class="QDialog" name="HgUnshelveDataDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>108</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Name:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="nameComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Enter the name of the shelve</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QCheckBox" name="keepCheckBox"> + <property name="toolTip"> + <string>Select to keep the shelved change</string> + </property> + <property name="text"> + <string>Keep shelved change</string> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>nameComboBox</tabstop> + <tabstop>keepCheckBox</tabstop> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>HgUnshelveDataDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>HgUnshelveDataDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui>
--- a/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/ProjectHelper.py Fri Feb 21 19:13:43 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/ProjectHelper.py Sat Feb 22 19:57:46 2014 +0100 @@ -42,6 +42,93 @@ )) self.hgShelveAct.triggered[()].connect(self.__hgShelve) self.actions.append(self.hgShelveAct) + + self.hgShelveBrowserAct = E5Action( + self.tr('Show shelve browser'), + self.tr('Show shelve browser...'), + 0, 0, self, 'mercurial_shelve_browser') + self.hgShelveBrowserAct.setStatusTip(self.tr( + 'Show a dialog with all shelves' + )) + self.hgShelveBrowserAct.setWhatsThis(self.tr( + """<b>Show shelve browser...</b>""" + """<p>This shows a dialog listing all available shelves.""" + """ Actions on these shelves may be executed via the""" + """ context menu.</p>""" + )) + self.hgShelveBrowserAct.triggered[()].connect( + self.__hgShelveBrowser) + self.actions.append(self.hgShelveBrowserAct) + + self.hgUnshelveAct = E5Action( + self.tr('Restore shelved change'), + self.tr('Restore shelved change...'), + 0, 0, self, 'mercurial_unshelve') + self.hgUnshelveAct.setStatusTip(self.tr( + 'Restore a shelved change to the project directory' + )) + self.hgUnshelveAct.setWhatsThis(self.tr( + """<b>Restore shelved change</b>""" + """<p>This restore a shelved change to the project directory.""" + """</p>""" + )) + self.hgUnshelveAct.triggered[()].connect(self.__hgUnshelve) + self.actions.append(self.hgUnshelveAct) + + self.hgUnshelveAbortAct = E5Action( + self.tr('Abort restore'), + self.tr('Abort restore...'), + 0, 0, self, 'mercurial_unshelve_abort') + self.hgUnshelveAbortAct.setStatusTip(self.tr( + 'Abort the restore operation in progress' + )) + self.hgUnshelveAbortAct.setWhatsThis(self.tr( + """<b>Abort restore</b>""" + """<p>This aborts the restore operation in progress and reverts""" + """ already applied changes.</p>""" + )) + self.hgUnshelveAbortAct.triggered[()].connect(self.__hgUnshelveAbort) + self.actions.append(self.hgUnshelveAbortAct) + + self.hgUnshelveContinueAct = E5Action( + self.tr('Continue restore'), + self.tr('Continue restore...'), + 0, 0, self, 'mercurial_unshelve_continue') + self.hgUnshelveContinueAct.setStatusTip(self.tr( + 'Continue the restore operation in progress' + )) + self.hgUnshelveContinueAct.setWhatsThis(self.tr( + """<b>Continue restore</b>""" + """<p>This continues the restore operation in progress.</p>""" + )) + self.hgUnshelveContinueAct.triggered[()].connect( + self.__hgUnshelveContinue) + self.actions.append(self.hgUnshelveContinueAct) + + self.hgShelveDeleteAct = E5Action( + self.tr('Delete shelved changes'), + self.tr('Delete shelved changes...'), + 0, 0, self, 'mercurial_shelve_delete') + self.hgShelveDeleteAct.setWhatsThis(self.tr( + """<b>Delete shelved changes...</b>""" + """<p>This opens a dialog to select the shelved changes to""" + """ delete and deletes the selected ones.</p>""" + )) + self.hgShelveDeleteAct.triggered[()].connect( + self.__hgDeleteShelves) + self.actions.append(self.hgShelveDeleteAct) + + self.hgShelveCleanupAct = E5Action( + self.tr('Delete ALL shelved changes'), + self.tr('Delete ALL shelved changes'), + 0, 0, self, 'mercurial_shelve_cleanup') + self.hgShelveCleanupAct.setWhatsThis(self.tr( + """<b>Delete ALL shelved changes</b>""" + """<p>This deletes all shelved changes.</p>""" + )) + self.hgShelveCleanupAct.triggered[()].connect( + self.__hgCleanupShelves) + self.actions.append(self.hgShelveCleanupAct) def initMenu(self, mainMenu): """ @@ -54,6 +141,15 @@ menu.setTearOffEnabled(True) menu.addAction(self.hgShelveAct) + menu.addSeparator() + menu.addAction(self.hgShelveBrowserAct) + menu.addSeparator() + menu.addAction(self.hgUnshelveAct) + menu.addAction(self.hgUnshelveContinueAct) + menu.addAction(self.hgUnshelveAbortAct) + menu.addSeparator() + menu.addAction(self.hgShelveDeleteAct) + menu.addAction(self.hgShelveCleanupAct) return menu @@ -65,17 +161,72 @@ """ return self.tr("Shelve") + def __reopenProject(self, shouldReopen, title): + """ + Private method to reopen the project if needed and wanted. + + @param shouldReopen flag indicating that the project should + be reopened (boolean) + @param title title of the message box (string) + """ + if shouldReopen: + res = E5MessageBox.yesNo( + None, + title, + self.tr("""The project should be reread. Do this now?"""), + yesDefault=True) + if res: + self.project.reopenProject() + def __hgShelve(self): """ Private slot used to shelve all current changes. """ shouldReopen = self.vcs.getExtensionObject("shelve")\ .hgShelve(self.project.getProjectPath()) - if shouldReopen: - res = E5MessageBox.yesNo( - None, - self.tr("Shelve"), - self.tr("""The project should be reread. Do this now?"""), - yesDefault=True) - if res: - self.project.reopenProject() + self.__reopenProject(shouldReopen, self.tr("Shelve")) + + def __hgShelveBrowser(self): + """ + Private slot to show the shelve browser dialog. + """ + self.vcs.getExtensionObject("shelve")\ + .hgShelveBrowser(self.project.getProjectPath()) + + def __hgUnshelve(self): + """ + Private slot used to restore a shelved change. + """ + shouldReopen = self.vcs.getExtensionObject("shelve")\ + .hgUnshelve(self.project.getProjectPath()) + self.__reopenProject(shouldReopen, self.tr("Unshelve")) + + def __hgUnshelveAbort(self): + """ + Private slot used to abort an ongoing restore operation. + """ + shouldReopen = self.vcs.getExtensionObject("shelve")\ + .hgUnshelveAbort(self.project.getProjectPath()) + self.__reopenProject(shouldReopen, self.tr("Abort Unshelve")) + + def __hgUnshelveContinue(self): + """ + Private slot used to continue an ongoing restore operation. + """ + shouldReopen = self.vcs.getExtensionObject("shelve")\ + .hgUnshelveContinue(self.project.getProjectPath()) + self.__reopenProject(shouldReopen, self.tr("Continue Unshelve")) + + def __hgDeleteShelves(self): + """ + Private slot to delete selected shelves. + """ + self.vcs.getExtensionObject("shelve").hgDeleteShelves( + self.project.getProjectPath()) + + def __hgCleanupShelves(self): + """ + Private slot to delete all shelves. + """ + self.vcs.getExtensionObject("shelve").hgCleanupShelves( + self.project.getProjectPath())
--- a/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py Fri Feb 21 19:13:43 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py Sat Feb 22 19:57:46 2014 +0100 @@ -9,12 +9,16 @@ import os -##from PyQt4.QtCore import QDateTime +from PyQt4.QtCore import QProcess from PyQt4.QtGui import QDialog +from E5Gui import E5MessageBox + from ..HgExtension import HgExtension from ..HgDialog import HgDialog +import Preferences + class Shelve(HgExtension): """ @@ -27,11 +31,52 @@ @param vcs reference to the Mercurial vcs object """ super().__init__(vcs) + + self.__unshelveKeep = False + + self.__shelveBrowserDialog = None def shutdown(self): """ Public method used to shutdown the shelve interface. """ + if self.__shelveBrowserDialog is not None: + self.__shelveBrowserDialog.close() + + def __hgGetShelveNamesList(self, repodir): + """ + Private method to get the list of shelved changes. + + @param repodir directory name of the repository (string) + @return list of shelved changes (list of string) + """ + args = [] + args.append('shelve') + args.append('--list') + args.append('--quiet') + + client = self.vcs.getClient() + output = "" + if client: + output = client.runcommand(args)[0] + else: + ioEncoding = Preferences.getSystem("IOEncoding") + process = QProcess() + process.setWorkingDirectory(repodir) + process.start('hg', args) + procStarted = process.waitForStarted(5000) + if procStarted: + finished = process.waitForFinished(30000) + if finished and process.exitCode() == 0: + output = str( + process.readAllStandardOutput(), ioEncoding, + 'replace') + + shelveNamesList = [] + for line in output.splitlines(): + shelveNamesList.append(line.strip()) + + return shelveNamesList[:] def hgShelve(self, name): """ @@ -86,3 +131,177 @@ res = dia.hasAddOrDelete() self.vcs.checkVCSStatus() return res + + def hgShelveBrowser(self, projectDir): + """ + Public method to show the shelve browser dialog. + + @param projectDir name of the project directory (string) + """ + if self.__shelveBrowserDialog is None: + from .HgShelveBrowserDialog import HgShelveBrowserDialog + self.__shelveBrowserDialog = HgShelveBrowserDialog( + self.vcs) + self.__shelveBrowserDialog.show() + self.__shelveBrowserDialog.start(projectDir) + + def hgUnshelve(self, name, shelveName=""): + """ + Public method to restore shelved changes to the project directory. + + @param name name of the project directory (string) + @keyparam shelveName name of the shelve to restore (string) + @return flag indicating that the project should be reread (boolean) + """ + # find the root of the repo + repodir = name + while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): + repodir = os.path.dirname(repodir) + if os.path.splitdrive(repodir)[1] == os.sep: + return False + + res = False + from .HgUnshelveDataDialog import HgUnshelveDataDialog + dlg = HgUnshelveDataDialog(self.__hgGetShelveNamesList(repodir), + shelveName=shelveName) + if dlg.exec_() == QDialog.Accepted: + shelveName, keep = dlg.getData() + self.__unshelveKeep = keep # store for potential continue + + args = [] + args.append("unshelve") + if keep: + args.append("--keep") + if shelveName: + args.append(shelveName) + + dia = HgDialog(self.tr('Restore shelved changes'), self.vcs) + res = dia.startProcess(args, repodir) + if res: + dia.exec_() + res = dia.hasAddOrDelete() + self.vcs.checkVCSStatus() + return res + + def hgUnshelveAbort(self, name): + """ + Public method to abort the ongoing restore operation. + + @param name name of the project directory (string) + @return flag indicating that the project should be reread (boolean) + """ + # find the root of the repo + repodir = name + while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): + repodir = os.path.dirname(repodir) + if os.path.splitdrive(repodir)[1] == os.sep: + return False + + args = [] + args.append("unshelve") + args.append("--abort") + + dia = HgDialog(self.tr('Abort restore operation'), self.vcs) + res = dia.startProcess(args, repodir) + if res: + dia.exec_() + res = dia.hasAddOrDelete() + self.vcs.checkVCSStatus() + return res + + def hgUnshelveContinue(self, name): + """ + Public method to continue the ongoing restore operation. + + @param name name of the project directory (string) + @return flag indicating that the project should be reread (boolean) + """ + # find the root of the repo + repodir = name + while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): + repodir = os.path.dirname(repodir) + if os.path.splitdrive(repodir)[1] == os.sep: + return False + + args = [] + args.append("unshelve") + if self.__unshelveKeep: + args.append("--keep") + args.append("--continue") + + dia = HgDialog(self.tr('Continue restore operation'), self.vcs) + res = dia.startProcess(args, repodir) + if res: + dia.exec_() + res = dia.hasAddOrDelete() + self.vcs.checkVCSStatus() + return res + + def hgDeleteShelves(self, name, shelveNames=None): + """ + Public method to delete named shelves. + + @param name name of the project directory (string) + @param shelveNames name of shelves to delete (list of string) + """ + # find the root of the repo + repodir = name + while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): + repodir = os.path.dirname(repodir) + if os.path.splitdrive(repodir)[1] == os.sep: + return + + if not shelveNames: + from .HgShelvesSelectionDialog import HgShelvesSelectionDialog + dlg = HgShelvesSelectionDialog( + self.tr("Select the shelves to be deleted:"), + self.__hgGetShelveNamesList(repodir)) + if dlg.exec_() == QDialog.Accepted: + shelveNames = dlg.getSelectedShelves() + else: + return + + from UI.DeleteFilesConfirmationDialog import \ + DeleteFilesConfirmationDialog + dlg = DeleteFilesConfirmationDialog( + None, + self.tr("Delete shelves"), + self.tr("Do you really want to delete these shelves?"), + shelveNames) + if dlg.exec_() == QDialog.Accepted: + args = [] + args.append("shelve") + args.append("--delete") + args.extend(shelveNames) + + dia = HgDialog(self.tr('Delete shelves'), self.vcs) + res = dia.startProcess(args, repodir) + if res: + dia.exec_() + + def hgCleanupShelves(self, name): + """ + Public method to delete all shelves. + + @param name name of the project directory (string) + """ + # find the root of the repo + repodir = name + while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): + repodir = os.path.dirname(repodir) + if os.path.splitdrive(repodir)[1] == os.sep: + return + + res = E5MessageBox.yesNo( + None, + self.tr("Delete all shelves"), + self.tr("""Do you really want to delete all shelved changes?""")) + if res: + args = [] + args.append("shelve") + args.append("--cleanup") + + dia = HgDialog(self.tr('Delete all shelves'), self.vcs) + res = dia.startProcess(args, repodir) + if res: + dia.exec_()
--- a/eric5.e4p Fri Feb 21 19:13:43 2014 +0100 +++ b/eric5.e4p Sat Feb 22 19:57:46 2014 +0100 @@ -1116,6 +1116,9 @@ <Source>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py</Source> <Source>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/ProjectHelper.py</Source> <Source>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.py</Source> + <Source>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgUnshelveDataDialog.py</Source> + <Source>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.py</Source> + <Source>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelvesSelectionDialog.py</Source> </Sources> <Forms> <Form>PyUnit/UnittestDialog.ui</Form> @@ -1438,6 +1441,9 @@ <Form>Plugins/VcsPlugins/vcsMercurial/HgRepoConfigDataDialog.ui</Form> <Form>Plugins/VcsPlugins/vcsMercurial/HgUserConfigDataDialog.ui</Form> <Form>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveDataDialog.ui</Form> + <Form>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgUnshelveDataDialog.ui</Form> + <Form>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelveBrowserDialog.ui</Form> + <Form>Plugins/VcsPlugins/vcsMercurial/ShelveExtension/HgShelvesSelectionDialog.ui</Form> </Forms> <Translations> <Translation>i18n/eric5_cs.ts</Translation>