diff options
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | TODO | 12 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | src/Makefile.am | 30 | ||||
-rw-r--r-- | src/cprquerydialog.cc | 36 | ||||
-rw-r--r-- | src/cprquerydialog.h | 6 | ||||
-rw-r--r-- | src/mainwindow.cc | 59 | ||||
-rw-r--r-- | src/mainwindow.h | 9 |
8 files changed, 89 insertions, 71 deletions
diff --git a/Makefile.am b/Makefile.am index bd780f0..1353b08 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,3 @@ AUTOMAKE_OPTIONS = gnu -SUBDIRS = src -DISTDIRS = pixmaps ffmpeg src
\ No newline at end of file +SUBDIRS = pixmaps tools src +DISTDIRS = pixmaps tools src @@ -14,7 +14,7 @@ SplashScreen: Mainwindow: [x] - Clean out mgui code. [x] - Make generic gui layout code. - [/] - Make icons. + [x] - Make icons. [x] - Make statusbar. [ ] - Show network connection in statusbar. [ ] - Show camera connection in statusbar. @@ -22,9 +22,11 @@ Mainwindow: CPRQueryDialog: [x] - Make it! - [ ] - Clean out unnessecary code. + [x] - Clean out unnesessary code. [ ] - Make cancel posibility (return code 0 should do something useful) - [ ] - Make icons. + [x] - Insert timer for network connection timeout. + [x] - Send connection status info to mainwindow. + [ ] - Make icons? [ ] - Test it. Decoder: @@ -61,8 +63,8 @@ MiavConfig: ErrorObject: [x] - Make it. - [ ] - Maintain error string stack, instead of appending. - [ ] - Make thread safe. + [x] - Maintain error string stack, instead of appending. + [x] - Make it thread safe. FFMpegWrapper: [ ] - Make it. diff --git a/configure.in b/configure.in index 1df3ba6..3932dd6 100644 --- a/configure.in +++ b/configure.in @@ -150,7 +150,9 @@ AC_SUBST(LDFLAGS) AC_OUTPUT( Makefile - src/Makefile) + src/Makefile + tools/Makefile + pixmaps/Makefile) # ffmpeg/Makefile # ffmpeg/libavformat/Makefile # ffmpeg/libavcodec/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index 9d574e4..24c6972 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,8 +2,8 @@ ## TODO: Move ffmpeg, libxml and libsdl into configure.in AM_CXXFLAGS := $(CXXFLAGS) $(EXTRA_CXXFLAGS) -I../include $(QT_CXXFLAGS) \ + -DPIXMAPS=\"$(datadir)/pixmaps\" \ -I/usr/include/ffmpeg -# -I/usr/include/SDL bin_PROGRAMS = miav @@ -30,9 +30,35 @@ miav_SOURCES = $(shell if [ $QT_CXXFLAGS ] ; then ../tools/MocList cc; fi ) \ server.cc \ error.cc +EXTRA_DIST = \ + miav.conf \ + cprquery.conf \ + aboutwindow.h \ + camera.h \ + cprquerydialog.h \ + decoder.h \ + dvframe.h \ + encoder.h \ + error.h \ + ffframe.h \ + img_encoder.h \ + mainwindow.h \ + messagebox.h \ + miav.h \ + miav_config.h \ + mov_encoder.h \ + network.h \ + package.h \ + player.h \ + queue.h \ + server.h \ + socket.h \ + thread.h \ + util.h \ + videowidget.h + miav_LDADD := $(shell if [ $QT_CXXFLAGS ] ; then ../tools/MocList o; fi ) \ -lavcodec -lavformat -# -lSDL miav_MOC = $(shell if [ $QT_CXXFLAGS ] ; then ../tools/MocList cc; fi ) diff --git a/src/cprquerydialog.cc b/src/cprquerydialog.cc index e5a722f..14b7950 100644 --- a/src/cprquerydialog.cc +++ b/src/cprquerydialog.cc @@ -34,13 +34,15 @@ CPRQueryDialog::CPRQueryDialog(QLabel *lcpr, QLabel *lname, QWidget *parent, - const char *name) + const char *name, + QStatusBar *status) : QDialog(parent, name, TRUE) { MiavConfig cfg("cprquery.conf"); lbl_name = lname; lbl_cpr = lcpr; + statusbar = status; //Read configuration CPR_HOST = cfg.readString("cpr_host"); @@ -317,6 +319,7 @@ int CPRQueryDialog::test_cpr(const char *s) */ void CPRQueryDialog::cprSocket_error(int errnum) { + QString msg = QString("cprSocket encountered an error: "); timer->stop(); lbl_name->setText(NAME_NOT_AVAILABLE); @@ -324,16 +327,18 @@ void CPRQueryDialog::cprSocket_error(int errnum) // Print error message switch(errnum) { case QSocket::ErrConnectionRefused: // if the connection was refused - printf("ErrConnectionRefused\n"); + msg.append("ErrConnectionRefused"); break; case QSocket::ErrHostNotFound: // if the host was not found - printf("ErrHostNotFound\n"); + msg.append("ErrHostNotFound"); break; case QSocket::ErrSocketRead: // if a read from the socket failed - printf("ErrSocketRead\n"); + msg.append("ErrSocketRead"); break; } + if(statusbar) statusbar->message(msg); + MessageBox(this, "Fejl", msg, TYPE_OK, ICON_ERROR).exec(); accept(); } @@ -350,10 +355,12 @@ void CPRQueryDialog::cprSocket_readyRead() QString lastname; int timeout = 0; - timer->stop(); - if (!cprSocket->canReadLine()) return; + QString msg = QString("Recieving name from cpr database..."); + if(statusbar) statusbar->message(msg); + timer->stop(); + while(cprSocket->canReadLine()) { QString s = cprSocket->readLine(); if (s.startsWith("0001")) { @@ -391,7 +398,10 @@ void CPRQueryDialog::cprSocket_readyRead() */ void CPRQueryDialog::cprSocket_connected() { + QString msg = QString("Connected to cpr database, sending cpr number..."); + if(statusbar) statusbar->message(msg); timer->stop(); + cprSocket->writeBlock(internalCpr, 10); cprSocket->writeBlock("\n", 1); } @@ -402,31 +412,33 @@ void CPRQueryDialog::cprSocket_connected() */ void CPRQueryDialog::cprSocket_timeout() { + QString msg = QString("cprSocket timed out doing: "); timer->stop(); lbl_name->setText(NAME_NOT_AVAILABLE); - printf("cprSocket timed out tryning to:\n"); // Print connection status switch(cprSocket->state()) { case QSocket::Idle: // if there is no connection - printf("Idle\n"); + msg.append("Idle"); break; case QSocket::HostLookup: // during a DNS lookup - printf("HostLookup\n"); + msg.append("HostLookup"); break; case QSocket::Connecting: // during TCP connection establishment - printf("Connecting\n"); + msg.append("Connecting"); break; case QSocket::Connected: // when there is an operational connection - printf("Conected\n"); + msg.append("Conected"); break; case QSocket::Closing: // if the socket is closing down, but is not yet closed. - printf("Closing\n"); + msg.append("Closing"); break; } + if(statusbar) statusbar->message(msg); + MessageBox(this, "Fejl", msg, TYPE_OK, ICON_ERROR).exec(); accept(); } diff --git a/src/cprquerydialog.h b/src/cprquerydialog.h index 2f492f1..dfba59b 100644 --- a/src/cprquerydialog.h +++ b/src/cprquerydialog.h @@ -69,6 +69,7 @@ using namespace std; #include <qlabel.h> #include <qsocket.h> #include <qtimer.h> +#include <qstatusbar.h> #include "messagebox.h" @@ -78,7 +79,8 @@ public: CPRQueryDialog(QLabel *lcpr, QLabel *lname, QWidget * parent = 0, - const char * name = 0); + const char * name = 0, + QStatusBar *status = NULL); ~CPRQueryDialog(); public slots: @@ -93,6 +95,8 @@ public slots: void cprSocket_timeout(); private: + QStatusBar *statusbar; + QLabel *lbl_cpr; QLabel *lbl_name; diff --git a/src/mainwindow.cc b/src/mainwindow.cc index 8164981..dc5b5e2 100644 --- a/src/mainwindow.cc +++ b/src/mainwindow.cc @@ -50,10 +50,6 @@ MainWindow::MainWindow( QWidget* parent, const char* name ) : QWidget( parent, name, WStyle_Customize | WStyle_NoBorder ) { - // statusBar(); - // statusBar()->message("fisk"); - // statusBar()->setSizeGripEnabled(false); - MiavConfig cfg("miav.conf"); int resolution_w = cfg.readInt("pixel_width"); int resolution_h = cfg.readInt("pixel_height"); @@ -64,7 +60,7 @@ MainWindow::MainWindow( QWidget* parent, const char* name ) // Load images pix_record = new QPixmap(); - pix_record->load( "record.png" ); + pix_record->load( PIXMAPS"/record.png" ); /* QPainter *paint = new QPainter(); QPicture *pic = new QPicture(); @@ -76,16 +72,16 @@ MainWindow::MainWindow( QWidget* parent, const char* name ) */ pix_stop = new QPixmap(); - pix_stop->load( "stop.png" ); + pix_stop->load( PIXMAPS"/stop.png" ); pix_camera = new QPixmap(); - pix_camera->load( "camera.png" ); + pix_camera->load( PIXMAPS"/camera.png" ); pix_dummy = new QPixmap(); - pix_dummy->load( "dummy.png" ); + pix_dummy->load( PIXMAPS"/dummy.png" ); pix_logo = new QPixmap(); - pix_logo->load( "miav-logo-64x64.png" ); + pix_logo->load( PIXMAPS"/miav-logo-64x64.png" ); createGui(); show(); @@ -102,8 +98,6 @@ MainWindow::MainWindow( QWidget* parent, const char* name ) recording = false; frozen = false; - aboutwindow = NULL; - // Open the CPR Dialog cpr_clicked(); } @@ -112,7 +106,6 @@ MainWindow::~MainWindow() { if(camera) delete camera; delete btn_cpr; - if(aboutwindow) delete aboutwindow; } void MainWindow::createGui() @@ -157,7 +150,7 @@ void MainWindow::createGui() g1->addMultiCellWidget ( img_recedge, 0, 0, 0, 2, Qt::AlignHCenter); // CPR/NAME LABEL + CPR button - lbl_cpr = createLabel("200379-1613", 18, 3); + lbl_cpr = createLabel("", 18, 3); g1->addMultiCellWidget ( lbl_cpr, 1, 1, 0, 1); btn_cpr = createButton("NYT CPR", 8, 3); @@ -166,7 +159,7 @@ void MainWindow::createGui() // Will also be connected in the MGUI code g1->addWidget(btn_cpr, 1, 2); - lbl_name = createLabel("Bent Bisballe Kjær Nyeng Jensen", 18, 2); + lbl_name = createLabel("", 18, 2); g1->addMultiCellWidget ( lbl_name, 2, 2, 0, 2); // Rec + Shot + Freeze buttons @@ -194,29 +187,15 @@ void MainWindow::createGui() } // Statusbar - lbl_status = createLabel("STATUS", 18, 1); - lbl_status->setFrameStyle(QFrame::TabWidgetPanel | QFrame::Sunken); - lbl_status->setLineWidth(1); - g0->addWidget(lbl_status, 4, 0); + status = new QStatusBar(this); + status->setSizeGripEnabled(FALSE); + g0->addMultiCellWidget(status, 4, 4, 0, 1); lbl_version = createLabel("MIaV-Grab v" VERSION, 18, 1); - lbl_version->setFrameStyle(QFrame::TabWidgetPanel | QFrame::Sunken); - lbl_version->setLineWidth(1); - lbl_version->setFixedHeight((int)unit); - g0->addWidget(lbl_version, 4, 1); - - /* // About icon - btn_logo = new QPushButton("", this); - btn_logo->setPixmap(*pix_logo); - btn_logo->setFixedSize(74,74); - btn_logo->move(940,10); - btn_logo->setFlat(true); - QObject::connect( btn_logo, SIGNAL(clicked()), this, SLOT(logo_clicked()) ); - */ - //lbl_version->setFont( QFont( "Arial", 8, QFont::Light ) ); - //lbl_version->setFixedSize(90,10); - //lbl_version->move(928,81); + lbl_version->setFixedWidth(300); + status->addWidget(lbl_version, 0, TRUE); + status->message("Klar..."); } QPushButton *MainWindow::createButton(char *caption, int width, int height) @@ -237,14 +216,8 @@ QLabel *MainWindow::createLabel(char *caption, int width, int height) void MainWindow::message(char *msg) { - lbl_status->setText(msg); -} - -void MainWindow::logo_clicked() -{ - if(aboutwindow) - delete aboutwindow; - aboutwindow = new AboutWindow(0, "About MIAV-Grab"); + // lbl_status->setText(msg); + status->message(msg); } void MainWindow::cpr_clicked() @@ -254,7 +227,7 @@ void MainWindow::cpr_clicked() } // Create and call the CPRQueryDialog. - CPRQueryDialog dlg(lbl_cpr, lbl_name, this, "CPRQueryDialog"); + CPRQueryDialog dlg(lbl_cpr, lbl_name, this, "CPRQueryDialog", status); if(dlg.exec() == 0) { printf("Cancel!\n"); diff --git a/src/mainwindow.h b/src/mainwindow.h index 9955cb4..88e924e 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -34,8 +34,8 @@ using namespace std; #include <qwidget.h> #include <qlabel.h> #include <qpushbutton.h> +#include <qstatusbar.h> -#include "aboutwindow.h" #include "videowidget.h" #include "camera.h" #include "cprquerydialog.h" @@ -55,7 +55,6 @@ public: public slots: void cpr_clicked(); - void logo_clicked(); void rec_clicked(); void shoot_clicked(); void freeze_clicked(); @@ -66,8 +65,6 @@ private: Camera *camera; Error *cam_error; - AboutWindow *aboutwindow; - QPixmap *pix_camera; QPixmap *pix_record; QPixmap *pix_stop; @@ -75,7 +72,7 @@ private: QPixmap *pix_logo; QLabel *lbl_version; - QLabel *lbl_status; + // QLabel *lbl_status; QLabel *lbl_cpr; QLabel *lbl_name; @@ -87,6 +84,8 @@ private: QPushButton *btn_rec; QPushButton *btn_shoot; QPushButton *btn_freeze; + + QStatusBar *status; VideoWidget *img_live; |