2 package cx.fbn.nevernote.gui;
4 import com.trolltech.qt.core.Qt;
5 import com.trolltech.qt.gui.QKeyEvent;
6 import com.trolltech.qt.gui.QMenu;
7 import com.trolltech.qt.gui.QMouseEvent;
9 public class NoteTableContextMenu extends QMenu {
10 private final TableView parent;
12 public NoteTableContextMenu(TableView tableView) {
13 this.parent = tableView;
18 protected void mousePressEvent(QMouseEvent event){
19 super.mousePressEvent(event);
24 if(x < 0 || this.width() < x){
25 parent.restoreSelectedNoteInfo();
26 }else if(y < 0 || this.height() < y){
27 parent.restoreSelectedNoteInfo();
31 // ノートテーブルでマウス右ボタンを押してコンテキストメニューを出し、そのままコンテキストメニュー上を通過してコンテキストメニュー外でボタンを離すと
32 // コンテキストメニューが閉じてしまう問題への対処
34 protected void mouseReleaseEvent(QMouseEvent event){
35 super.mouseReleaseEvent(event);
40 if(x < 0 || this.width() < x){
41 parent.restoreSelectedNoteInfo();
42 }else if(y < 0 || this.height() < y){
43 parent.restoreSelectedNoteInfo();
48 protected void keyPressEvent(QKeyEvent event){
49 super.keyPressEvent(event);
51 if(event.key() == Qt.Key.Key_Escape.value()){
52 parent.restoreSelectedNoteInfo();