[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeextragear-2/kmplayer/src
From:       Koos Vriezen <koos.vriezen () xs4all ! nl>
Date:       2005-02-05 18:09:41
Message-ID: 20050205180941.72F951D1A4 () office ! kde ! org
[Download RAW message or body]

CVS commit by vriezen: 

Fix resizing to previous source size when new source hasn't got one (eg. 
switching from VDR, w/ a manually resized window, to a radio stream, resized
to window to PAL size again)


  M +5 -8      kmplayerapp.cpp   1.141
  M +10 -11    kmplayerpartbase.cpp   1.150
  M +0 -2      kmplayervdr.cpp   1.51


--- kdeextragear-2/kmplayer/src/kmplayerapp.cpp  #1.140:1.141
@@ -303,15 +303,12 @@ KDE_NO_EXPORT void KMPlayerApp::openDocu
 KDE_NO_EXPORT void KMPlayerApp::resizePlayer (int percentage) {
     KMPlayer::Source * source = m_player->source ();
-    int w = source->width ();
-    int h = source->height ();
-    if (w <= 0 || h <= 0) {
+    if (!source || (percentage == 100 && source->aspect () < 0.01))
+        return; // 100% of a not set aspect?
+    int w, h;
         m_player->sizes (w, h);
-        source->setWidth (w);
-        source->setHeight (h);
-    }
     kdDebug () << "KMPlayerApp::resizePlayer (" << w << "," << h << ")" << endl;
     if (w > 0 && h > 0) {
         if (source->aspect () > 0.01) {
-            w = int (source->aspect () * source->height ());
+            w = int (source->aspect () * h);
             w += w % 2;
             source->setWidth (w);

--- kdeextragear-2/kmplayer/src/kmplayerpartbase.cpp  #1.149:1.150
@@ -313,13 +313,11 @@ void PartBase::setSource (Source * _sour
         m_source->deactivate ();
         stop ();
-        if (m_view) {
-            if (m_view->viewer ())
-                m_view->viewer ()->setAspect (0.0);
+        if (m_view)
             m_view->reset ();
-        }
         disconnect (m_source, SIGNAL (currentURL (Source *)),
                  m_process, SLOT (play (Source *)));
         disconnect (m_source, SIGNAL (endOfPlayItems ()), this, SLOT (stop ()));
     }
+    if (m_view)
     m_view->controlPanel ()->setAutoControls (true);
     QString p = m_settings->backends [_source->name()];
@@ -357,4 +355,6 @@ void PartBase::setSource (Source * _sour
     updatePlayerMenu ();
     m_source->init ();
+    if (m_view && m_view->viewer ())
+        m_view->viewer ()->setAspect (0.0);
     if (m_source) QTimer::singleShot (0, m_source, SLOT (activate ()));
     emit sourceChanged (m_source);
@@ -525,9 +525,9 @@ void PartBase::playListItemSelected (QLi
 void PartBase::updateTree () {
     m_in_update_tree = true;
-    if (m_process && m_process->view ()) {
+    if (m_process && m_view) {
         if (m_process->player () != this)
             m_process->player ()->updateTree ();
         else if (m_source)
-            m_process->view ()->playList ()->updateTree
+            m_view->playList ()->updateTree
                 (m_source->document (), m_source->current ());
     }
@@ -604,10 +604,9 @@ void PartBase::decreaseVolume () {
 
 void PartBase::sizes (int & w, int & h) const {
-    if (m_noresize && m_view->viewer ()) {
-        w = m_view->viewer ()->width ();
-        h = m_view->viewer ()->height ();
-    } else {
         w = m_source->width ();
         h = m_source->height ();
+    if ((m_noresize || w <= 0 || h <= 0) && m_view->viewer ()) {
+        w = m_view->viewer ()->width ();
+        h = m_view->viewer ()->height ();
     }
 }

--- kdeextragear-2/kmplayer/src/kmplayervdr.cpp  #1.50:1.51
@@ -182,6 +182,4 @@ KDE_NO_EXPORT void KMPlayerVDRSource::ac
     connect (panel->button (KMPlayer::ControlPanel::button_blue), SIGNAL (clicked \
()), this, SLOT (keyBlue ()));  setAspect (scale ? 16.0/9 : 1.33);
-    if (m_player->settings ()->sizeratio)
-        m_app->view ()->viewer ()->setAspect (aspect ());
     if (!m_url.protocol ().compare ("kmplayer"))
         m_request_jump = KURL::decode_string (m_url.path ()).mid (1);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic