Changeset 163 for smplayer/vendor/current/src/defaultgui.cpp
- Timestamp:
- May 15, 2014, 7:53:54 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
smplayer/vendor/current/src/defaultgui.cpp
r154 r163 1 1 /* smplayer, GUI front-end for mplayer. 2 Copyright (C) 2006-201 3Ricardo Villalba <rvm@users.sourceforge.net>2 Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net> 3 3 4 4 This program is free software; you can redistribute it and/or modify … … 27 27 #include "myaction.h" 28 28 #include "images.h" 29 #include " floatingwidget.h"29 #include "autohidewidget.h" 30 30 #include "desktopinfo.h" 31 31 #include "editabletoolbar.h" … … 61 61 this, SLOT(displayVideoInfo(int,int,double)) ); 62 62 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 70 63 createActions(); 71 64 createMainToolBars(); … … 82 75 connect( editControl2Act, SIGNAL(triggered()), 83 76 controlwidget_mini, SLOT(edit()) ); 84 floating_control->toolbar()->takeAvailableActionsFrom(this); 77 EditableToolbar * iw = static_cast<EditableToolbar *>(floating_control->internalWidget()); 78 iw->takeAvailableActionsFrom(this); 85 79 connect( editFloatingControlAct, SIGNAL(triggered()), 86 floating_control->toolbar(), SLOT(edit()) );80 iw, SLOT(edit()) ); 87 81 #endif 88 82 … … 99 93 toolbar1->hide(); 100 94 toolbar2->hide(); 95 96 if (pref->floating_display_in_compact_mode) { 97 reconfigureFloatingControl(); 98 floating_control->activate(); 99 } 101 100 } 102 101 } 103 102 104 103 DefaultGui::~DefaultGui() { 104 qDebug("DefaultGui::~DefaultGui"); 105 105 saveConfig(); 106 106 } … … 381 381 void DefaultGui::createFloatingControl() { 382 382 // 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"); 385 388 386 389 #if USE_CONFIGURABLE_TOOLBARS … … 399 402 #endif 400 403 floatingcontrol_actions << "separator" << "fullscreen" << "mute" << "volumeslider_action" << "separator" << "timelabel_action"; 401 floating_control->toolbar()->setDefaultActions(floatingcontrol_actions);404 iw->setDefaultActions(floatingcontrol_actions); 402 405 #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(); 407 410 408 411 #if MINI_ARROW_BUTTONS 409 floating_control->toolbar()->addAction( rewindbutton_action );412 iw->addAction( rewindbutton_action ); 410 413 #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); 414 417 #endif 415 418 416 floating_control->toolbar()->addAction(timeslider_action);419 iw->addAction(timeslider_action); 417 420 418 421 #if MINI_ARROW_BUTTONS 419 floating_control->toolbar()->addAction( forwardbutton_action );422 iw->addAction( forwardbutton_action ); 420 423 #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); 424 427 #endif 425 428 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); 432 435 #endif // USE_CONFIGURABLE_TOOLBARS 436 437 floating_control->setInternalWidget(iw); 433 438 434 439 #if defined(Q_OS_WIN) || defined(Q_OS_OS2) … … 438 443 floating_control->addAction(exitAct); 439 444 */ 440 floating_control->addActions(actions());445 //floating_control->addActions(actions()); 441 446 #endif 442 447 … … 444 449 floating_control->adjustSize(); 445 450 #endif 451 452 floating_control->hide(); 446 453 } 447 454 … … 475 482 video_info_display->setFrameShape(QFrame::NoFrame); 476 483 477 statusBar()->setAutoFillBackground( TRUE);484 statusBar()->setAutoFillBackground(true); 478 485 479 486 ColorUtils::setBackgroundColor( statusBar(), QColor(0,0,0) ); … … 487 494 ColorUtils::setBackgroundColor( video_info_display, QColor(0,0,0) ); 488 495 ColorUtils::setForegroundColor( video_info_display, QColor(255,255,255) ); 489 statusBar()->setSizeGripEnabled( FALSE);496 statusBar()->setSizeGripEnabled(false); 490 497 491 498 statusBar()->addPermanentWidget( video_info_display ); … … 557 564 ab_section_display->setText( s ); 558 565 559 ab_section_display->set Shown( !s.isEmpty() );566 ab_section_display->setVisible( !s.isEmpty() ); 560 567 } 561 568 562 569 void 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 } 564 575 } 565 576 … … 572 583 } 573 584 585 void 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 598 void 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 574 606 void DefaultGui::aboutToEnterFullscreen() { 575 607 qDebug("DefaultGui::aboutToEnterFullscreen"); 576 608 577 609 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 578 616 579 617 // Save visibility of toolbars … … 596 634 BaseGuiPlus::aboutToExitFullscreen(); 597 635 598 floating_control->hide(); 636 // Hide floating_control 637 if (!pref->compact_mode || !pref->floating_display_in_compact_mode) { 638 floating_control->deactivate(); 639 } 599 640 600 641 if (!pref->compact_mode) { … … 611 652 612 653 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 613 661 614 662 // Save visibility of toolbars … … 627 675 BaseGuiPlus::aboutToExitCompactMode(); 628 676 677 // Hide floating_control 678 if (pref->floating_display_in_compact_mode) { 679 floating_control->deactivate(); 680 } 681 629 682 //menuBar()->show(); 630 683 //statusBar()->show(); … … 636 689 // Recheck size of controlwidget 637 690 resizeEvent( new QResizeEvent( size(), size() ) ); 638 }639 640 void DefaultGui::showFloatingControl(QPoint /*p*/) {641 qDebug("DefaultGui::showFloatingControl");642 643 #if CONTROLWIDGET_OVER_VIDEO644 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_WIN651 floating_control->setBypassWindowManager(pref->bypass_window_manager);652 #endif653 floating_control->showOver(panel, pref->floating_control_width);654 #else655 if (!controlwidget->isVisible()) {656 controlwidget->show();657 }658 #endif659 }660 661 void DefaultGui::showFloatingMenu(QPoint /*p*/) {662 #if !CONTROLWIDGET_OVER_VIDEO663 qDebug("DefaultGui::showFloatingMenu");664 665 if (!menuBar()->isVisible())666 menuBar()->show();667 #endif668 }669 670 void DefaultGui::hideFloatingControls() {671 qDebug("DefaultGui::hideFloatingControls");672 673 #if CONTROLWIDGET_OVER_VIDEO674 floating_control->hide();675 #else676 if (controlwidget->isVisible())677 controlwidget->hide();678 679 if (menuBar()->isVisible())680 menuBar()->hide();681 #endif682 691 } 683 692 … … 742 751 set->setValue("controlwidget", controlwidget->actionsToStringList() ); 743 752 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() ); 745 755 set->setValue("toolbar1_version", TOOLBAR_VERSION); 746 756 set->endGroup(); … … 795 805 controlwidget->setActionsFromStringList( set->value("controlwidget", controlwidget->defaultActions()).toStringList() ); 796 806 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(); 799 810 set->endGroup(); 800 811 #endif
Note:
See TracChangeset
for help on using the changeset viewer.