VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox4/include/VBoxFilePathSelectorWidget.h@ 10741

Last change on this file since 10741 was 10741, checked in by vboxsync, 16 years ago

FE/Qt4: Make the reset functionality optional.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * VirtualBox Qt extensions: VBoxFilePathSelectorWidget class declaration
5 */
6
7/*
8 * Copyright (C) 2008 Sun Microsystems, Inc.
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 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19 * Clara, CA 95054 USA or visit http://www.sun.com if you need
20 * additional information or have any questions.
21 */
22
23#ifndef __VBoxFilePathSelectorWidget_h__
24#define __VBoxFilePathSelectorWidget_h__
25
26#include "QIWithRetranslateUI.h"
27
28/* Qt includes */
29#include <QWidget>
30
31#ifdef Q_WS_MAC
32#define VBOX_USE_COMBOBOX_PATH_SELECTOR
33#endif /* Q_WS_MAC */
34
35class QLabel;
36class QLineEdit;
37class QToolButton;
38class QFileIconProvider;
39class QComboBox;
40
41class VBoxFilePathSelectorWidget: public QIWithRetranslateUI<QWidget>
42{
43 Q_OBJECT;
44
45public:
46
47 enum SelectorMode
48 {
49 PathMode = 0,
50 FileMode
51 };
52
53 VBoxFilePathSelectorWidget (QWidget *aParent = NULL);
54 ~VBoxFilePathSelectorWidget();
55
56 void setMode (SelectorMode aMode);
57 SelectorMode mode() const;
58
59 void setResetEnabled (bool aEnabled);
60 bool isResetEnabled () const;
61
62 void setLineEditWhatsThis (const QString &aText);
63 void setSelectorWhatsThis (const QString &aText);
64 void setResetWhatsThis (const QString &aText);
65
66 bool isModified() const;
67
68public slots:
69
70 void setPath (const QString &aPath);
71 QString path() const;
72
73signals:
74
75 void selectPath();
76 void resetPath();
77
78protected:
79
80 void retranslateUi();
81
82private slots:
83
84 void cbActivated (int aIndex);
85
86private:
87
88 void init();
89 QIcon defaultIcon() const;
90 QString filePath (const QString &aName, bool bLast) const;
91
92 /* Private member vars */
93 SelectorMode mMode;
94 QString mPath;
95 QString mNoneStr;
96
97#ifdef VBOX_USE_COMBOBOX_PATH_SELECTOR
98 QComboBox *mCbPath;
99#else /* VBOX_USE_COMBOBOX_PATH_SELECTOR */
100 QLabel *mLbIcon;
101 QLineEdit *mLePath;
102 QToolButton *mTbSelect;
103 QToolButton *mTbReset;
104#endif /* !VBOX_USE_COMBOBOX_PATH_SELECTOR */
105
106 QFileIconProvider *mIconProvider;
107};
108
109#endif /* __VBoxFilePathSelectorWidget_h__ */
110
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