File: MainWindow.cpp

package info (click to toggle)
camstream 0.27%2Bdfsg-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 12,320 kB
  • ctags: 5,393
  • sloc: cpp: 17,031; sh: 8,154; asm: 455; ansic: 440; makefile: 343
file content (128 lines) | stat: -rw-r--r-- 3,429 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*  audiodevs: Abstraction layer for audio hardware & samples
    Copyright (C) 2003-2004 Nemosoft Unv.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    For questions, remarks, patches, etc. for this program, the author can be
    reached at camstream@smcc.demon.nl.
*/

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <assert.h>

#include <qapplication.h>
#include <qcombobox.h>
#include <qkeycode.h>
#include <qlineedit.h>
#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qworkspace.h>

#include "tracer.h"

#include "AudioCollector.h"
#include "AudioDisplay.h"
#include "AudioOpenDlg.h"
#include "MainWindow.h"

TR_MODULE("MainWindow");

CMainWindow::CMainWindow(QWidget *parent, const char *name)
	: QMainWindow(parent, name)
{
   QPixmap BackgroundPix;
   QPopupMenu *menu;

   BackgroundPix.resize(16, 16);
   BackgroundPix.fill(lightGray);
   m_pWorkspace = new QWorkspace(this);
   assert(m_pWorkspace != NULL);
   m_pWorkspace->setBackgroundPixmap(BackgroundPix);
   setCentralWidget(m_pWorkspace);

   // Create menu structure
   menu = new QPopupMenu(this, "File menu");
   menu->insertItem("&Open...", this, SLOT(FileOpenNew()), CTRL + Key_O);
   menu->insertItem("&Quit",    this, SLOT(FileQuit()),    CTRL + Key_Q);
   menuBar()->insertItem("&File", menu);

   menu = new QPopupMenu(this, "Window menu");
   menu->insertItem("&Cascade", m_pWorkspace, SLOT(cascade()));
   menu->insertItem("&Tile",    m_pWorkspace, SLOT(tile()));
   menuBar()->insertItem("&Window", menu);
}

CMainWindow::~CMainWindow()
{
   qDebug("CMainWindow::~CMainWindow()");
}

// private slots

void CMainWindow::FileOpenNew()
{
   uint i;
   CAudioOpenDlg OpenDlg(0, "Audio Open Dialog", true);
   CAudioCollector *au = CAudioCollector::Instance();
   CAudioDevice *adev = 0;

qDebug("CMXMainwWindow::FileOpenNew() called.");
   for (i = 0; i < au->NumberOfAudioDevices(); i++)
   {
      adev = au->GetAudioDevice(i);
      if (adev == 0)
        continue;
      OpenDlg.m_DevicesComboBox->insertItem(adev->GetName(), i);
   }

   if (OpenDlg.exec() == QDialog::Accepted)
   {
     int sel_device;

     sel_device = OpenDlg.m_DevicesComboBox->currentItem();
     adev = au->GetAudioDevice(sel_device);
     if (adev != 0)
     {
       CAudioDisplay *ad = new CAudioDisplay(adev, m_pWorkspace, "audio display");
       if (ad)
         ad->show();
     }
   }
}


void CMainWindow::FileQuit()
{
qDebug("CMainWindow::FileQuit() called.");
   qApp->quit(); // we're done
}

// public

void CMainWindow::OpenAudio(const char *audio_dev)
{
/*
   CAudioDisplay *pDisplay;

   pDisplay = new CAudioDisplay(audio_dev, Workspace);
   if (pDisplay)
     pDisplay->show();
   else
     qWarning("Could not create new AudioDisplay. Out of memory?");
*/
}