-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 36 | ||||
-rw-r--r-- | noncore/apps/opie-console/mainwindow.h | 6 | ||||
-rw-r--r-- | noncore/apps/opie-console/opie-console.pro | 4 | ||||
-rw-r--r-- | noncore/apps/opie-console/quick_button.cpp | 67 | ||||
-rw-r--r-- | noncore/apps/opie-console/quick_button.h | 27 |
5 files changed, 138 insertions, 2 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index f0130e1..b813442 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp @@ -23,16 +23,17 @@ #include "profile.h" #include "profilemanager.h" #include "mainwindow.h" #include "tabwidget.h" #include "transferdialog.h" #include "function_keyboard.h" #include "emulation_handler.h" #include "script.h" +#include "quick_button.h" MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { KeyTrans::loadAll(); for (int i = 0; i < KeyTrans::count(); i++ ) { KeyTrans* s = KeyTrans::find(i ); assert( s ); @@ -167,16 +168,30 @@ void MainWindow::initUI() { m_openKeys->setToggleAction(true); connect (m_openKeys, SIGNAL(toggled(bool)), this, SLOT(slotOpenKeb(bool))); m_openKeys->addTo(m_icons); + /* + * action that open/closes the keyboard + */ + m_openButtons = new QAction ( tr( "Open Buttons..." ), + Resource::loadPixmap( "down" ), + QString::null, 0, this, 0 ); + + m_openButtons->setToggleAction( true ); + + connect ( m_openButtons, SIGNAL( toggled( bool ) ), + this, SLOT( slotOpenButtons( bool ) ) ); + m_openButtons->addTo( m_icons ); + + /* insert the submenu */ m_console->insertItem(tr("New from Profile"), m_sessionsPop, -1, 0); /* insert the connection menu */ m_bar->insertItem( tr("Connection"), m_console ); /* the scripts menu */ @@ -190,16 +205,24 @@ void MainWindow::initUI() { addToolBar( m_keyBar, "Keyboard", QMainWindow::Top, TRUE ); m_keyBar->setHorizontalStretchable( TRUE ); m_keyBar->hide(); m_kb = new FunctionKeyboard(m_keyBar); connect(m_kb, SIGNAL(keyPressed(ushort, ushort, bool, bool, bool)), this, SLOT(slotKeyReceived(ushort, ushort, bool, bool, bool))); + m_buttonBar = new QToolBar( this ); + addToolBar( m_buttonBar, "Buttons", QMainWindow::Top, TRUE ); + m_buttonBar->setHorizontalStretchable( TRUE ); + m_buttonBar->hide(); + + m_qb = new QuickButton( m_buttonBar ); + connect( m_qb, SIGNAL( keyPressed( ushort, ushort, bool, bool, bool) ), + this, SLOT( slotKeyReceived( ushort, ushort, bool, bool, bool) ) ); m_connect->setEnabled( false ); m_disconnect->setEnabled( false ); m_terminate->setEnabled( false ); m_transfer->setEnabled( false ); m_recordScript->setEnabled( false ); m_saveScript->setEnabled( false ); @@ -426,16 +449,29 @@ void MainWindow::slotTransfer() void MainWindow::slotOpenKeb(bool state) { if (state) m_keyBar->show(); else m_keyBar->hide(); } + + +void MainWindow::slotOpenButtons( bool state ) { + + if ( state ) { + m_buttonBar->show(); + } else { + m_buttonBar->hide(); + } +} + + + void MainWindow::slotSessionChanged( Session* ses ) { qWarning("changed!"); if ( ses ) { m_curSession = ses; qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) ); if ( m_curSession->layer()->isConnected() ) { m_connect->setEnabled( false ); m_disconnect->setEnabled( true ); diff --git a/noncore/apps/opie-console/mainwindow.h b/noncore/apps/opie-console/mainwindow.h index 35338b7..7d074b6 100644 --- a/noncore/apps/opie-console/mainwindow.h +++ b/noncore/apps/opie-console/mainwindow.h @@ -15,16 +15,18 @@ class QToolBar; class QToolButton; class QMenuBar; class QAction; class MetaFactory; class TabWidget; class ProfileManager; class Profile; class FunctionKeyboard; +class QuickButton; + class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); ~MainWindow(); /** * our factory to generate IOLayer and so on @@ -54,16 +56,17 @@ private slots: void slotConnect(); void slotDisconnect(); void slotTerminate(); void slotConfigure(); void slotClose(); void slotProfile(int); void slotTransfer(); void slotOpenKeb(bool); + void slotOpenButtons(bool); void slotRecordScript(); void slotSaveScript(); void slotRunScript(); void slotFullscreen(); void slotSessionChanged( Session* ); void slotKeyReceived(ushort, ushort, bool, bool, bool); private: @@ -85,31 +88,34 @@ private: */ MetaFactory* m_factory; ProfileManager* m_manager; TabWidget* m_consoleWindow; QToolBar* m_tool; QToolBar* m_icons; QToolBar* m_keyBar; + QToolBar* m_buttonBar; QMenuBar* m_bar; QPopupMenu* m_console; QPopupMenu* m_settings; QPopupMenu* m_sessionsPop; QPopupMenu* m_scripts; QAction* m_connect; QAction* m_disconnect; QAction* m_terminate; QAction* m_transfer; QAction* m_setProfiles; QAction* m_openKeys; + QAction* m_openButtons; QAction* m_recordScript; QAction* m_saveScript; QAction* m_runScript; QAction* m_fullscreen; QAction* m_closewindow; FunctionKeyboard *m_kb; + QuickButton *m_qb; bool m_isFullscreen; }; #endif diff --git a/noncore/apps/opie-console/opie-console.pro b/noncore/apps/opie-console/opie-console.pro index c2fb558..51b42bf 100644 --- a/noncore/apps/opie-console/opie-console.pro +++ b/noncore/apps/opie-console/opie-console.pro @@ -18,17 +18,17 @@ HEADERS = io_layer.h io_serial.h io_irda.h io_bt.h io_modem.h \ profiledialogwidget.h \ profileeditordialog.h \ default.h \ iolayerbase.h \ serialconfigwidget.h irdaconfigwidget.h \ btconfigwidget.h modemconfigwidget.h \ atconfigdialog.h dialdialog.h \ procctl.h \ - function_keyboard.h \ + function_keyboard.h quick_button.h \ receive_layer.h filereceive.h \ script.h \ dialer.h \ terminalwidget.h \ emulation_handler.h TECommon.h \ TEHistroy.h TEScreen.h TEWidget.h \ TEmuVt102.h TEmulation.h MyPty.h @@ -47,17 +47,17 @@ SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp io_modem.cpp \ transferdialog.cpp \ profiledialogwidget.cpp \ profileeditordialog.cpp \ iolayerbase.cpp \ serialconfigwidget.cpp irdaconfigwidget.cpp \ btconfigwidget.cpp modemconfigwidget.cpp \ atconfigdialog.cpp dialdialog.cpp \ default.cpp procctl.cpp \ - function_keyboard.cpp \ + function_keyboard.cpp quick_button.cpp \ receive_layer.cpp filereceive.cpp \ script.cpp \ dialer.cpp \ terminalwidget.cpp \ emulation_handler.cpp TEHistory.cpp \ TEScreen.cpp TEWidget.cpp \ TEmuVt102.cpp TEmulation.cpp MyPty.cpp diff --git a/noncore/apps/opie-console/quick_button.cpp b/noncore/apps/opie-console/quick_button.cpp new file mode 100644 index 0000000..09df901 --- a/dev/null +++ b/noncore/apps/opie-console/quick_button.cpp @@ -0,0 +1,67 @@ +#include <qevent.h> +#include <qapplication.h> +#include <qaction.h> + +#include <qpe/resource.h> +#include "quick_button.h" + +QuickButton::QuickButton(QWidget *parent) : QFrame(parent) { + + QAction *a; + + // Button Commands + a = new QAction( tr("Enter"), Resource::loadPixmap( "console/enter" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( hitEnter() ) ); + a->addTo( parent ); + a = new QAction( tr("Space"), Resource::loadPixmap( "console/space" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( hitSpace() ) ); + a->addTo( parent ); + a = new QAction( tr("Tab"), Resource::loadPixmap( "console/tab" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( hitTab() ) ); + a->addTo( parent ); + a = new QAction( tr("Up"), Resource::loadPixmap( "console/up" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( hitUp() ) ); + a->addTo( parent ); + a = new QAction( tr("Down"), Resource::loadPixmap( "console/down" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( hitDown() ) ); + a->addTo( parent ); + a = new QAction( tr("Paste"), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( hitPaste() ) ); + a->addTo( parent ); + + +} + +QuickButton::~QuickButton() { +} + + +void QuickButton::hitEnter() { + emit keyPressed( QKeyEvent::KeyPress, Qt::Key_Enter, 0, 1, 0); +} + +void QuickButton::hitSpace() { + emit keyPressed( QKeyEvent::KeyPress, Qt::Key_Space, 0, 1, 0); +} + +void QuickButton::hitTab() { + emit keyPressed( QKeyEvent::KeyPress, Qt::Key_Tab, 0, 1, 0); +} + +void QuickButton::hitPaste() { + /* + TEWidget* te = getTe(); + if (te != 0) { + te->pasteClipboard(); + } + */ +} + +void QuickButton::hitUp() { + emit keyPressed( QKeyEvent::KeyPress, Qt::Key_Up, 0, 1, 0); +} + +void QuickButton::hitDown() { + emit keyPressed( QKeyEvent::KeyPress, Qt::Key_Down, 0, 1, 0); +} + diff --git a/noncore/apps/opie-console/quick_button.h b/noncore/apps/opie-console/quick_button.h new file mode 100644 index 0000000..d3eb1bb --- a/dev/null +++ b/noncore/apps/opie-console/quick_button.h @@ -0,0 +1,27 @@ +#ifndef QUICK_BUTTON_H +#define QUICK_BUTTON_H + +#include <qframe.h> + +class QuickButton : public QFrame { + + Q_OBJECT + +public: + QuickButton( QWidget *parent = 0 ); + ~QuickButton(); + + signals: + + void keyPressed( ushort, ushort, bool, bool, bool ); + +private slots: + void hitEnter(); + void hitSpace(); + void hitTab(); + void hitPaste(); + void hitUp(); + void hitDown(); +}; + +#endif |