-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 101 | ||||
-rw-r--r-- | noncore/apps/opie-console/mainwindow.h | 7 |
2 files changed, 88 insertions, 20 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index 89cdf51..6dc9e6e 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp @@ -5,12 +5,13 @@ #include <qaction.h> #include <qmenubar.h> #include <qlabel.h> #include <qpopupmenu.h> #include <qtoolbar.h> #include <qmessagebox.h> +#include <qpushbutton.h> #include <qpe/resource.h> #include <opie/ofiledialog.h> #include "keytrans.h" @@ -23,12 +24,35 @@ #include "mainwindow.h" #include "tabwidget.h" #include "transferdialog.h" #include "function_keyboard.h" #include "script.h" + + +static char * menu_xpm[] = { +"12 12 5 1", +" c None", +". c #000000", +"+ c #FFFDAD", +"@ c #FFFF00", +"# c #E5E100", +" ", +" ", +" ......... ", +" .+++++++. ", +" .+@@@@#. ", +" .+@@@#. ", +" .+@@#. ", +" .+@#. ", +" .+#. ", +" .+. ", +" .. ", +" "}; + + MainWindow::MainWindow() { KeyTrans::loadAll(); for (int i = 0; i < KeyTrans::count(); i++ ) { KeyTrans* s = KeyTrans::find(i ); assert( s ); } @@ -90,25 +114,38 @@ void MainWindow::initUI() { m_transfer = new QAction(); m_transfer->setText( tr("Transfer file...") ); m_transfer->addTo( m_console ); connect(m_transfer, SIGNAL(activated() ), this, SLOT(slotTransfer() ) ); + + /* + * fullscreen + */ + m_isFullscreen = false; + + m_fullscreen = new QAction( tr("Full screen"), Resource::loadPixmap( "fullscreen" ) + , QString::null, 0, this, 0); + m_fullscreen->addTo( m_console ); + m_fullscreen->addTo( m_icons ); + connect( m_fullscreen, SIGNAL( activated() ), + this, SLOT( slotFullscreen() ) ); + /* * terminate action */ m_terminate = new QAction(); m_terminate->setText( tr("Terminate") ); m_terminate->addTo( m_console ); connect(m_terminate, SIGNAL(activated() ), this, SLOT(slotTerminate() ) ); - a = new QAction(); - a->setText( tr("Close Window") ); - a->addTo( m_console ); - connect(a, SIGNAL(activated() ), + m_closewindow = new QAction(); + m_closewindow->setText( tr("Close Window") ); + m_closewindow->addTo( m_console ); + connect( m_closewindow, SIGNAL(activated() ), this, SLOT(slotClose() ) ); /* * the settings action */ m_setProfiles = new QAction(tr("Configure Profiles"), @@ -175,12 +212,14 @@ void MainWindow::initUI() { m_disconnect->setEnabled( false ); m_terminate->setEnabled( false ); m_transfer->setEnabled( false ); m_recordScript->setEnabled( false ); m_saveScript->setEnabled( false ); m_runScript->setEnabled( false ); + m_fullscreen->setEnabled( false ); + m_closewindow->setEnabled( false ); /* * connect to the menu activation */ connect( m_sessionsPop, SIGNAL(activated( int ) ), this, SLOT(slotProfile( int ) ) ); @@ -322,12 +361,24 @@ void MainWindow::slotClose() { tabWidget()->remove( currentSession() ); /*it's autodelete */ m_sessions.remove( m_curSession ); m_curSession = m_sessions.first(); tabWidget()->setCurrent( m_curSession ); + + if (!currentSession() ) { + m_connect->setEnabled( false ); + m_disconnect->setEnabled( false ); + m_terminate->setEnabled( false ); + m_transfer->setEnabled( false ); + m_recordScript->setEnabled( false ); + m_saveScript->setEnabled( false ); + m_runScript->setEnabled( false ); + m_fullscreen->setEnabled( false ); + m_closewindow->setEnabled( false ); + } } /* * We will get the name * Then the profile * and then we will make a profile @@ -349,22 +400,22 @@ void MainWindow::create( const Profile& prof ) { } m_sessions.append( ses ); tabWidget()->add( ses ); m_curSession = ses; - // dicide if its a local term ( then no connction and no tranfer) + // dicide if its a local term ( then no connction and no tranfer), maybe make a wrapper method out of it m_connect->setEnabled( true ); m_disconnect->setEnabled( true ); m_terminate->setEnabled( true ); m_transfer->setEnabled( true ); m_recordScript->setEnabled( true ); m_saveScript->setEnabled( true ); m_runScript->setEnabled( true ); - - + m_fullscreen->setEnabled( true ); + m_closewindow->setEnabled( true ); } void MainWindow::slotTransfer() { // if ( currentSession() ) { TransferDialog dlg(this); @@ -384,20 +435,34 @@ void MainWindow::slotSessionChanged( Session* ses ) { if ( ses ) { qWarning("changing %s", ses->name().latin1() ); m_curSession = ses; } } -void MainWindow::setOn() { - -/* - m_connect - m_disconnect - m_terminate - m_transfer - m_recordScript - m_saveScript - m_runScript -*/ +void MainWindow::slotFullscreen() { + + if ( m_isFullscreen ) { + ( m_curSession->widgetStack() )->reparent( m_consoleWindow, 0, QPoint(0,0), false ); + ( m_curSession->widgetStack() )->setFrameStyle( QFrame::Panel | QFrame::Sunken ); + setCentralWidget( m_consoleWindow ); + ( m_curSession->widgetStack() )->show(); + m_fullscreen->setText( tr("Full screen") ); + + } else { + ( m_curSession->widgetStack() )->setFrameStyle( QFrame::NoFrame ); + ( m_curSession->widgetStack() )->reparent( 0,WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop, + QPoint(0,0), false); + ( m_curSession->widgetStack() )->resize(qApp->desktop()->width(), qApp->desktop()->height()); + ( m_curSession->widgetStack() )->setFocus(); + ( m_curSession->widgetStack() )->show(); + + // QPushButton *cornerButton = new QPushButton( this ); + //cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) ); + //connect( cornerButton, SIGNAL( pressed() ), this, SLOT( slotFullscreen() ) ); + // need teh scrollbar + // ( m_curSession->widgetStack() )->setCornerWidget( cornerButton ); + m_fullscreen->setText( tr("Stop full screen") ); + } + m_isFullscreen = !m_isFullscreen; } diff --git a/noncore/apps/opie-console/mainwindow.h b/noncore/apps/opie-console/mainwindow.h index 378870a..e63078a 100644 --- a/noncore/apps/opie-console/mainwindow.h +++ b/noncore/apps/opie-console/mainwindow.h @@ -54,18 +54,18 @@ private slots: void slotConnect(); void slotDisconnect(); void slotTerminate(); void slotConfigure(); void slotClose(); void slotProfile(int); - void slotTransfer(); + void slotTransfer(); void slotOpenKeb(bool); void slotRecordScript(); void slotSaveScript(); void slotRunScript(); - void setOn(); + void slotFullscreen(); void slotSessionChanged( Session* ); private: void initUI(); void populateProfiles(); void create( const Profile& ); /** @@ -99,12 +99,15 @@ private: QAction* m_transfer; QAction* m_setProfiles; QAction* m_openKeys; QAction* m_recordScript; QAction* m_saveScript; QAction* m_runScript; + QAction* m_fullscreen; + QAction* m_closewindow; FunctionKeyboard *m_kb; + bool m_isFullscreen; }; #endif |