VBoxVMSettingsSF.h revision e2de40b4b54a8ea51348be768ddcd3ecd753d7b6
083dd76e9fd7a829b1ed67ffc9003276643e7db1vboxsync/** @file
85c594c1140f082dd862abde9dc7825137a3d51avboxsync *
083dd76e9fd7a829b1ed67ffc9003276643e7db1vboxsync * VBox frontends: Qt4 GUI ("VirtualBox"):
85c594c1140f082dd862abde9dc7825137a3d51avboxsync * VBoxVMSettingsSF class declaration
85c594c1140f082dd862abde9dc7825137a3d51avboxsync */
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync/*
85c594c1140f082dd862abde9dc7825137a3d51avboxsync * Copyright (C) 2008-2009 Sun Microsystems, Inc.
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync *
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync * available from http://www.virtualbox.org. This file is free software;
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync * you can redistribute it and/or modify it under the terms of the GNU
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync * General Public License (GPL) as published by the Free Software
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync *
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
85c594c1140f082dd862abde9dc7825137a3d51avboxsync * additional information or have any questions.
85c594c1140f082dd862abde9dc7825137a3d51avboxsync */
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
85c594c1140f082dd862abde9dc7825137a3d51avboxsync#ifndef __VBoxVMSettingsSF_h__
85c594c1140f082dd862abde9dc7825137a3d51avboxsync#define __VBoxVMSettingsSF_h__
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
85c594c1140f082dd862abde9dc7825137a3d51avboxsync/* Local includes */
85c594c1140f082dd862abde9dc7825137a3d51avboxsync#include "VBoxSettingsPage.h"
85c594c1140f082dd862abde9dc7825137a3d51avboxsync#include "VBoxVMSettingsSF.gen.h"
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
b29e03c9044019d9c77222336e8f8616052824f5vboxsync/* Local forwards */
87b2fb3f8283472ba7010aedbf2b4dc12302155cvboxsyncclass SFTreeViewItem;
87b2fb3f8283472ba7010aedbf2b4dc12302155cvboxsync
11a862be79fe123488bccca60c06e92cdbfec6e8vboxsyncenum SFDialogType
87b2fb3f8283472ba7010aedbf2b4dc12302155cvboxsync{
e38719852d98638514dba23fbacf53ad11361d6avboxsync WrongType = 0x00,
85c594c1140f082dd862abde9dc7825137a3d51avboxsync GlobalType = 0x01,
85c594c1140f082dd862abde9dc7825137a3d51avboxsync MachineType = 0x02,
85c594c1140f082dd862abde9dc7825137a3d51avboxsync ConsoleType = 0x04
85c594c1140f082dd862abde9dc7825137a3d51avboxsync};
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsynctypedef QPair <QString, SFDialogType> SFolderName;
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsynctypedef QList <SFolderName> SFoldersNameList;
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsync
85c594c1140f082dd862abde9dc7825137a3d51avboxsyncclass VBoxVMSettingsSF : public VBoxSettingsPage, public Ui::VBoxVMSettingsSF
3598f07e0e71a448a04d478320a9ca6314160ff6vboxsync{
083dd76e9fd7a829b1ed67ffc9003276643e7db1vboxsync Q_OBJECT;
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsyncpublic:
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsync
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsync VBoxVMSettingsSF (int aType = WrongType, QWidget *aParent = 0);
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsync
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsync void getFromGlobal();
8ab60c04baaf509b2aaae2a260adaf1281aaac03vboxsync void getFromMachine (const CMachine &aMachine);
8ab60c04baaf509b2aaae2a260adaf1281aaac03vboxsync void getFromConsole (const CConsole &aConsole);
8ab60c04baaf509b2aaae2a260adaf1281aaac03vboxsync
463d00559e51c6e08ccc9f5a77d2ee6d122b6e8cvboxsync void putBackToGlobal();
6edb4183bc898fddcd0987b6c5c3903b8246fe45vboxsync void putBackToMachine();
85c594c1140f082dd862abde9dc7825137a3d51avboxsync void putBackToConsole();
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
85c594c1140f082dd862abde9dc7825137a3d51avboxsync int dialogType() const;
85c594c1140f082dd862abde9dc7825137a3d51avboxsync
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsyncprotected:
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync void getFrom (const CMachine &aMachine);
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync void putBackTo();
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync
85c594c1140f082dd862abde9dc7825137a3d51avboxsync void setOrderAfter (QWidget *aWidget);
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void retranslateUi();
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsyncprivate slots:
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync void addTriggered();
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void edtTriggered();
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void delTriggered();
4ad933b349952e43d0b6ce21b3f5e2833ca04e85vboxsync
85c594c1140f082dd862abde9dc7825137a3d51avboxsync void processCurrentChanged (QTreeWidgetItem *aCurrentItem);
85c594c1140f082dd862abde9dc7825137a3d51avboxsync void processDoubleClick (QTreeWidgetItem *aItem);
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync void showContextMenu (const QPoint &aPos);
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync void adjustList();
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void adjustFields();
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsyncprivate:
98da2c2cca8786e117ad93a31c6b2c6c1c3cdc78vboxsync
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void showEvent (QShowEvent *aEvent);
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void createSharedFolder (const QString &aName, const QString &aPath, bool aWritable, SFDialogType aType);
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void removeSharedFolder (const QString &aName, const QString &aPath, SFDialogType aType);
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync void getFrom (const CSharedFolderVector &aVec, SFTreeViewItem *aItem);
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync void putBackTo (CSharedFolderVector &aVec, SFTreeViewItem *aItem);
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync
507ebf9b3b77c84000a55645867db6617b5324bcvboxsync SFTreeViewItem* searchRoot (bool aIsPermanent, SFDialogType aType = WrongType);
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync bool isEditable (const QString &aKey);
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync SFoldersNameList usedList (bool aIncludeSelected);
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync int mDialogType;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync QAction *mNewAction;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync QAction *mEdtAction;
85c594c1140f082dd862abde9dc7825137a3d51avboxsync QAction *mDelAction;
34822e8b7d00c04a0bc98c0d1a565a00d9bb1fd9vboxsync bool mIsListViewChanged;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync CMachine mMachine;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync CConsole mConsole;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync QString mTrFull;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync QString mTrReadOnly;
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync};
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync#endif // __VBoxVMSettingsSF_h__
fde449f361029c75f9bf28f145bd1ba7b36a9c77vboxsync