Use proxy model in ChewingEditor
Remove UserphraseModelFactory
Remove unused member
Update UI for Search filter
Add .gitignore
Update log mechanism
Use GLOB_RECURSE to get source file list
Update UI
Add macro FUNC_NAME for logging
Implement userphrase filter

Closed #6
Use beginRemoveRows instead of dataChanged

Closed #9
Merge DefaultUserphraseData to UserphraseData
Implement refresh userphrase
Update log
Emit refresh to model directly
Use GLOB_RECURSE to get UI file list
Add AddNewPhraseDialog
Add getPhrase() and getBopomofo()
Merge UserphraseData to UserphraseModel
Implement add userphrase by phrase and bopomofo

Closed #3