summaryrefslogtreecommitdiffstats
path: root/pica-client/mainwindow.cpp
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
commit8df9466ada46e4b07990b9cb7e8b1cd61b96844a (patch)
tree2cb652e5839bed672133ffa90e7ad477f55cfb6b /pica-client/mainwindow.cpp
downloadpica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.tar.gz
pica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.zip
todo list update
git-svn-id: svn://localhost/project_picapica/trunk@128 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client/mainwindow.cpp')
-rw-r--r--pica-client/mainwindow.cpp110
1 files changed, 110 insertions, 0 deletions
diff --git a/pica-client/mainwindow.cpp b/pica-client/mainwindow.cpp
new file mode 100644
index 0000000..5bf44dd
--- /dev/null
+++ b/pica-client/mainwindow.cpp
@@ -0,0 +1,110 @@
+#include "mainwindow.h"
+#include "globals.h"
+#include "skynet.h"
+#include "picaactioncenter.h"
+#include "accounts.h"
+#include "ui_mainwindow.h"
+#include <QVBoxLayout>
+#include <QMessageBox>
+
+
+MainWindow::MainWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow)
+{
+ ui->setupUi(this);
+
+ QVBoxLayout *layout;
+
+ layout = new QVBoxLayout;
+ contact_list = new ContactListWidget;
+ status = new QComboBox;
+
+ status->setMinimumHeight(36);
+
+ layout->addWidget(contact_list);
+ layout->addWidget(status,0,Qt::AlignBottom);
+
+ centralWidget()->setLayout(layout);
+ setWindowIcon(picapica_ico_sit);
+
+ createMenus();
+
+
+ //for (int i=0;i<255;i++)
+ // contact_list->addItem(QString("test %1").arg(i));
+
+ status->addItem(picapica_ico_fly, QString(tr("Connected")));
+ status->addItem(picapica_ico_sit, QString(tr("Disconnected")));
+
+ connect(skynet, SIGNAL(BecameSelfAware()), this, SLOT(set_online()));
+ connect(skynet, SIGNAL(LostSelfAwareness()), this, SLOT(set_offline()));
+ connect(status, SIGNAL(currentIndexChanged(int)), this, SLOT(status_changed(int)));
+}
+
+MainWindow::~MainWindow()
+{
+ delete ui;
+}
+
+void MainWindow::set_offline()
+{
+ SetStatus(false);
+}
+
+void MainWindow::set_online()
+{
+ SetStatus(true);
+}
+
+void MainWindow::status_changed(int index)
+{
+ if (status_change_disable_flag)
+ return;
+
+ if (index == 0 && !skynet->isSelfAware())
+ {
+ Accounts::AccountRecord curr_acc = skynet->CurrentAccount();
+ skynet->Join(curr_acc);
+ }
+ if (1 == index && skynet->isSelfAware())
+ skynet->Exit();
+}
+
+void MainWindow::SetStatus(bool connected)
+{
+ status_change_disable_flag = true;
+
+ if (connected)
+ {
+ status->setCurrentIndex(0);
+ setWindowTitle(tr("Pica Pica Messenger - ") + QString::number(account_id));
+ }
+ else
+ {
+ status->setCurrentIndex(1);
+ setWindowTitle(tr("Pica Pica Messenger - Disconnected"));
+ }
+
+ status_change_disable_flag = false;
+}
+
+
+void MainWindow::createMenus()
+{
+ contactsMenu=menuBar()->addMenu(tr("&Contacts"));
+ contactsMenu->addAction(contact_list->addcontactAct);
+ contactsMenu->addSeparator();
+ contactsMenu->addAction(action_center->ExitAct());
+
+ nodesMenu=menuBar()->addMenu(tr("&Nodes"));
+
+ helpMenu=menuBar()->addMenu(tr("&Help"));
+ helpMenu->addAction(action_center->AboutAct());
+
+}
+
+
+
+
+