VirtualBox

Changeset 86844 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Nov 10, 2020 8:48:40 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
141293
Message:

FE/Qt: bugref:9831. Adding print menu

Location:
trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserDialog.cpp

    r86791 r86844  
    8787        /* Configure widget: */
    8888        setWidget(pWidget);
    89         setWidgetMenu(pWidget->menu());
     89        setWidgetMenus(pWidget->menus());
    9090#ifdef VBOX_WS_MAC
    9191        setWidgetToolbar(pWidget->toolbar());
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserWidget.cpp

    r86835 r86844  
    3535#include <QMouseEvent>
    3636#include <QPixmap>
     37#include <QtPrintSupport/QPrintDialog>
     38#include <QtPrintSupport/QPrinter>
    3739#include <QPushButton>
    3840#include <QScrollBar>
     
    252254    QString documentTitle() const;
    253255    void setToolBarVisible(bool fVisible);
     256    void printCurrent(QPrinter &printer);
    254257
    255258private slots:
     
    314317    QStringList tabUrlList();
    315318    void setToolBarVisible(bool fVisible);
     319    void printCurrent(QPrinter &printer);
    316320
    317321private slots:
     
    583587}
    584588
     589void UIHelpBrowserTab::printCurrent(QPrinter &printer)
     590{
     591    if (m_pContentViewer)
     592    {
     593        m_pContentViewer->print(&printer);
     594    }
     595}
     596
    585597void UIHelpBrowserTab::prepare(const QUrl &initialUrl)
    586598{
     
    11001112        pTab->setToolBarVisible(fVisible);
    11011113    }
     1114}
     1115
     1116void UIHelpBrowserTabManager::printCurrent(QPrinter &printer)
     1117{
     1118    UIHelpBrowserTab *pTab = qobject_cast<UIHelpBrowserTab*>(currentWidget());
     1119    if (!pTab)
     1120        return;
     1121    return pTab->printCurrent(printer);
    11021122}
    11031123
     
    11881208    , m_pBookmarksWidget(0)
    11891209    , m_pSearchContainerWidget(0)
     1210    , m_pPrintDialogAction(0)
    11901211    , m_pShowHideSideBarAction(0)
    11911212    , m_pShowHideToolBarAction(0)
     
    12031224}
    12041225
    1205 QMenu *UIHelpBrowserWidget::menu() const
    1206 {
    1207     return m_pViewMenu;
     1226QList<QMenu*> UIHelpBrowserWidget::menus() const
     1227{
     1228    QList<QMenu*> menuList;
     1229    menuList
     1230        << m_pFileMenu
     1231        << m_pViewMenu;
     1232    return menuList;
    12081233}
    12091234
     
    12331258    m_pShowHideSideBarAction->setCheckable(true);
    12341259    m_pShowHideSideBarAction->setChecked(true);
    1235     connect(m_pShowHideSideBarAction, &QAction::toggled, this, &UIHelpBrowserWidget::sltHandleSideBarVisibility);
     1260    connect(m_pShowHideSideBarAction, &QAction::toggled,
     1261            this, &UIHelpBrowserWidget::sltHandleSideBarVisibility);
    12361262
    12371263    m_pShowHideToolBarAction = new QAction(this);
    12381264    m_pShowHideToolBarAction->setCheckable(true);
    12391265    m_pShowHideToolBarAction->setChecked(true);
    1240     connect(m_pShowHideToolBarAction, &QAction::toggled, this, &UIHelpBrowserWidget::sltHandleToolBarVisibility);
    1241 
    1242 
     1266    connect(m_pShowHideToolBarAction, &QAction::toggled,
     1267            this, &UIHelpBrowserWidget::sltHandleToolBarVisibility);
     1268
     1269    m_pPrintDialogAction = new QAction(this);
     1270    connect(m_pPrintDialogAction, &QAction::triggered,
     1271            this, &UIHelpBrowserWidget::sltShowPrintDialog);
    12431272}
    12441273
     
    13791408    m_pViewMenu = new QMenu(tr("View"), this);
    13801409    AssertReturnVoid(m_pViewMenu);
    1381 
    1382     m_pFileMenu->addAction("asd");
    1383     m_pViewMenu->addAction(m_pShowHideSideBarAction);
    1384     m_pViewMenu->addAction(m_pShowHideToolBarAction);
    1385 
     1410    if (m_pPrintDialogAction)
     1411        m_pFileMenu->addAction(m_pPrintDialogAction);
     1412
     1413    if (m_pShowHideSideBarAction)
     1414        m_pViewMenu->addAction(m_pShowHideSideBarAction);
     1415    if (m_pShowHideToolBarAction)
     1416        m_pViewMenu->addAction(m_pShowHideToolBarAction);
    13861417}
    13871418
     
    14901521    if (m_pShowHideToolBarAction)
    14911522        m_pShowHideToolBarAction->setText(tr("Show/Hide Tool Bar"));
     1523    if (m_pPrintDialogAction)
     1524        m_pPrintDialogAction->setText(tr("Print..."));
    14921525}
    14931526
     
    15241557    if (m_pTabManager)
    15251558        m_pTabManager->setToolBarVisible(fToggled);
     1559}
     1560
     1561void UIHelpBrowserWidget::sltShowPrintDialog()
     1562{
     1563    if (!m_pTabManager)
     1564        return;
     1565    QPrinter printer;
     1566    QPrintDialog printDialog(&printer, this);
     1567    if (printDialog.exec() == QDialog::Accepted)
     1568    {
     1569        m_pTabManager->printCurrent(printer);
     1570        //   PrintWidget(this);
     1571    }
    15261572}
    15271573
  • trunk/src/VBox/Frontends/VirtualBox/src/helpbrowser/UIHelpBrowserWidget.h

    r86835 r86844  
    7171    ~UIHelpBrowserWidget();
    7272
    73     QMenu *menu() const;
     73    QList<QMenu*> menus() const;
    7474
    7575#ifdef VBOX_WS_MAC
     
    8989    void sltHandleSideBarVisibility(bool togggled);
    9090    void sltHandleToolBarVisibility(bool togggled);
     91    void sltShowPrintDialog();
    9192    void sltHandleContentsCreated();
    9293    void sltHandleIndexingStarted();
     
    163164    UIBookmarksListContainer *m_pBookmarksWidget;
    164165    QWidget             *m_pSearchContainerWidget;
     166    QAction             *m_pPrintDialogAction;
    165167    QAction             *m_pShowHideSideBarAction;
    166168    QAction             *m_pShowHideToolBarAction;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette