Add showContextMenu in UserphraseView
Add UserphraseViewMenu
Add UserphraseViewMenu in UserphraseView
Add UserphraseViewMenu.ui
Use forward declaration for Ui::UserphraseViewMenu
Fix indent
Tweak initialization list
Add action in UserphraseViewMenu.ui
emit exec to UserphraseViewMenu
Merge branch 'master' into feature/right-click

* master:
  Change remove to public slot
  Change UserphraseModel::exportUserphrase to public slot
  Change UserphraseModel::importUserphrase to public slot
  Change UserphraseModel::add to public slot
  Update comment
  Implement getBopomofoFromPhoneArray
Connect actionRemovePhrase for right-click menu
Move AddNewPhraseDialog_ to UserphraseView
Use shared_ptr to ensure object lifetime in slot
Connect actionAddPhrase for right-click menu
Clean text before exec AddNewPhraseDialog
Disable remove action when no phrase is selected
Merge branch 'feature/right-click'

* feature/right-click:
  Disable remove action when no phrase is selected
  Clean text before exec AddNewPhraseDialog
  Connect actionAddPhrase for right-click menu
  Use shared_ptr to ensure object lifetime in slot
  Move AddNewPhraseDialog_ to UserphraseView
  Connect actionRemovePhrase for right-click menu
  emit exec to UserphraseViewMenu
  Add action in UserphraseViewMenu.ui
  Tweak initialization list
  Fix indent
  Use forward declaration for Ui::UserphraseViewMenu
  Add UserphraseViewMenu.ui
  Add UserphraseViewMenu in UserphraseView
  Add UserphraseViewMenu
  Add showContextMenu in UserphraseView

Closed #36