~ubuntu-branches/ubuntu/maverick/kdemultimedia/maverick-proposed

« back to all changes in this revision

Viewing changes to kmix/viewdockareapopup.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Thomas
  • Date: 2010-05-25 08:30:50 UTC
  • mfrom: (1.2.43 upstream)
  • Revision ID: james.westby@ubuntu.com-20100525083050-8o3otjqjwsnzjb6h
Tags: 4:4.4.80-0ubuntu1
* New upstream beta release:
  - Bump kde-sc-dev-latest to 4.4.80
  - Update various .install files
  - Refresh all patches
  - Add build-depends on libswscale-dev, libavcodec-dev, and libavformat-dev
    for new video thumbnailer backends
  - Add a new ffmpegthumbs package for the new video thumbnailer
* Switch to source format 3.0 (quilt):
  - Bump debhelper build-depend version to 7.3.16 or greater

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
//    Users will not be able to close the Popup without opening the KMix main window then.
47
47
//    See Bug #93443, #96332 and #96404 for further details. -- esken
48
48
ViewDockAreaPopup::ViewDockAreaPopup(QWidget* parent, const char* name, Mixer* mixer, ViewBase::ViewFlags vflags, GUIProfile *guiprof, KMixWindow *dockW )
49
 
    : ViewBase(parent, name, mixer, /*Qt::FramelessWindowHint | Qt::MSWindowsFixedSizeDialogHint*/0, vflags, guiprof), _mdw(0), _dock(dockW)
 
49
    : ViewBase(parent, name, mixer, /*Qt::FramelessWindowHint | Qt::MSWindowsFixedSizeDialogHint*/0, vflags, guiprof), _dock(dockW)
50
50
{
51
51
    _layoutMDW = new QGridLayout( this );
52
52
    _layoutMDW->setSpacing( KDialog::spacingHint() );
63
63
 
64
64
void ViewDockAreaPopup::wheelEvent ( QWheelEvent * e ) {
65
65
   // Pass wheel event from "border widget" to child
66
 
   if ( _mdw != 0 ) {
67
 
      QApplication::sendEvent( _mdw, e);
68
 
   }
 
66
   QWidget* mdw = 0;
 
67
   if ( !_mdws.isEmpty() )
 
68
      mdw = _mdws.first();
 
69
 
 
70
   if ( mdw != 0 )
 
71
      QApplication::sendEvent( mdw, e);
69
72
}
70
73
 
71
74
MixDevice* ViewDockAreaPopup::dockDevice()
72
75
{
73
 
    return _mdw->mixDevice();
 
76
   MixDeviceWidget* mdw = 0;
 
77
   if ( !_mdws.isEmpty() )
 
78
      mdw = (MixDeviceWidget*)_mdws.first();
 
79
 
 
80
   if ( mdw != 0 )
 
81
      return mdw->mixDevice();
 
82
   return (MixDevice*)(0);
74
83
}
75
84
 
76
85
 
81
90
}
82
91
 
83
92
 
84
 
void ViewDockAreaPopup::setMixSet()
 
93
void ViewDockAreaPopup::_setMixSet()
85
94
{
86
95
   // kDebug(67100) << "ViewDockAreaPopup::setMixSet()\n";
 
96
 
 
97
   if ( _mixer->dynamic() ) {
 
98
      // Our _layoutMDW now should only contain spacer widgets from the QSpacerItems's in add() below.
 
99
      // We need to trash those too otherwise all sliders gradually migrate away from the edge :p
 
100
      QLayoutItem *li;
 
101
      while ( ( li = _layoutMDW->takeAt(0) ) )
 
102
         delete li;
 
103
   }
 
104
 
87
105
   MixDevice *dockMD = Mixer::getGlobalMasterMD();
88
106
   if ( dockMD == 0 ) {
89
107
      // If we have no dock device yet, we will take the first available mixer device
98
116
 
99
117
QWidget* ViewDockAreaPopup::add(MixDevice *md)
100
118
{
101
 
   _mdw = new MDWSlider(
 
119
    MixDeviceWidget *mdw = new MDWSlider(
102
120
      md,                 // only 1 device. This is actually _dockDevice
103
121
      true,         // Show Mute LED
104
122
      false,        // Show Record LED
109
127
   );
110
128
   _layoutMDW->addItem( new QSpacerItem( 5, 20 ), 0, 2 );
111
129
   _layoutMDW->addItem( new QSpacerItem( 5, 20 ), 0, 0 );
112
 
   _layoutMDW->addWidget( _mdw, 0, 1 );
 
130
   _layoutMDW->addWidget( mdw, 0, 1 );
113
131
 
114
132
   // Add button to show main panel
115
133
   _showPanelBox = new QPushButton( i18n("Mixer"), this );
117
135
   connect ( _showPanelBox, SIGNAL( clicked() ), SLOT( showPanelSlot() ) );
118
136
   _layoutMDW->addWidget( _showPanelBox, 1, 0, 1, 3 );
119
137
 
120
 
   return _mdw;
 
138
   return mdw;
121
139
}
122
140
 
123
141
void ViewDockAreaPopup::constructionFinished() {
124
142
   //    kDebug(67100) << "ViewDockAreaPopup::constructionFinished()\n";
125
 
   if (_mdw != 0) {
126
 
      _mdw->move(0,0);
127
 
      _mdw->show();
 
143
   QWidget* mdw = 0;
 
144
   if ( !_mdws.isEmpty() )
 
145
      mdw = _mdws.first();
 
146
 
 
147
   if ( mdw != 0 ) {
 
148
      mdw->move(0,0);
 
149
      mdw->show();
128
150
   }
129
151
}
130
152
 
131
153
 
132
154
void ViewDockAreaPopup::refreshVolumeLevels() {
133
155
   //    kDebug(67100) << "ViewDockAreaPopup::refreshVolumeLevels()\n";
134
 
   QWidget* mdw = _mdws.first();
 
156
   QWidget* mdw = 0;
 
157
   if ( !_mdws.isEmpty() )
 
158
      mdw = _mdws.first();
 
159
 
135
160
   if ( mdw == 0 ) {
136
161
      kError(67100) << "ViewDockAreaPopup::refreshVolumeLevels(): mdw == 0\n";
137
162
      // sanity check (normally the lists are set up correctly)