OK, another update. This is just prior to redoing the MainWin completely.
[quassel.git] / gui / mainwin.cpp
index ec6d8d4..8a21a9d 100644 (file)
@@ -19,8 +19,9 @@
  ***************************************************************************/
 
 #include <QtGui>
+#include <QtCore>
 
-#include "quassel.h"
+#include "global.h"
 
 #include "mainwin.h"
 #include "channelwidget.h"
 #include "coreconnectdlg.h"
 
 MainWin::MainWin() : QMainWindow() {
+  ui.setupUi(this);
 
   setWindowTitle("Quassel IRC");
   setWindowIcon(QIcon(":/qirc-icon.png"));
   setWindowIconText("Quassel IRC");
+
+  QSettings s;
+  s.beginGroup("Geometry");
+  resize(s.value("MainWinSize", QSize(500, 400)).toSize());
+  move(s.value("MainWinPos", QPoint(50, 50)).toPoint());
+  s.endGroup();
+
   //workspace = new QWorkspace(this);
   //setCentralWidget(workspace);
-  //ChannelWidget *cw = new ChannelWidget(this);
-  //workspace->addWindow(cw);
-  //setCentralWidget(cw);
   statusBar()->showMessage(tr("Waiting for core..."));
   setEnabled(false);
   show();
@@ -47,10 +53,17 @@ MainWin::MainWin() : QMainWindow() {
   setupMenus();
   //identitiesAct = settingsMenu->addAction(QIcon(":/default/identity.png"), tr("&Identities..."), serverListDlg, SLOT(editIdentities()));
   //showServerList();
-  ChannelWidget *cw = new ChannelWidget(this);
+  IrcWidget *cw = new IrcWidget(this);
   setCentralWidget(cw);
-  //setEnabled(true);
+  //workspace->addWindow(cw);
+  //cw->showMaximized();
   statusBar()->showMessage(tr("Ready."));
+  cw->setFocus();
+}
+
+void MainWin::setupMenus() {
+  connect(ui.actionNetworkList, SIGNAL(activated()), this, SLOT(showServerList()));
+  connect(ui.actionEditIdentities, SIGNAL(activated()), serverListDlg, SLOT(editIdentities()));
 }
 
 void MainWin::syncToCore() {
@@ -74,40 +87,6 @@ void MainWin::syncToCore() {
   }
 }
 
-void MainWin::setupMenus() {
-  fileMenu = menuBar()->addMenu(tr("&File"));
-  serverListAct = fileMenu->addAction(QIcon(":/default/server.png"), tr("&Server List..."), this, SLOT(showServerList()), tr("F7"));
-  fileMenu->addSeparator();
-  quitAct = fileMenu->addAction(QIcon(":/default/exit.png"), tr("&Quit"), qApp, SLOT(quit()), tr("CTRL+Q"));
-
-  editMenu = menuBar()->addMenu(tr("&Edit"));
-  editMenu->setEnabled(0);
-
-  ircMenu = menuBar()->addMenu(tr("&IRC"));
-  ircMenu->setEnabled(0);
-
-  serverMenu = menuBar()->addMenu(tr("Ser&ver"));
-  serverMenu->setEnabled(0);
-
-  windowMenu = menuBar()->addMenu(tr("&Window"));
-  windowMenu->setEnabled(0);
-
-  settingsMenu = menuBar()->addMenu(tr("&Settings"));
-  identitiesAct = settingsMenu->addAction(QIcon(":/default/identity.png"), tr("&Identities..."), serverListDlg, SLOT(editIdentities()));
-  settingsMenu->addSeparator();
-  configAct = settingsMenu->addAction(QIcon(":/default/configure.png"), tr("&Configure Quassel..."));
-  configAct->setEnabled(0);
-
-  helpMenu = menuBar()->addMenu(tr("&Help"));
-  aboutAct = helpMenu->addAction(tr("&About"));
-  aboutAct->setEnabled(0);
-  aboutQtAct = helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt()));
-
-  //toolBar = new QToolBar("Test", this);
-  //toolBar->addAction(identitiesAct);
-  //addToolBar(Qt::TopToolBarArea, toolBar);
-}
-
 void MainWin::showServerList() {
 //  if(!serverListDlg) {
 //    serverListDlg = new ServerListDlg(this);
@@ -115,3 +94,16 @@ void MainWin::showServerList() {
   serverListDlg->show();
 }
 
+void MainWin::closeEvent(QCloseEvent *event)
+{
+  //if (userReallyWantsToQuit()) {
+    QSettings s;
+    s.beginGroup("Geometry");
+    s.setValue("MainWinSize", size());
+    s.setValue("MainWinPos", pos());
+    s.endGroup();
+    event->accept();
+  //} else {
+    //event->ignore();
+  //}
+}