summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-10-14 23:23:55 (UTC)
committer harlekin <harlekin>2002-10-14 23:23:55 (UTC)
commitc7aed90e02d06502dff04043103c5db0883cc011 (patch) (side-by-side diff)
tree1787c9d92e23474d2e69bb1607ecaf565cac2475
parent91adb54066037522a619ce5d072c2e932901fd74 (diff)
downloadopie-c7aed90e02d06502dff04043103c5db0883cc011.zip
opie-c7aed90e02d06502dff04043103c5db0883cc011.tar.gz
opie-c7aed90e02d06502dff04043103c5db0883cc011.tar.bz2
half way fullscreen done
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp101
-rw-r--r--noncore/apps/opie-console/mainwindow.h7
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