Changeset 188 for smplayer/trunk/src/defaultgui.cpp
- Timestamp:
- Jan 24, 2017, 12:41:54 PM (8 years ago)
- Location:
- smplayer/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
smplayer/trunk
- Property svn:mergeinfo changed
/smplayer/vendor/current merged: 186
- Property svn:mergeinfo changed
-
smplayer/trunk/src/defaultgui.cpp
r181 r188 1 1 /* smplayer, GUI front-end for mplayer. 2 Copyright (C) 2006-201 6Ricardo Villalba <rvm@users.sourceforge.net>2 Copyright (C) 2006-2017 Ricardo Villalba <rvm@users.sourceforge.net> 3 3 4 4 This program is free software; you can redistribute it and/or modify … … 51 51 #include <QMenuBar> 52 52 #include <QMovie> 53 54 #define TOOLBAR_VERSION 2 55 #define CONTROLWIDGET_VERSION 0 56 #define FLOATING_CONTROL_VERSION 1 53 #include <QtCore/qmath.h> 54 55 #define TOOLBAR_VERSION "2" 56 #define CONTROLWIDGET_VERSION "1" 57 #define CONTROLWIDGETMINI_VERSION "1" 58 #define FLOATING_CONTROL_VERSION "1" 57 59 58 60 using namespace Global; … … 63 65 createStatusBar(); 64 66 67 connect( core, SIGNAL(showTime(double)), this, SLOT(displayTime(double))); 65 68 connect( this, SIGNAL(frameChanged(int)), 66 69 this, SLOT(displayFrame(int)) ); … … 69 72 connect( this, SIGNAL(videoInfoChanged(int,int,double)), 70 73 this, SLOT(displayVideoInfo(int,int,double)) ); 74 connect( core, SIGNAL(bitrateChanged(int,int)), this, SLOT(displayBitrateInfo(int,int)) ); 71 75 72 76 createActions(); … … 187 191 format_info_display, SLOT(setVisible(bool)) ); 188 192 193 viewBitrateInfoAct = new MyAction( this, "toggle_bitrate_info" ); 194 viewBitrateInfoAct->setCheckable( true ); 195 connect( viewBitrateInfoAct, SIGNAL(toggled(bool)), 196 bitrate_info_display, SLOT(setVisible(bool)) ); 197 198 useMillisecondsAct = new MyAction( this, "use_milliseconds" ); 199 useMillisecondsAct->setCheckable( true ); 200 189 201 #if USE_CONFIGURABLE_TOOLBARS 190 202 editToolbar1Act = new MyAction( this, "edit_main_toolbar" ); … … 242 254 statusbar_menu->addAction(viewVideoInfoAct); 243 255 statusbar_menu->addAction(viewFormatInfoAct); 256 statusbar_menu->addAction(viewBitrateInfoAct); 244 257 statusbar_menu->addAction(viewFrameCounterAct); 258 statusbar_menu->addAction(useMillisecondsAct); 245 259 246 260 populateMainMenu(); … … 595 609 time_display->setText(" 88:88:88 / 88:88:88 "); 596 610 time_display->setMinimumSize(time_display->sizeHint()); 597 connect(this, SIGNAL(timeChanged(QString)), time_display, SLOT(setText(QString)));611 //connect(this, SIGNAL(timeChanged(QString)), time_display, SLOT(setText(QString))); 598 612 599 613 frame_display = new QLabel( statusBar() ); … … 620 634 format_info_display->setAlignment(Qt::AlignRight); 621 635 format_info_display->setFrameShape(QFrame::NoFrame); 636 637 bitrate_info_display = new QLabel( statusBar() ); 638 bitrate_info_display->setObjectName("bitrate_info_display"); 639 bitrate_info_display->setAlignment(Qt::AlignRight); 640 bitrate_info_display->setFrameShape(QFrame::NoFrame); 622 641 623 642 #ifdef BUFFERING_ANIMATION … … 643 662 statusBar()->setSizeGripEnabled(false); 644 663 664 statusBar()->addPermanentWidget( format_info_display ); 665 statusBar()->addPermanentWidget( bitrate_info_display ); 666 statusBar()->addPermanentWidget( ab_section_display ); 645 667 statusBar()->addPermanentWidget( video_info_display ); 646 statusBar()->addPermanentWidget( format_info_display );647 statusBar()->addPermanentWidget( ab_section_display );648 668 649 669 statusBar()->showMessage( tr("Ready") ); … … 659 679 video_info_display->hide(); 660 680 format_info_display->hide(); 681 bitrate_info_display->hide(); 661 682 } 662 683 … … 687 708 viewFrameCounterAct->change( Images::icon("frame_counter"), tr("&Frame counter") ); 688 709 viewFormatInfoAct->change( Images::icon("view_format_info"), tr("F&ormat info") ); 710 viewBitrateInfoAct->change( Images::icon("view_bitrate_info"), tr("&Bitrate info") ); 711 useMillisecondsAct->change( Images::icon("use_milliseconds"), tr("&Show the current time with milliseconds") ); 689 712 690 713 #if USE_CONFIGURABLE_TOOLBARS … … 701 724 702 725 726 void DefaultGui::displayTime(double sec) { 727 //qDebug() << "DefaultGui::displayTime:" << sec; 728 729 static int last_second = 0; 730 QString time; 731 732 if (useMillisecondsAct->isChecked()) { 733 time = Helper::formatTime2(sec) + " / " + Helper::formatTime( (int) core->mdat.duration ); 734 } else { 735 if (qFloor(sec) == last_second) return; // Update only once per second 736 last_second = qFloor(sec); 737 time = Helper::formatTime( (int) sec ) + " / " + Helper::formatTime( (int) core->mdat.duration ); 738 } 739 time_display->setText(time); 740 } 741 703 742 void DefaultGui::displayFrame(int frame) { 704 743 if (frame_display->isVisible()) { … … 734 773 } 735 774 775 void DefaultGui::displayBitrateInfo(int vbitrate, int abitrate) { 776 bitrate_info_display->setText(tr("V: %1 kbps A: %2 kbps").arg(vbitrate/1000).arg(abitrate/1000)); 777 } 778 736 779 void DefaultGui::updateWidgets() { 737 780 qDebug("DefaultGui::updateWidgets"); 738 781 739 782 BaseGuiPlus::updateWidgets(); 783 784 viewFrameCounterAct->setEnabled((PlayerID::player(pref->mplayer_bin) == PlayerID::MPLAYER)); 785 viewBitrateInfoAct->setEnabled((PlayerID::player(pref->mplayer_bin) == PlayerID::MPV)); 740 786 741 787 panel->setFocus(); … … 935 981 set->setValue("frame_counter", viewFrameCounterAct->isChecked()); 936 982 set->setValue("format_info", viewFormatInfoAct->isChecked()); 983 set->setValue("bitrate_info", viewBitrateInfoAct->isChecked()); 984 set->setValue("use_milliseconds", useMillisecondsAct->isChecked()); 937 985 938 986 set->setValue("fullscreen_toolbar1_was_visible", fullscreen_toolbar1_was_visible); … … 954 1002 #if USE_CONFIGURABLE_TOOLBARS 955 1003 set->beginGroup( "actions" ); 956 set->setValue("toolbar1 ", toolbar1->actionsToStringList() );957 set->setValue("controlwidget ", controlwidget->actionsToStringList() );958 set->setValue("controlwidget_mini ", controlwidget_mini->actionsToStringList() );1004 set->setValue("toolbar1/" TOOLBAR_VERSION, toolbar1->actionsToStringList() ); 1005 set->setValue("controlwidget/" CONTROLWIDGET_VERSION, controlwidget->actionsToStringList() ); 1006 set->setValue("controlwidget_mini/" CONTROLWIDGETMINI_VERSION, controlwidget_mini->actionsToStringList() ); 959 1007 EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget()); 960 set->setValue("floating_control", iw->actionsToStringList() ); 961 set->setValue("toolbar1_version", TOOLBAR_VERSION); 962 set->setValue("controlwidget_version", CONTROLWIDGET_VERSION); 963 set->setValue("floating_control_version", FLOATING_CONTROL_VERSION); 1008 set->setValue("floating_control/" FLOATING_CONTROL_VERSION, iw->actionsToStringList() ); 964 1009 set->endGroup(); 965 1010 … … 985 1030 viewFrameCounterAct->setChecked(set->value("frame_counter", false).toBool()); 986 1031 viewFormatInfoAct->setChecked(set->value("format_info", false).toBool()); 1032 viewBitrateInfoAct->setChecked(set->value("bitrate_info", false).toBool()); 1033 useMillisecondsAct->setChecked(set->value("use_milliseconds", false).toBool()); 987 1034 988 1035 fullscreen_toolbar1_was_visible = set->value("fullscreen_toolbar1_was_visible", fullscreen_toolbar1_was_visible).toBool(); … … 1015 1062 #if USE_CONFIGURABLE_TOOLBARS 1016 1063 set->beginGroup( "actions" ); 1017 int toolbar_version = set->value("toolbar1_version", 0).toInt(); 1018 if (toolbar_version >= TOOLBAR_VERSION) { 1019 toolbar1->setActionsFromStringList( set->value("toolbar1", toolbar1->defaultActions()).toStringList() ); 1020 } else { 1021 qDebug("DefaultGui::loadConfig: toolbar too old, loading default one"); 1022 toolbar1->setActionsFromStringList( toolbar1->defaultActions() ); 1023 } 1024 1025 int controlwidget_version = set->value("controlwidget_version", 0).toInt(); 1026 if (controlwidget_version >= CONTROLWIDGET_VERSION) { 1027 QStringList l = set->value("controlwidget", controlwidget->defaultActions()).toStringList(); 1028 #ifdef ADD_QUICK_ACCESS 1029 if (l.indexOf("quick_access_menu") == -1) l << "quick_access_menu"; 1030 #endif 1031 controlwidget->setActionsFromStringList(l); 1032 } else { 1033 controlwidget->setActionsFromStringList( controlwidget->defaultActions() ); 1034 } 1035 1036 controlwidget_mini->setActionsFromStringList( set->value("controlwidget_mini", controlwidget_mini->defaultActions()).toStringList() ); 1064 toolbar1->setActionsFromStringList( set->value("toolbar1/" TOOLBAR_VERSION, toolbar1->defaultActions()).toStringList() ); 1065 1066 { 1067 QStringList l = set->value("controlwidget/" CONTROLWIDGET_VERSION, controlwidget->defaultActions()).toStringList(); 1068 #ifdef ADD_QUICK_ACCESS 1069 if (l.indexOf("quick_access_menu") == -1) l << "quick_access_menu"; 1070 #endif 1071 controlwidget->setActionsFromStringList(l); 1072 } 1073 1074 controlwidget_mini->setActionsFromStringList( set->value("controlwidget_mini/" CONTROLWIDGETMINI_VERSION, controlwidget_mini->defaultActions()).toStringList() ); 1075 1037 1076 EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget()); 1038 1039 int floating_control_version = set->value("floating_control_version", 0).toInt(); 1040 if (floating_control_version >= FLOATING_CONTROL_VERSION) { 1041 iw->setActionsFromStringList( set->value("floating_control", iw->defaultActions()).toStringList() ); 1042 } else { 1043 qDebug("DefaultGui::loadConfig: floating control too old, loading default one"); 1044 iw->setActionsFromStringList( iw->defaultActions() ); 1045 } 1077 iw->setActionsFromStringList( set->value("floating_control/" FLOATING_CONTROL_VERSION, iw->defaultActions()).toStringList() ); 1046 1078 set->endGroup(); 1047 1079
Note:
See TracChangeset
for help on using the changeset viewer.