summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/mainwindow.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp67
1 files changed, 64 insertions, 3 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index e9b5eda..1ae4a20 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -11,7 +11,7 @@
MainWindow::MainWindow() {
m_factory = new MetaFactory();
m_sessions.setAutoDelete( TRUE );
- m_curSession = -1;
+ m_curSession = 0;
initUI();
}
@@ -23,6 +23,8 @@ void MainWindow::initUI() {
m_bar = new QMenuBar( m_tool );
m_console = new QPopupMenu( this );
+ m_sessionsPop= new QPopupMenu( this );
+ m_settings = new QPopupMenu( this );
/*
* new Action for new sessions
@@ -33,17 +35,55 @@ void MainWindow::initUI() {
connect(a, SIGNAL(activated() ),
this, SLOT(slotNew() ) );
- a = new QAction();
- a->setText( tr("New from Session") );
+
+ /*
+ * connect action
+ */
m_connect = new QAction();
m_connect->setText( tr("Connect") );
m_connect->addTo( m_console );
connect(m_connect, SIGNAL(activated() ),
this, SLOT(slotConnect() ) );
+
+ /*
+ * disconnect action
+ */
+ m_disconnect = new QAction();
+ m_disconnect->setText( tr("Disconnect") );
+ m_disconnect->addTo( m_console );
+ connect(m_disconnect, SIGNAL(activated() ),
+ this, SLOT(slotDisconnect() ) );
+
+ /*
+ * terminate action
+ */
+ m_terminate = new QAction();
+ m_terminate->setText( tr("Terminate") );
+ m_terminate->addTo( m_console );
+ connect(m_disconnect, SIGNAL(activated() ),
+ this, SLOT(slotTerminate() ) );
+
+ /*
+ * the settings action
+ */
+ m_setProfiles = new QAction();
+ m_setProfiles->setText( tr("Configure Profiles") );
+ m_setProfiles->addTo( m_settings );
+ connect( m_setProfiles, SIGNAL(activated() ),
+ this, SLOT(slotConfigure() ) );
+
+ /* 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 settings menu */
+ m_bar->insertItem( tr("Settings"), m_settings );
+
}
MainWindow::~MainWindow() {
delete m_factory;
@@ -60,3 +100,24 @@ Session* MainWindow::currentSession() {
QList<Session> MainWindow::sessions() {
return m_sessions;
}
+void MainWindow::slotNew() {
+ qWarning("New Connection");
+}
+void MainWindow::slotConnect() {
+ if ( currentSession() )
+ currentSession()->layer()->open();
+}
+void MainWindow::slotDisconnect() {
+ if ( currentSession() )
+ currentSession()->layer()->close();
+}
+void MainWindow::slotTerminate() {
+ if ( currentSession() )
+ currentSession()->layer()->close();
+ delete m_curSession;
+ m_curSession = 0l;
+ /* FIXME move to the next session */
+}
+void MainWindow::slotConfigure() {
+ qWarning("configure");
+}