Ignore:
Timestamp:
May 15, 2014, 7:53:54 PM (11 years ago)
Author:
Silvan Scherrer
Message:

SMPlayer: update vendor to 0.8.7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • smplayer/vendor/current/src/defaultgui.cpp

    r154 r163  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
     2    Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    2727#include "myaction.h"
    2828#include "images.h"
    29 #include "floatingwidget.h"
     29#include "autohidewidget.h"
    3030#include "desktopinfo.h"
    3131#include "editabletoolbar.h"
     
    6161             this, SLOT(displayVideoInfo(int,int,double)) );
    6262
    63         connect( this, SIGNAL(cursorNearBottom(QPoint)),
    64              this, SLOT(showFloatingControl(QPoint)) );
    65         connect( this, SIGNAL(cursorNearTop(QPoint)),
    66              this, SLOT(showFloatingMenu(QPoint)) );
    67         connect( this, SIGNAL(cursorFarEdges()),
    68              this, SLOT(hideFloatingControls()) );
    69 
    7063        createActions();
    7164        createMainToolBars();
     
    8275        connect( editControl2Act, SIGNAL(triggered()),
    8376             controlwidget_mini, SLOT(edit()) );
    84         floating_control->toolbar()->takeAvailableActionsFrom(this);
     77        EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget());
     78        iw->takeAvailableActionsFrom(this);
    8579        connect( editFloatingControlAct, SIGNAL(triggered()),
    86              floating_control->toolbar(), SLOT(edit()) );
     80             iw, SLOT(edit()) );
    8781#endif
    8882
     
    9993                toolbar1->hide();
    10094                toolbar2->hide();
     95
     96                if (pref->floating_display_in_compact_mode) {
     97                        reconfigureFloatingControl();
     98                        floating_control->activate();
     99                }
    101100        }
    102101}
    103102
    104103DefaultGui::~DefaultGui() {
     104        qDebug("DefaultGui::~DefaultGui");
    105105        saveConfig();
    106106}
     
    381381void DefaultGui::createFloatingControl() {
    382382        // Floating control
    383         floating_control = new FloatingWidget(this);
    384         floating_control->setLayoutDirection(Qt::LeftToRight);
     383        floating_control = new AutohideWidget(panel);
     384        floating_control->setAutoHide(true);
     385
     386        EditableToolbar * iw = new EditableToolbar(floating_control);
     387        iw->setObjectName("floating_control");
    385388
    386389#if USE_CONFIGURABLE_TOOLBARS
     
    399402        #endif
    400403        floatingcontrol_actions << "separator" << "fullscreen" << "mute" << "volumeslider_action" << "separator" << "timelabel_action";
    401         floating_control->toolbar()->setDefaultActions(floatingcontrol_actions);
     404        iw->setDefaultActions(floatingcontrol_actions);
    402405#else
    403         floating_control->toolbar()->addAction(playAct);
    404         floating_control->toolbar()->addAction(pauseAct);
    405         floating_control->toolbar()->addAction(stopAct);
    406         floating_control->toolbar()->addSeparator();
     406        iw->addAction(playAct);
     407        iw->addAction(pauseAct);
     408        iw->addAction(stopAct);
     409        iw->addSeparator();
    407410
    408411        #if MINI_ARROW_BUTTONS
    409         floating_control->toolbar()->addAction( rewindbutton_action );
     412        iw->addAction( rewindbutton_action );
    410413        #else
    411         floating_control->toolbar()->addAction(rewind3Act);
    412         floating_control->toolbar()->addAction(rewind2Act);
    413         floating_control->toolbar()->addAction(rewind1Act);
     414        iw->addAction(rewind3Act);
     415        iw->addAction(rewind2Act);
     416        iw->addAction(rewind1Act);
    414417        #endif
    415418
    416         floating_control->toolbar()->addAction(timeslider_action);
     419        iw->addAction(timeslider_action);
    417420
    418421        #if MINI_ARROW_BUTTONS
    419         floating_control->toolbar()->addAction( forwardbutton_action );
     422        iw->addAction( forwardbutton_action );
    420423        #else
    421         floating_control->toolbar()->addAction(forward1Act);
    422         floating_control->toolbar()->addAction(forward2Act);
    423         floating_control->toolbar()->addAction(forward3Act);
     424        iw->addAction(forward1Act);
     425        iw->addAction(forward2Act);
     426        iw->addAction(forward3Act);
    424427        #endif
    425428
    426         floating_control->toolbar()->addSeparator();
    427         floating_control->toolbar()->addAction(fullscreenAct);
    428         floating_control->toolbar()->addAction(muteAct);
    429         floating_control->toolbar()->addAction(volumeslider_action);
    430         floating_control->toolbar()->addSeparator();
    431         floating_control->toolbar()->addAction(time_label_action);
     429        iw->addSeparator();
     430        iw->addAction(fullscreenAct);
     431        iw->addAction(muteAct);
     432        iw->addAction(volumeslider_action);
     433        iw->addSeparator();
     434        iw->addAction(time_label_action);
    432435#endif // USE_CONFIGURABLE_TOOLBARS
     436
     437        floating_control->setInternalWidget(iw);
    433438
    434439#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
     
    438443        floating_control->addAction(exitAct);
    439444        */
    440         floating_control->addActions(actions());
     445        //floating_control->addActions(actions());
    441446#endif
    442447
     
    444449        floating_control->adjustSize();
    445450#endif
     451
     452        floating_control->hide();
    446453}
    447454
     
    475482        video_info_display->setFrameShape(QFrame::NoFrame);
    476483
    477         statusBar()->setAutoFillBackground(TRUE);
     484        statusBar()->setAutoFillBackground(true);
    478485
    479486        ColorUtils::setBackgroundColor( statusBar(), QColor(0,0,0) );
     
    487494        ColorUtils::setBackgroundColor( video_info_display, QColor(0,0,0) );
    488495        ColorUtils::setForegroundColor( video_info_display, QColor(255,255,255) );
    489         statusBar()->setSizeGripEnabled(FALSE);
     496        statusBar()->setSizeGripEnabled(false);
    490497
    491498        statusBar()->addPermanentWidget( video_info_display );
     
    557564        ab_section_display->setText( s );
    558565
    559         ab_section_display->setShown( !s.isEmpty() );
     566        ab_section_display->setVisible( !s.isEmpty() );
    560567}
    561568
    562569void DefaultGui::displayVideoInfo(int width, int height, double fps) {
    563         video_info_display->setText(tr("%1x%2 %3 fps", "width + height + fps").arg(width).arg(height).arg(fps));
     570        if ((width != 0) && (height != 0)) {
     571                video_info_display->setText(tr("%1x%2 %3 fps", "width + height + fps").arg(width).arg(height).arg(fps));
     572        } else {
     573                video_info_display->setText(" ");
     574        }
    564575}
    565576
     
    572583}
    573584
     585void DefaultGui::applyNewPreferences() {
     586        qDebug("DefaultGui::applyNewPreferences");
     587
     588        if ((pref->compact_mode) && (pref->floating_display_in_compact_mode)) {
     589                reconfigureFloatingControl();
     590                floating_control->activate();
     591        } else {
     592                floating_control->deactivate();
     593        }
     594
     595        BaseGuiPlus::applyNewPreferences();
     596}
     597
     598void DefaultGui::reconfigureFloatingControl() {
     599        floating_control->setMargin(pref->floating_control_margin);
     600        floating_control->setPercWidth(pref->floating_control_width);
     601        floating_control->setAnimated(pref->floating_control_animated);
     602        floating_control->setActivationArea( (AutohideWidget::Activation) pref->floating_activation_area);
     603        floating_control->setHideDelay(pref->floating_hide_delay);
     604}
     605
    574606void DefaultGui::aboutToEnterFullscreen() {
    575607        qDebug("DefaultGui::aboutToEnterFullscreen");
    576608
    577609        BaseGuiPlus::aboutToEnterFullscreen();
     610
     611        // Show floating_control
     612        reconfigureFloatingControl();
     613        floating_control->deactivate(); // Hide the control in case it was running from compact mode
     614        QTimer::singleShot(500, floating_control, SLOT(activate()));
     615
    578616
    579617        // Save visibility of toolbars
     
    596634        BaseGuiPlus::aboutToExitFullscreen();
    597635
    598         floating_control->hide();
     636        // Hide floating_control
     637        if (!pref->compact_mode || !pref->floating_display_in_compact_mode) {
     638                floating_control->deactivate();
     639        }
    599640
    600641        if (!pref->compact_mode) {
     
    611652
    612653        BaseGuiPlus::aboutToEnterCompactMode();
     654
     655        // Show floating_control
     656        if (pref->floating_display_in_compact_mode) {
     657                reconfigureFloatingControl();
     658                QTimer::singleShot(500, floating_control, SLOT(activate()));
     659        }
     660
    613661
    614662        // Save visibility of toolbars
     
    627675        BaseGuiPlus::aboutToExitCompactMode();
    628676
     677        // Hide floating_control
     678        if (pref->floating_display_in_compact_mode) {
     679                floating_control->deactivate();
     680        }
     681
    629682        //menuBar()->show();
    630683        //statusBar()->show();
     
    636689        // Recheck size of controlwidget
    637690        resizeEvent( new QResizeEvent( size(), size() ) );
    638 }
    639 
    640 void DefaultGui::showFloatingControl(QPoint /*p*/) {
    641         qDebug("DefaultGui::showFloatingControl");
    642 
    643 #if CONTROLWIDGET_OVER_VIDEO
    644         if ((pref->compact_mode) && (!pref->fullscreen)) {
    645                 floating_control->setAnimated( false );
    646         } else {
    647                 floating_control->setAnimated( pref->floating_control_animated );
    648         }
    649         floating_control->setMargin(pref->floating_control_margin);
    650 #ifndef Q_OS_WIN
    651         floating_control->setBypassWindowManager(pref->bypass_window_manager);
    652 #endif
    653         floating_control->showOver(panel, pref->floating_control_width);
    654 #else
    655         if (!controlwidget->isVisible()) {
    656                 controlwidget->show();
    657         }
    658 #endif
    659 }
    660 
    661 void DefaultGui::showFloatingMenu(QPoint /*p*/) {
    662 #if !CONTROLWIDGET_OVER_VIDEO
    663         qDebug("DefaultGui::showFloatingMenu");
    664 
    665         if (!menuBar()->isVisible())
    666                 menuBar()->show();
    667 #endif
    668 }
    669 
    670 void DefaultGui::hideFloatingControls() {
    671         qDebug("DefaultGui::hideFloatingControls");
    672 
    673 #if CONTROLWIDGET_OVER_VIDEO
    674         floating_control->hide();
    675 #else
    676         if (controlwidget->isVisible())
    677                 controlwidget->hide();
    678 
    679         if (menuBar()->isVisible())     
    680                 menuBar()->hide();
    681 #endif
    682691}
    683692
     
    742751        set->setValue("controlwidget", controlwidget->actionsToStringList() );
    743752        set->setValue("controlwidget_mini", controlwidget_mini->actionsToStringList() );
    744         set->setValue("floating_control", floating_control->toolbar()->actionsToStringList() );
     753        EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget());
     754        set->setValue("floating_control", iw->actionsToStringList() );
    745755        set->setValue("toolbar1_version", TOOLBAR_VERSION);
    746756        set->endGroup();
     
    795805        controlwidget->setActionsFromStringList( set->value("controlwidget", controlwidget->defaultActions()).toStringList() );
    796806        controlwidget_mini->setActionsFromStringList( set->value("controlwidget_mini", controlwidget_mini->defaultActions()).toStringList() );
    797         floating_control->toolbar()->setActionsFromStringList( set->value("floating_control", floating_control->toolbar()->defaultActions()).toStringList() );
    798     floating_control->adjustSize();
     807        EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget());
     808        iw->setActionsFromStringList( set->value("floating_control", iw->defaultActions()).toStringList() );
     809        floating_control->adjustSize();
    799810        set->endGroup();
    800811#endif
Note: See TracChangeset for help on using the changeset viewer.