VBoxHardDiskSettings.ui.h revision e9a584ee0777ab2612e206eeec264ccb1a8ce333
/**
*
* VBox frontends: Qt GUI ("VirtualBox"):
* VBoxHardDiskSettings widget UI include (Qt Designer)
*/
/*
* Copyright (C) 2008 Sun Microsystems, Inc.
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you wish to add, delete or rename functions or slots use
** Qt Designer which will update this file, preserving your code. Create an
** init() function in place of a constructor, and a destroy() function in
** place of a destructor.
*****************************************************************************/
/** SATA Ports count */
/** Combines the string and the numeric representation of the hard disk slot. */
struct HDSlot
{
};
/**
* QObject class reimplementation to use for making selected IDE & SATA
* slots unique.
*/
{
{
/* Compose Lists */
makeIDEList();
makeSATAList();
}
int getSATAPortsCount()
{
return mSataPortsCount;
}
void setSATAPortsCount (int aSataPortsCount)
{
makeSATAList();
}
{
if (!result)
return;
emit listChanged();
}
{
if (index == -1)
return;
emit listChanged();
}
void listChanged();
void makeIDEList()
{
/* IDE Primary Master */
KStorageBus_IDE, 0, 0);
/* IDE Primary Slave */
KStorageBus_IDE, 0, 1);
/* IDE Secondary Slave */
emit listChanged();
}
void makeSATAList()
{
for (int i = 0; i < mSataPortsCount; ++ i)
KStorageBus_SATA, i, 0);
emit listChanged();
}
int mSataPortsCount;
};
/**
* QComboBox class reimplementation to use as an editor for the device slot
* column.
*/
{
{
/* In some qt themes embedded list-box is not used by default */
if (!listBox())
refresh();
}
~HDSlotItem()
{
}
static int scrollBarWidth()
{
}
{
emit textChanged();
}
KStorageBus currentBus() const
{
}
LONG currentChannel() const
{
0);
}
LONG currentDevice() const
{
0);
}
void refresh()
{
clear();
bool setCurrent = false;
{
if (!setCurrent)
}
if (setCurrent)
}
void updateToolTip()
{
{
}
}
void textChanged();
};
{
if (!aFilter)
return list;
/* Compose exclude list */
if (mSubscribersList [i] != aSubscriber)
/* Filter the list */
{
else
++ it;
}
return list;
}
/**
* VBoxMediaComboBox class reimplementation to use as an editor for the hard
* disk column.
*/
{
{
}
void onThisActivated (int)
{
}
};
{
enum { HDSpaceItemType = 1011 };
: QListViewItem (aParent)
{
setSelectable (false);
}
int rtti() const { return HDSpaceItemType; }
};
{
enum { HDListItemType = 1010 };
const QUuid &aMachineId)
, mFocusColumn (-1)
, mAutoFocus (false)
{
}
const QUuid &aMachineId)
: QListViewItem (aParent)
, mFocusColumn (-1)
, mAutoFocus (false)
{
}
{
mHDCombo->deleteLater();
}
int rtti() const { return HDListItemType; }
{
}
{
NULL);
}
void moveFocusToColumn (int aCol)
{
mFocusColumn = aCol;
repaint();
}
void setAutoFocus (bool aOn)
{
mAutoFocus = aOn;
}
void showEditor()
{
if (mFocusColumn >= 0)
{
}
}
int focusColumn() const
{
return mFocusColumn;
}
{
}
int hardDiskCount()
{
return 0; /* ignore the "no media" item */
return count;
}
{
{
{
break;
}
}
}
void setShowDiffs (bool aOn)
{
{
}
}
const QUuid &aMachineId)
{
setSelectable (false);
mCombos [0] = mSlotCombo;
aMachineId, this);
/* populate the media combobox */
#ifdef Q_WS_MAC
/* White background on Mac OS X */
#endif /* Q_WS_MAC */
mSlotCombo->setHidden (true);
}
{
/// to the appropriate places like focus handling routines
if (aColumn == mFocusColumn)
{
int indent = 0;
for (int i = 0; i < aColumn; ++ i)
return;
}
}
{
/* Do not paint focus, because it presented by combo-box */
}
void setup()
{
QListViewItem::setup();
/* Increasing item's height by 30% */
}
int mFocusColumn;
bool mAutoFocus;
};
{
};
void VBoxHardDiskSettings::init()
{
mPrevItem = 0;
/* toolbar */
toolBar->setUsesTextLabel (false);
toolBar->setUsesBigPixmaps (false);
#ifdef Q_WS_MAC
toolBar->setMacStyle();
#endif
/* context menu */
/* icons */
/* rest */
}
{
{
{
/* hide the SATA check box if the SATA controller is not available
* (i.e. in VirtualBox OSE) */
mSATACheck->setHidden (true);
}
else
{
}
}
{
}
mLvHD->setSortColumn (0);
}
void VBoxHardDiskSettings::putBackToMachine()
{
{
}
/* Detach all attached Hard Disks */
{
}
/* Sort & attach all listed Hard Disks */
mLvHD->setSortColumn (0);
{
continue;
}
{
}
}
{
/* Search for coincidences through all the media-id */
{
continue;
{
break;
}
{
"attached to <i>%2</i>")
break;
}
else
{
}
}
return result;
}
void VBoxHardDiskSettings::addHDItem()
{
/* Create a new item */
/* Qt3 doesn't emit currentChanged() signal when the first item is added */
/* Search through the attachments for the used hard disks */
{
continue;
}
/* Ask the user for a method to add a new hard disk */
{
{
}
}
}
void VBoxHardDiskSettings::delHDItem()
{
if (mLvHD->currentItem())
{
{
mPrevItem = 0;
if (mLvHD->currentItem() &&
}
}
}
void VBoxHardDiskSettings::showMediaManager()
{
mShowDiffsCheck->isOn());
}
{
{
}
}
{
/* Postpone onCurrentChanged signal to be post-processed after all others */
}
{
if (!aOn)
{
/* Search the list for the SATA ports */
{
continue;
{
break;
}
}
/* If list contains at least one SATA port */
if (sataItem)
{
{
/* Switch check-box back to "on" */
mSATACheck->blockSignals (true);
mSATACheck->setChecked (true);
mSATACheck->blockSignals (false);
return;
}
else
{
/* Delete SATA items */
mLvHD->blockSignals (true);
{
{
{
continue;
}
}
}
mLvHD->blockSignals (false);
}
}
}
{
}
}
{
{
continue;
}
}
{
/* Process postponed onCurrentChanged event */
{
int prevFocusColumn =
}
mSlotUniquizer->totalCount());
}
{
}
{
return newItem;
}
{
{
/* Redirect postponed onCurrentChanged event */
case OnItemChangedEvent::Type:
{
onAfterCurrentChanged (e->mItem);
break;
}
default:
break;
}
}
{
}
{
if (!aObject->isWidgetType())
{
/* Process double-click as "open combo-box" action */
case QEvent::MouseButtonDblClick:
{
break;
addHDItem();
break;
}
/* Process mouse-move as "make tool-tip" action */
{
{
break;
}
tr ("Double-click to add a new attachment");
{
}
break;
}
{
break;
/* Process cursor-left as "move focus left" action */
{
item->focusColumn() > 0)
{
item->setAutoFocus (false);
}
return true;
} else
/* Process cursor-right as "move focus right" action */
{
{
item->setAutoFocus (false);
}
return true;
} else
/* Process cursor-up as "move focus up" action */
{
{
item->setAutoFocus (false);
}
return true;
} else
/* Process cursor-down as "move focus down" action */
{
{
item->setAutoFocus (false);
}
return true;
} else
if (!e->state() &&
{
if (item)
item->showEditor();
return true;
}
{
if (item)
item->showEditor();
return true;
} else
{
item->setAutoFocus (false);
}
break;
}
/* Process focus event to toggle the current selection state */
{
break;
}
default:
break;
}
}
void VBoxHardDiskSettings::adjustList()
{
/* Search through the slots list for maximum element width */
int minLength = 0;
{
}
mLvHD->setColumnWidth (0,
minLength /* maximum string width */ +
6 * 2 /* 2 combo-box margin */ +
}
#include "VBoxHardDiskSettings.ui.moc"