VBoxVMSettingsSF.h revision fadca54d87345cebe57eaf38b6f384cf23419b23
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek/** @file
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek *
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * VBox frontends: Qt4 GUI ("VirtualBox"):
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * VBoxVMSettingsSF class declaration
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek */
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek/*
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * Copyright (C) 2006-2008 Sun Microsystems, Inc.
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek *
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * This file is part of VirtualBox Open Source Edition (OSE), as
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * available from http://www.virtualbox.org. This file is free software;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * you can redistribute it and/or modify it under the terms of the GNU
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * General Public License (GPL) as published by the Free Software
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * Foundation, in version 2 as it comes in the "COPYING" file of the
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek *
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio * Clara, CA 95054 USA or visit http://www.sun.com if you need
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek * additional information or have any questions.
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek */
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek#ifndef __VBoxVMSettingsSF_h__
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek#define __VBoxVMSettingsSF_h__
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek#include "VBoxSettingsPage.h"
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek#include "VBoxVMSettingsSF.gen.h"
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekclass SFTreeViewItem;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekenum SFDialogType
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek{
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek WrongType = 0x00,
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek GlobalType = 0x01,
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio MachineType = 0x02,
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio ConsoleType = 0x04
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek};
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozektypedef QPair<QString, SFDialogType> SFolderName;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozektypedef QList<SFolderName> SFoldersNameList;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekclass VBoxVMSettingsSF : public VBoxSettingsPage,
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek public Ui::VBoxVMSettingsSF
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek{
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek Q_OBJECT;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekpublic:
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek VBoxVMSettingsSF (int aType = WrongType, QWidget *aParent = 0);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void getFromGlobal();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void getFromMachine (const CMachine &aMachine);
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio void getFromConsole (const CConsole &aConsole);
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void putBackToGlobal();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void putBackToMachine();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void putBackToConsole();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek int dialogType() { return mDialogType; }
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekprotected:
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void getFrom (const CMachine &aMachine);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void putBackTo();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void setOrderAfter (QWidget *aWidget);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void retranslateUi();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekprivate slots:
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void addTriggered();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void edtTriggered();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void delTriggered();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void processCurrentChanged (QTreeWidgetItem *aCurrentItem,
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio QTreeWidgetItem *aPreviousItem = 0);
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio void processDoubleClick (QTreeWidgetItem *aItem, int aColumn);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void showContextMenu (const QPoint &aPos);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void adjustList();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void adjustFields();
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozekprivate:
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void showEvent (QShowEvent *aEvent);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void removeSharedFolder (const QString &aName, const QString &aPath,
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek SFDialogType aType);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void createSharedFolder (const QString &aName, const QString &aPath,
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio bool aWritable,
6df8895947fbd0a01df92b82d6f418c8202595b2Fabiano Fidêncio SFDialogType aType);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void getFrom (const CSharedFolderEnumerator &aEn, SFTreeViewItem *aItem);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek void putBackTo (CSharedFolderEnumerator &aEn, SFTreeViewItem *aItem);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek SFTreeViewItem* searchRoot (bool aIsPermanent,
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek SFDialogType aType = WrongType);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek bool isEditable (const QString &);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek SFoldersNameList usedList (bool aIncludeSelected);
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek int mDialogType;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek QMenu *mMenu;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek QAction *mNewAction;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek QAction *mEdtAction;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek QAction *mDelAction;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek bool mIsListViewChanged;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek CMachine mMachine;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek CConsole mConsole;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek QString mTrFull;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek QString mTrReadOnly;
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek};
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek#endif // __VBoxVMSettingsSF_h__
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek
ddb51fdac4fbb97a72ba70ae7345c62a03e90c26Jakub Hrozek