Clone wiki

thg-ja / Nit

必要に応じて新しいカテゴリを追加してください。 修正済みバグリスト も参照してください。

これは、初期実装からの積み残しの TODO や、長い間アイデアだったもののリストです。新しい TODO としてイシュートラッカーに移動させる必要があります。

repo registry

  • multi-selection menu with 'Pull from default', 'Pull -u from default'
  • ask for name of new group at creation
  • CTRL+drag looks like a copy, but actually performs a move


  • qtlib.ExpanderLabel needs to manage its own sub-layout


  • multi-select file list
  • file/diff toolbar buttons

Revset/Filter toolbar

  • entries in branch combo should have the configured branch color


  • commit tab SVG should match shell extension icon (or vice-versa)
  • paint tag names on right side of description
  • longsummary() should take a width and use a glyph when supported
  • generic progress bars for most operations, to show busy state
  • make graph use the branch colors from the settings config
  • Should the command line honor the '--limit n' option, like the gtk version does?
    • I don't see a need, but it could generate a limit() revision set filter - sjb
  • limit the size (in MB) of the graph data cache. Perhaps an LRU of revisions.


  • show patch numbers (in series), and rev numbers of applied
  • allow more than one patch to be selected for reordering as a group
  • when a reorder was done, and you rename a patch via the cmenu of the list, the reordering shouldn't be undone
  • make the dialog show the summary with min 80 chars
  • make the patch description a second column


  • investigate hgview's recent support for reST in changelog messages
  • create a standalone changeset or changeset DAG range viewer


  • warn if compressing a merge
  • refactor as QWizard

Manifest Viewer

  • GOAL: merge functionality with revDetailsWidget
  • right-clicking on files should allow a diff-to-parent for affected files only.
  • interface to grep at revision
  • filter files by name.
  • indicate affected folders by overlay icon or font style, like the 'Changes' column in the Gtk version.
  • change filename color by status (see the status view).
  • support 'unknown' and 'ignored' files for working copy.
  • flat view for files list
  • ability to show changeset description

status / wctxactions

  • an action for files ending with .rej that opens rejects tool
  • give status/wctxactions a cmdui.Runner()
  • switch commit and quickop to use status' Runner
  • use Qt's filesystem monitor to report when the working folder is dirty

rebase, bisect

  • turn into a QWizard based dialogs


  • smarter commit button enabled logic (message entered, file selected, etc)
  • add support for tortoisehg.ciexclude (there is a bug for this now)
  • spell check (perhaps there's an http service we can use for post-validation?, there is a bug for this)
  • in-memory patching / committing chunk selected files (there is a bug for this)


  • clone --pull's progress bars cause the dialog to grow horizontally dynamically.. ugh. I propose we filter the progress events and elipsize (is that a verb?) the progress strings.


  • unicode decode issues
  • path validation for ui.editor and similar fields
  • new generic extension registration
  • more font settings
  • connect to thgrepo.configChanged and refresh


  • show output/progress by default
    • I'm thinking of single-line status, which shows the current activity, e.g. "Sending [PATCH 0/1] xxxx". Maybe I should provide more details, though. - yuja
  • clean implementation for --bundle
  • threaded preview
  • replace to/from/cc combo boxes with entry and [...] that opens address book style dialog
  • perhaps changeset list could be in a second tab, before preview
  • drag and drop revisions from RepoWidget to email dialog.
  • Maybe we should add the possibility of collapsing all csets into one patch to the Email dialog? See



  • context menu should offer toggle between revision number, username or both
  • In the gtk version there's a possibility to assign colors to the usernames in the changelog. Maybe those same colors could be used per user in the annotate window too ? (SJB - this is now complicated by the 32-color restriction in Qsci)
    • And the colors in the annotate dialog for not configured users perhaps could be assigned with the same 'logic' as in the changelog
    • I could also add an extra page to the setting dialog, for assigning colors to usernames?
    • I also see the hgqt changelog does not yet use those username color settings. I could look into that too?
  • support annotation of working copy (rev=None); needs changes on Mercurial-side.

docklog (ConsoleWidget)

  • command completion by TAB key
  • command history by up/down key
  • pager for long outputs
  • sophisticated 'thg' command, e.g. 'thg grep' to switch task tab.
  • accept ctrl+c for command termination
  • delay repo switch while running command


  • The widget provides buttons for pushing/popping one or all patches. I miss the two that do 'push/pop up to selected patch' (=qgoto).
  • It should be possible to perform qreorder from this widget, by dragging patches in the list.
  • It should be possible to call from this widget.

Rename dialog


  • pre-defined colors (like gtklib) (most colors will be user-configurable - steve)
  • appropriate use of QApplication.setOverrideCursor(QtCore.Qt.WaitCursor)

Bisect Dialog

  • Connect repoview clicks to dialog input events (must be non-modal, low priority)
  • annotate graph with .hg/bisect.state (low priority)


  • Need an encode fail dialog that prompts for an encoding, sets HGENCODING, then retries
  • Content encoding for diff / annotate view; Maybe it has fallback list by locale, e.g. 'utf-8, cp932, euc-jp, iso-2022-jp' for ja_JP.


  • Fonts
    • use qtlib.getfont interface consistently in all our tools
    • add runtime font scaling mechanism


  • Update localized documents (as possible) ... I heard Sphinx 1.1 introduces gettext-based i18n system - yuya
  • (可能な限り) ローカライズしたドキュメントを更新する ... Sphinx 1.1 でgettextベースの国際化システムを導入するらしいです - yuya