X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=simpletextview.cpp;h=30c1c680d65a93626fbd59146c7a9853c19f57be;hb=cb33f51cb5589822ed22c0e39fb10e17ef3b8d6c;hp=1a5553651cf643bfc7be1a7d12d531eb94f43f88;hpb=a739d9ace6bb2b1a21f46a983508cc281c43f824;p=gefu%2FGefu.git diff --git a/simpletextview.cpp b/simpletextview.cpp index 1a55536..30c1c68 100644 --- a/simpletextview.cpp +++ b/simpletextview.cpp @@ -46,6 +46,16 @@ SimpleTextView::SimpleTextView(QWidget *parent) : m_copy = new QAction(tr("選択範囲をクリップボードにコピー"), this); m_back = new QAction(tr("戻る"), this); + m_convEUC->setObjectName("convertFromEUC"); + m_convJIS->setObjectName("convertFromJIS"); + m_convSJIS->setObjectName("convertFromSJIS"); + m_convUTF8->setObjectName("convertFromUTF8"); + m_convUTF16->setObjectName("convertFromUTF16"); + m_convUTF16BE->setObjectName("convertFromUTF16BE"); + m_convUTF16LE->setObjectName("convertFromUTF16LE"); + m_copy->setObjectName("copy"); + m_back->setObjectName("back"); + m_convEUC->setShortcut(QKeySequence("Shift+E")); m_convJIS->setShortcut(QKeySequence("Shift+J")); m_convSJIS->setShortcut(QKeySequence("Shift+S")); @@ -56,6 +66,11 @@ SimpleTextView::SimpleTextView(QWidget *parent) : m_copy->setShortcut(QKeySequence::Copy); m_back->setShortcut(QKeySequence("Return")); + QList shortcuts; + shortcuts = m_back->shortcuts(); + shortcuts.append(QKeySequence("Backspace")); + m_back->setShortcuts(shortcuts); + connect(m_convEUC, SIGNAL(triggered()), this, SLOT(convertFromEUC())); connect(m_convJIS, SIGNAL(triggered()), this, SLOT(convertFromJIS())); connect(m_convSJIS, SIGNAL(triggered()), this, SLOT(convertFromSJIS())); @@ -207,44 +222,14 @@ void SimpleTextView::keyPressEvent(QKeyEvent *event) { QString ksq = KeyEventToSequence(event); - if (ksq == "Return" || ksq == "Backspace" || ksq == "W") { - emit viewFinished(this); + if (ProcessShortcut(ksq, this)) { event->accept(); return; } - if (!ksq.isEmpty()) { - foreach (QObject *obj, this->children()) { - QAction *action = qobject_cast(obj); - if (action && action->isEnabled()) { - foreach (const QKeySequence &keySeq, action->shortcuts()) { - if (ksq == keySeq.toString()) { - qDebug() << "emit " << ksq << " " << action->objectName(); - emit action->triggered(); - event->accept(); - return; - } - } - } - } - - foreach (QObject *obj, getMainWnd()->children()) { - QAction *action = qobject_cast(obj); - if (action && action->isEnabled()) { - foreach (const QKeySequence &keySeq, action->shortcuts()) { - if (ksq == keySeq.toString()) { - qDebug() << "emit " << ksq << " " << action->objectName(); - emit action->triggered(); - event->accept(); - return; - } - } - } - } - } - - if (ksq != "Down" && ksq != "Up") { - qDebug() << ksq; + if (ProcessShortcut(ksq, getMainWnd())) { + event->accept(); + return; } QPlainTextEdit::keyPressEvent(event);