Ignore:
Timestamp:
May 3, 2016, 5:25:45 PM (9 years ago)
Author:
Silvan Scherrer
Message:

smplayer: update trunk to version 16.4

Location:
smplayer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • smplayer/trunk

  • smplayer/trunk/src/defaultgui.cpp

    r165 r176  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net>
     2    Copyright (C) 2006-2016 Ricardo Villalba <rvm@users.sourceforge.net>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    3131#include "editabletoolbar.h"
    3232
     33#if !USE_CONFIGURABLE_TOOLBARS
     34#include "favorites.h"
     35#endif
     36
    3337#if DOCK_PLAYLIST
    3438#include "playlistdock.h"
     39#endif
     40
     41#ifdef BUFFERING_ANIMATION
     42#include "statewidget.h"
    3543#endif
    3644
     
    4250#include <QToolButton>
    4351#include <QMenuBar>
     52#include <QMovie>
    4453
    4554#define TOOLBAR_VERSION 1
     
    6372        createActions();
    6473        createMainToolBars();
    65     createControlWidget();
    66     createControlWidgetMini();
     74        createControlWidget();
     75        createControlWidgetMini();
    6776        createFloatingControl();
    6877        createMenus();
     
    99108                }
    100109        }
     110
     111        applyStyles();
    101112}
    102113
     
    119130
    120131        timeslider_action = createTimeSliderAction(this);
     132        volumeslider_action = createVolumeSliderAction(this);
     133
     134#if AUTODISABLE_ACTIONS
    121135        timeslider_action->disable();
    122 
    123         volumeslider_action = createVolumeSliderAction(this);
    124136        volumeslider_action->disable();
     137#endif
    125138
    126139        // Create the time label
     
    176189}
    177190#endif // AUTODISABLE_ACTIONS
     191
     192void DefaultGui::togglePlayAction(Core::State state) {
     193        qDebug("DefaultGui::togglePlayAction");
     194        BaseGui::togglePlayAction(state);
     195
     196        if (state == Core::Playing) {
     197                playOrPauseAct->setIcon(Images::icon("pause"));
     198        } else {
     199                playOrPauseAct->setIcon(Images::icon("play"));
     200        }
     201}
    178202
    179203void DefaultGui::createMenus() {
     
    227251#else
    228252        toolbar1->addAction(openFileAct);
    229         toolbar1->addAction(openDVDAct);
     253        /* toolbar1->addAction(openDVDAct); */
    230254        toolbar1->addAction(openURLAct);
     255        toolbar1->addAction(favorites->menuAction());
    231256        toolbar1->addSeparator();
     257        /*
    232258        toolbar1->addAction(compactAct);
    233259        toolbar1->addAction(fullscreenAct);
    234260        toolbar1->addSeparator();
     261        */
    235262        toolbar1->addAction(screenshotAct);
    236263        toolbar1->addSeparator();
     
    245272        //toolbar1->addAction(timeslider_action);
    246273        //toolbar1->addAction(volumeslider_action);
     274
     275        QToolButton * button = qobject_cast<QToolButton *>(toolbar1->widgetForAction(favorites->menuAction()));
     276        button->setPopupMode(QToolButton::InstantPopup);
    247277#endif
    248278
     
    257287
    258288        select_subtitle = new QPushButton( this );
    259         select_subtitle->setMenu( subtitlestrack_menu );
     289        select_subtitle->setMenu( subtitles_track_menu );
    260290        toolbar2->addWidget(select_subtitle);
    261291
     
    327357#if USE_CONFIGURABLE_TOOLBARS
    328358        QStringList controlwidget_actions;
    329         controlwidget_actions << "play" << "pause_and_frame_step" << "stop" << "separator";
     359        controlwidget_actions << "play_or_pause" << "stop" << "separator";
    330360        #if MINI_ARROW_BUTTONS
    331361        controlwidget_actions << "rewindbutton_action";
     
    342372        controlwidget->setDefaultActions(controlwidget_actions);
    343373#else
     374        /*
    344375        controlwidget->addAction(playAct);
    345376        controlwidget->addAction(pauseAndStepAct);
     377        */
     378        controlwidget->addAction(playOrPauseAct);
    346379        controlwidget->addAction(stopAct);
    347380
     
    386419        EditableToolbar * iw = new EditableToolbar(floating_control);
    387420        iw->setObjectName("floating_control");
     421        connect(iw, SIGNAL(iconSizeChanged(const QSize &)), this, SLOT(adjustFloatingControlSize()));
    388422
    389423#if USE_CONFIGURABLE_TOOLBARS
     
    482516        video_info_display->setFrameShape(QFrame::NoFrame);
    483517
     518#ifdef BUFFERING_ANIMATION
     519        state_widget = new StateWidget(statusBar());
     520        connect(core, SIGNAL(stateChanged(Core::State)), state_widget, SLOT(watchState(Core::State)));
     521        statusBar()->addPermanentWidget(state_widget);
     522#endif
     523
    484524        statusBar()->setAutoFillBackground(true);
    485525
     
    499539        statusBar()->addPermanentWidget( ab_section_display );
    500540
    501     statusBar()->showMessage( tr("Welcome to SMPlayer") );
     541        statusBar()->showMessage( tr("Ready") );
    502542        statusBar()->addPermanentWidget( frame_display, 0 );
    503543        frame_display->setText( "0" );
    504544
    505     statusBar()->addPermanentWidget( time_display, 0 );
     545        statusBar()->addPermanentWidget( time_display, 0 );
    506546        time_display->setText(" 00:00:00 / 00:00:00 ");
    507547
     
    515555        BaseGuiPlus::retranslateStrings();
    516556
     557        // Change the icon of the play/pause action
     558        playOrPauseAct->setIcon(Images::icon("play"));
     559
    517560        toolbar_menu->menuAction()->setText( tr("&Toolbars") );
    518561        toolbar_menu->menuAction()->setIcon( Images::icon("toolbars") );
     
    538581        editControl2Act->change( tr("Edit m&ini control bar") );
    539582        editFloatingControlAct->change( tr("Edit &floating control") );
     583#endif
     584
     585#ifdef BUFFERING_ANIMATION
     586        state_widget->setAnimation(Images::file("buffering.gif"));
    540587#endif
    541588}
     
    612659        reconfigureFloatingControl();
    613660        floating_control->deactivate(); // Hide the control in case it was running from compact mode
    614         QTimer::singleShot(500, floating_control, SLOT(activate()));
     661        QTimer::singleShot(100, floating_control, SLOT(activate()));
    615662
    616663
     
    656703        if (pref->floating_display_in_compact_mode) {
    657704                reconfigureFloatingControl();
    658                 QTimer::singleShot(500, floating_control, SLOT(activate()));
     705                QTimer::singleShot(100, floating_control, SLOT(activate()));
    659706        }
    660707
     
    721768#endif
    722769
     770void DefaultGui::adjustFloatingControlSize() {
     771        qDebug("DefaultGui::adjustFloatingControlSize");
     772        //floating_control->adjustSize();
     773        QWidget *iw = floating_control->internalWidget();
     774        QSize iws = iw->size();
     775        QMargins m = floating_control->contentsMargins();
     776        int new_height = iws.height() + m.top() + m.bottom();
     777        if (new_height < 32) new_height = 32;
     778        floating_control->resize(floating_control->width(), new_height);
     779}
    723780
    724781void DefaultGui::saveConfig() {
     
    755812        set->setValue("toolbar1_version", TOOLBAR_VERSION);
    756813        set->endGroup();
     814
     815        set->beginGroup("toolbars_icon_size");
     816        set->setValue("toolbar1", toolbar1->iconSize());
     817        set->setValue("controlwidget", controlwidget->iconSize());
     818        set->setValue("controlwidget_mini", controlwidget_mini->iconSize());
     819        set->setValue("floating_control", iw->iconSize());
     820        set->endGroup();
    757821#endif
    758822
     
    807871        EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget());
    808872        iw->setActionsFromStringList( set->value("floating_control", iw->defaultActions()).toStringList() );
     873        set->endGroup();
     874
     875        set->beginGroup("toolbars_icon_size");
     876        toolbar1->setIconSize(set->value("toolbar1", toolbar1->iconSize()).toSize());
     877        controlwidget->setIconSize(set->value("controlwidget", controlwidget->iconSize()).toSize());
     878        controlwidget_mini->setIconSize(set->value("controlwidget_mini", controlwidget_mini->iconSize()).toSize());
     879        iw->setIconSize(set->value("floating_control", iw->iconSize()).toSize());
     880        set->endGroup();
     881
    809882        floating_control->adjustSize();
    810         set->endGroup();
    811883#endif
    812884
Note: See TracChangeset for help on using the changeset viewer.