~ubuntu-branches/ubuntu/trusty/virtualbox/trusty-proposed

« back to all changes in this revision

Viewing changes to src/VBox/Frontends/VirtualBox/src/VBoxMediaManagerDlg.h

  • Committer: Package Import Robot
  • Author(s): Felix Geyer
  • Date: 2013-03-07 16:38:36 UTC
  • mfrom: (1.1.13) (3.1.20 experimental)
  • Revision ID: package-import@ubuntu.com-20130307163836-p93jpbgx39tp3gb4
Tags: 4.2.8-dfsg-0ubuntu1
* New upstream release. (Closes: #691148)
  - Fixes compatibility with kernel 3.8. (Closes: #700823; LP: #1101867)
* Switch to my @debian.org email address.
* Move package to contrib as virtualbox 4.2 needs a non-free compiler to
  build the BIOS.
* Build-depend on libdevmapper-dev.
* Refresh patches.
  - Drop 36-fix-ftbfs-xserver-112.patch, cve-2012-3221.patch,
    CVE-2013-0420.patch 37-kcompat-3.6.patch and 38-kcompat-3.7.patch.
* Drop all virtualbox-ose transitional packages.
* Drop the virtualbox-fuse package as vdfuse fails to build with
  virtualbox 4.2.
* Update install files and VBox.sh.
* Bump required kbuild version to 0.1.9998svn2577.
* Fix path to VBoxCreateUSBNode.sh in virtualbox.postinst. (Closes: #700479)
* Add an init script to virtuabox-guest-x11 which loads the vboxvideo
  kernel module. The X Server 1.13 doesn't load it anymore. (Closes: #686994)
* Update man pages. (Closes: #680053)
* Add 36-python-multiarch.patch from Rico Tzschichholz to fix detection of
  python in multiarch paths using pkg-config.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/** @file
2
 
 *
3
 
 * VBox frontends: Qt4 GUI ("VirtualBox"):
4
 
 * VBoxMediaManagerDlg class declaration
5
 
 */
6
 
 
7
 
/*
8
 
 * Copyright (C) 2006-2009 Oracle Corporation
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 (GPL) as published by the Free Software
14
 
 * Foundation, in version 2 as it comes in the "COPYING" file of the
15
 
 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16
 
 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17
 
 */
18
 
 
19
 
#ifndef __VBoxMediaManagerDlg_h__
20
 
#define __VBoxMediaManagerDlg_h__
21
 
 
22
 
/* Local includes */
23
 
#include "VBoxMediaManagerDlg.gen.h"
24
 
#include "COMDefs.h"
25
 
#include "QIMainDialog.h"
26
 
#include "QIWithRetranslateUI.h"
27
 
#include "VBoxDefs.h"
28
 
#include "VBoxMediaComboBox.h"
29
 
 
30
 
/* Local forwards */
31
 
class MediaItem;
32
 
class VBoxProgressBar;
33
 
class UIToolBar;
34
 
 
35
 
class VBoxMediaManagerDlg : public QIWithRetranslateUI2<QIMainDialog>,
36
 
                            public Ui::VBoxMediaManagerDlg
37
 
{
38
 
    Q_OBJECT;
39
 
 
40
 
    enum TabIndex { HDTab = 0, CDTab, FDTab };
41
 
    enum ItemAction { ItemAction_Added, ItemAction_Updated, ItemAction_Removed };
42
 
    enum Action { Action_Select, Action_Edit, Action_Copy, Action_Modify, Action_Remove, Action_Release };
43
 
 
44
 
public:
45
 
 
46
 
    VBoxMediaManagerDlg (QWidget *aParent = NULL,
47
 
                         Qt::WindowFlags aFlags = Qt::Dialog);
48
 
    ~VBoxMediaManagerDlg();
49
 
 
50
 
    void setup (VBoxDefs::MediumType aType, bool aDoSelect,
51
 
                bool aRefresh = true,
52
 
                const CMachine &aSessionMachine = CMachine(),
53
 
                const QString &aSelectId = QString::null,
54
 
                bool aShowDiffs = true,
55
 
                const QStringList &aUsedMediaIds = QStringList());
56
 
 
57
 
    static void showModeless (QWidget *aParent = NULL, bool aRefresh = true);
58
 
 
59
 
    QString selectedId() const;
60
 
    QString selectedLocation() const;
61
 
 
62
 
    bool showDiffs() const { return mShowDiffs; };
63
 
    bool inAttachMode() const { return !mSessionMachine.isNull(); };
64
 
 
65
 
public slots:
66
 
 
67
 
    void refreshAll();
68
 
 
69
 
protected:
70
 
 
71
 
    void retranslateUi();
72
 
    virtual void closeEvent (QCloseEvent *aEvent);
73
 
    virtual bool eventFilter (QObject *aObject, QEvent *aEvent);
74
 
 
75
 
private slots:
76
 
 
77
 
    void mediumAdded (const VBoxMedium &aMedium);
78
 
    void mediumUpdated (const VBoxMedium &aMedium);
79
 
    void mediumRemoved (VBoxDefs::MediumType aType, const QString &aId);
80
 
 
81
 
    void mediumEnumStarted();
82
 
    void mediumEnumerated (const VBoxMedium &aMedium);
83
 
    void mediumEnumFinished (const VBoxMediaList &aList);
84
 
 
85
 
    void doNewMedium();
86
 
    void doAddMedium();
87
 
    void doCopyMedium();
88
 
    void doModifyMedium();
89
 
    void doRemoveMedium();
90
 
    void doReleaseMedium();
91
 
 
92
 
    bool releaseMediumFrom (const VBoxMedium &aMedium, const QString &aMachineId);
93
 
 
94
 
    void processCurrentChanged (int index = -1);
95
 
    void processCurrentChanged (QTreeWidgetItem *aItem, QTreeWidgetItem *aPrevItem = 0);
96
 
    void processDoubleClick (QTreeWidgetItem *aItem, int aColumn);
97
 
    void showContextMenu (const QPoint &aPos);
98
 
 
99
 
    void machineStateChanged(QString strId, KMachineState state);
100
 
 
101
 
    void makeRequestForAdjustTable();
102
 
    void performTablesAdjustment();
103
 
 
104
 
private:
105
 
 
106
 
    QTreeWidget* treeWidget (VBoxDefs::MediumType aType) const;
107
 
    VBoxDefs::MediumType currentTreeWidgetType() const;
108
 
    QTreeWidget* currentTreeWidget() const;
109
 
 
110
 
    QTreeWidgetItem* selectedItem (const QTreeWidget *aTree) const;
111
 
    MediaItem* toMediaItem (QTreeWidgetItem *aItem) const;
112
 
 
113
 
    void setCurrentItem (QTreeWidget *aTree, QTreeWidgetItem *aItem);
114
 
 
115
 
    void addMediumToList (const QString &aLocation, VBoxDefs::MediumType aType);
116
 
 
117
 
    MediaItem* createHardDiskItem (QTreeWidget *aTree, const VBoxMedium &aMedium) const;
118
 
 
119
 
    void updateTabIcons (MediaItem *aItem, ItemAction aAction);
120
 
 
121
 
    MediaItem* searchItem (QTreeWidget *aTree, const QString &aId) const;
122
 
 
123
 
    bool checkMediumFor (MediaItem *aItem, Action aAction);
124
 
 
125
 
    bool checkDndUrls (const QList<QUrl> &aUrls) const;
126
 
    void addDndUrls (const QList<QUrl> &aUrls);
127
 
 
128
 
    void clearInfoPanes();
129
 
    void prepareToRefresh (int aTotal = 0);
130
 
 
131
 
    QString formatPaneText (const QString &aText, bool aCompact = true, const QString &aElipsis = "middle");
132
 
 
133
 
    /* Private member vars */
134
 
    /* Window status */
135
 
    bool mDoSelect;
136
 
    static VBoxMediaManagerDlg *mModelessDialog;
137
 
    VBoxProgressBar *mProgressBar;
138
 
 
139
 
    /* The global VirtualBox instance */
140
 
    CVirtualBox mVBox;
141
 
 
142
 
    /* Type if we are in the select modus */
143
 
    int mType;
144
 
 
145
 
    bool mShowDiffs : 1;
146
 
    bool mSetupMode : 1;
147
 
 
148
 
    /* Icon definitions */
149
 
    QIcon mHardDiskIcon;
150
 
    QIcon mDVDImageIcon;
151
 
    QIcon mFloppyImageIcon;
152
 
 
153
 
    /* Menu & Toolbar */
154
 
    QMenu       *mActionsContextMenu;
155
 
    QMenu       *mActionsMenu;
156
 
    UIToolBar *mToolBar;
157
 
    QAction     *mNewAction;
158
 
    QAction     *mAddAction;
159
 
    QAction     *mCopyAction;
160
 
    QAction     *mModifyAction;
161
 
    QAction     *mRemoveAction;
162
 
    QAction     *mReleaseAction;
163
 
    QAction     *mRefreshAction;
164
 
 
165
 
    /* Machine */
166
 
    CMachine mSessionMachine;
167
 
    QString  mSessionMachineId;
168
 
    bool mHardDisksInaccessible;
169
 
    bool mDVDImagesInaccessible;
170
 
    bool mFloppyImagesInaccessible;
171
 
    QString mHDSelectedId;
172
 
    QString mCDSelectedId;
173
 
    QString mFDSelectedId;
174
 
    QStringList mUsedMediaIds;
175
 
};
176
 
 
177
 
#endif /* __VBoxMediaManagerDlg_h__ */
178