VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/include/VBoxSelectorWnd.h@ 2997

Last change on this file since 2997 was 2996, checked in by vboxsync, 17 years ago

1952: Easy way to store the RELEASE log using the GUI:

  1. Removed on/of action logic from the LogViewer.
  2. Log text browser is 80 chars wide by default.
  3. Tab widget margin 10 px wide.
  4. Date+Time in the file name to save as is not have leading zeros stripped.
  5. The entire tab widget is disabled when there are no logs and an appropriate message is shown inside.
  6. The log window is not always "on-top" of the main selector and have its own task bar entry.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * VBoxSelectorWnd class declaration
5 */
6
7/*
8 * Copyright (C) 2006-2007 innotek GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * If you received this file as part of a commercial VirtualBox
19 * distribution, then only the terms of your commercial VirtualBox
20 * license agreement apply instead of the previous paragraph.
21 */
22
23#ifndef __VBoxSelectorWnd_h__
24#define __VBoxSelectorWnd_h__
25
26#include "COMDefs.h"
27
28#include "VBoxGlobal.h"
29
30#include <qapplication.h>
31#include <qmainwindow.h>
32#include <qgroupbox.h>
33#include <qaction.h>
34
35#include <qvaluelist.h>
36
37class VBoxVMListBox;
38class VBoxSnapshotsWgt;
39class VBoxVMDetailsView;
40class VBoxVMDescriptionPage;
41class VBoxVMLogViewer;
42
43class QLabel;
44class QTextBrowser;
45class QTabWidget;
46struct QUuid;
47
48class VBoxSelectorWnd : public QMainWindow
49{
50 Q_OBJECT
51
52public:
53
54 VBoxSelectorWnd (VBoxSelectorWnd **aSelf,
55 QWidget* aParent = 0, const char* aName = 0,
56 WFlags aFlags = WType_TopLevel);
57 virtual ~VBoxSelectorWnd();
58
59 bool startMachine (const QUuid &id);
60
61public slots:
62
63 void fileDiskMgr();
64 void fileSettings();
65 void fileExit();
66
67 void vmNew();
68 void vmSettings (const QString &aCategory = QString::null,
69 const QString &aControl = QString::null);
70 void vmDelete();
71 void vmStart();
72 void vmDiscard();
73 void vmRefresh();
74 void vmShowLogs();
75
76 void refreshVMList();
77 void refreshVMItem (const QUuid &aID, bool aDetails,
78 bool aSnapshots,
79 bool aDescription);
80
81 void showHelpContents();
82
83protected:
84
85 /* events */
86 bool event (QEvent *e);
87
88protected slots:
89
90private:
91
92 void languageChange();
93
94private slots:
95
96 void vmListBoxCurrentChanged (bool aRefreshDetails = true,
97 bool aRefreshSnapshots = true,
98 bool aRefreshDescription = true);
99
100 void mediaEnumStarted();
101 void mediaEnumFinished (const VBoxMediaList &);
102
103 /* VirtualBox callback events we're interested in */
104
105 void machineStateChanged (const VBoxMachineStateChangeEvent &e);
106 void machineDataChanged (const VBoxMachineDataChangeEvent &e);
107 void machineRegistered (const VBoxMachineRegisteredEvent &e);
108 void sessionStateChanged (const VBoxSessionStateChangeEvent &e);
109 void snapshotChanged (const VBoxSnapshotEvent &e);
110
111private:
112
113 /* actions */
114 QAction *fileDiskMgrAction;
115 QAction *fileSettingsAction;
116 QAction *fileExitAction;
117 QAction *vmNewAction;
118 QAction *vmConfigAction;
119 QAction *vmDeleteAction;
120 QAction *vmStartAction;
121 QAction *vmDiscardAction;
122 QAction *vmRefreshAction;
123 QAction *vmShowLogsAction;
124 QAction *helpContentsAction;
125 QAction *helpWebAction;
126 QAction *helpAboutAction;
127 QAction *helpResetMessagesAction;
128
129 /* widgets */
130 VBoxVMListBox *vmListBox;
131 QTabWidget *vmTabWidget;
132 VBoxVMDetailsView *vmDetailsView;
133 VBoxSnapshotsWgt *vmSnapshotsWgt;
134 VBoxVMDescriptionPage *vmDescriptionPage;
135
136 QValueList <CSession> sessions;
137
138 QPoint normal_pos;
139 QSize normal_size;
140
141 bool doneInaccessibleWarningOnce : 1;
142};
143
144#endif // __VBoxSelectorWnd_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