VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManagerPaneContainer.h

Last change on this file was 106061, checked in by vboxsync, 3 weeks ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.8 KB
RevLine 
[70027]1/* $Id: UIFileManagerPaneContainer.h 106061 2024-09-16 14:03:52Z vboxsync $ */
2/** @file
3 * VBox Qt GUI - UIVMLogViewer class declaration.
4 */
5
6/*
[106061]7 * Copyright (C) 2010-2024 Oracle and/or its affiliates.
[70027]8 *
[96407]9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
[70027]26 */
27
[101020]28#ifndef FEQT_INCLUDED_SRC_guestctrl_UIFileManagerPaneContainer_h
29#define FEQT_INCLUDED_SRC_guestctrl_UIFileManagerPaneContainer_h
[76532]30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
[70027]33
[100893]34/* Qt includes */
35#include <QWidget>
36#include <QSet>
37
[70027]38/* GUI includes: */
[100956]39#include "UIPaneContainer.h"
[75284]40#include "UIGuestControlDefs.h"
[100894]41
42#include "CProgress.h"
43
[70027]44/* Forward declarations: */
[100887]45
[100879]46class QTabWidget;
47class QCheckBox;
[100890]48class UIFileManagerLogViewer;
[100887]49class UIFileManagerOptions;
[100893]50class QScrollArea;
51class QSpacerItem;
52class QVBoxLayout;
[70027]53
[101020]54class UIFileManagerPaneContainer : public UIPaneContainer
[70027]55{
56 Q_OBJECT;
57
[100879]58signals:
59
[100893]60 /* Signal(s) related to preferences tab. */
[100887]61 void sigOptionsChanged();
[100893]62 /* Signal(s) related to operations tab. */
63 void sigFileOperationComplete(QUuid progressId);
64 void sigFileOperationFail(QString strErrorString, QString strSourceTableName, FileManagerLogType eLogType);
[100879]65
[75220]66public:
67
[101020]68 UIFileManagerPaneContainer(QWidget *pParent, UIFileManagerOptions *pFileManagerOptions);
[100890]69 void updatePreferences();
70 void appendLog(const QString &strLog, const QString &strMachineName, FileManagerLogType eLogType);
[100893]71 void addNewProgress(const CProgress &comProgress, const QString &strSourceTableName);
[100906]72
[100901]73 enum Page
74 {
75 Page_Preferences = 0,
[100906]76 Page_Operations,
[100901]77 Page_Log,
78 Page_Max
79 };
80
[70500]81protected:
[70308]82
[100895]83 virtual void contextMenuEvent(QContextMenuEvent *pEvent) final override;
[70027]84
[70500]85private slots:
[70027]86
[100893]87 /** @name Preferences tab slots
88 * @{ */
89 void sltListDirectoryCheckBoxToogled(bool bChecked);
90 void sltDeleteConfirmationCheckBoxToogled(bool bChecked);
91 void sltHumanReabableSizesCheckBoxToogled(bool bChecked);
92 void sltShowHiddenObjectsCheckBoxToggled(bool bChecked);
93 /** @} */
[72030]94
[100893]95 /** @name Operations tab slots
96 * @{ */
97 void sltRemoveFinished();
98 void sltRemoveAll();
99 void sltRemoveSelected();
100 void sltHandleWidgetFocusIn(QWidget *pWidget);
101 void sltHandleWidgetFocusOut(QWidget *pWidget);
102 void sltScrollToBottom(int iMin, int iMax);
103 /** @} */
[103923]104 void sltRetranslateUI();
[100893]105
[70500]106private:
107
[100906]108 void prepare() override;
[100879]109 void preparePreferencesTab();
[100890]110 void prepareLogTab();
[100893]111 void prepareOperationsTab();
[100890]112
[100879]113 /** @name Preferences tab
114 * @{ */
115 QCheckBox *m_pListDirectoriesOnTopCheckBox;
116 QCheckBox *m_pDeleteConfirmationCheckBox;
117 QCheckBox *m_pHumanReabableSizesCheckBox;
118 QCheckBox *m_pShowHiddenObjectsCheckBox;
[100887]119 UIFileManagerOptions *m_pFileManagerOptions;
[100879]120 /** @} */
121
[100890]122 /** @name Log tab
123 * @{ */
124 UIFileManagerLogViewer *m_pLogTextEdit;
125 /** @} */
[100879]126
[100893]127 /** @name Operations tab
128 * @{ */
129 QScrollArea *m_pScrollArea;
130 QVBoxLayout *m_pOperationsTabLayout;
131 QSpacerItem *m_pContainerSpaceItem;
132 QWidget *m_pWidgetInFocus;
133 QSet<QWidget*> m_widgetSet;
134 /** @} */
[70027]135};
136
[101020]137#endif /* !FEQT_INCLUDED_SRC_guestctrl_UIFileManagerPaneContainer_h */
Note: See TracBrowser for help on using the repository browser.

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