VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/ui/VBoxDiskImageManagerDlg.ui@ 945

Last change on this file since 945 was 852, checked in by vboxsync, 18 years ago

Fixed problem that you cannot do Select until you refresh the dialog after adding a VDI if this VDI was the first added to VDM.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 31.8 KB
Line 
1<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
2<class>VBoxDiskImageManagerDlg</class>
3<comment>
4:mode=html:tabSize=4:indentSize=4:noTabs=true:
5:folding=explicit:collapseFolds=1:
6
7# Copyright (C) 2006 InnoTek Systemberatung GmbH
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License as published by the Free Software Foundation,
13# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14# distribution. VirtualBox OSE is distributed in the hope that it will
15# be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# If you received this file as part of a commercial VirtualBox
18# distribution, then only the terms of your commercial VirtualBox
19# license agreement apply instead of the previous paragraph.
20</comment>
21<widget class="QMainWindow">
22 <property name="name">
23 <cstring>VBoxDiskImageManagerDlg</cstring>
24 </property>
25 <property name="geometry">
26 <rect>
27 <x>0</x>
28 <y>0</y>
29 <width>620</width>
30 <height>460</height>
31 </rect>
32 </property>
33 <property name="minimumSize">
34 <size>
35 <width>289</width>
36 <height>178</height>
37 </size>
38 </property>
39 <property name="caption">
40 <string>Virtual Disk Manager</string>
41 </property>
42 <vbox>
43 <property name="name">
44 <cstring>unnamed</cstring>
45 </property>
46 <property name="margin">
47 <number>3</number>
48 </property>
49 <property name="spacing">
50 <number>5</number>
51 </property>
52 <widget class="QLayoutWidget">
53 <property name="name">
54 <cstring>layout2</cstring>
55 </property>
56 <vbox>
57 <property name="name">
58 <cstring>unnamed</cstring>
59 </property>
60 <property name="margin">
61 <number>7</number>
62 </property>
63 <widget class="QTabWidget">
64 <property name="name">
65 <cstring>twImages</cstring>
66 </property>
67 <property name="sizePolicy">
68 <sizepolicy>
69 <hsizetype>5</hsizetype>
70 <vsizetype>7</vsizetype>
71 <horstretch>0</horstretch>
72 <verstretch>0</verstretch>
73 </sizepolicy>
74 </property>
75 <widget class="QWidget">
76 <property name="name">
77 <cstring>tab</cstring>
78 </property>
79 <attribute name="title">
80 <string>&amp;Hard Disks</string>
81 </attribute>
82 <vbox>
83 <property name="name">
84 <cstring>unnamed</cstring>
85 </property>
86 <widget class="QListView">
87 <column>
88 <property name="text">
89 <string>Name</string>
90 </property>
91 <property name="clickable">
92 <bool>true</bool>
93 </property>
94 <property name="resizable">
95 <bool>true</bool>
96 </property>
97 </column>
98 <column>
99 <property name="text">
100 <string>Virtual Size</string>
101 </property>
102 <property name="clickable">
103 <bool>true</bool>
104 </property>
105 <property name="resizable">
106 <bool>true</bool>
107 </property>
108 </column>
109 <column>
110 <property name="text">
111 <string>Actual Size</string>
112 </property>
113 <property name="clickable">
114 <bool>true</bool>
115 </property>
116 <property name="resizable">
117 <bool>true</bool>
118 </property>
119 </column>
120 <property name="name">
121 <cstring>hdsView</cstring>
122 </property>
123 <property name="acceptDrops">
124 <bool>true</bool>
125 </property>
126 <property name="hScrollBarMode">
127 <enum>AlwaysOff</enum>
128 </property>
129 <property name="dragAutoScroll">
130 <bool>false</bool>
131 </property>
132 <property name="allColumnsShowFocus">
133 <bool>true</bool>
134 </property>
135 <property name="rootIsDecorated">
136 <bool>true</bool>
137 </property>
138 <property name="resizeMode">
139 <enum>AllColumns</enum>
140 </property>
141 <property name="whatsThis" stdset="0">
142 <string></string>
143 </property>
144 </widget>
145 <widget class="QFrame">
146 <property name="name">
147 <cstring>hdsContainer</cstring>
148 </property>
149 <property name="frameShape">
150 <enum>Box</enum>
151 </property>
152 <property name="frameShadow">
153 <enum>Sunken</enum>
154 </property>
155 </widget>
156 </vbox>
157 </widget>
158 <widget class="QWidget">
159 <property name="name">
160 <cstring>tab</cstring>
161 </property>
162 <attribute name="title">
163 <string>&amp;CD/DVD Images</string>
164 </attribute>
165 <vbox>
166 <property name="name">
167 <cstring>unnamed</cstring>
168 </property>
169 <widget class="QListView">
170 <column>
171 <property name="text">
172 <string>Name</string>
173 </property>
174 <property name="clickable">
175 <bool>true</bool>
176 </property>
177 <property name="resizable">
178 <bool>true</bool>
179 </property>
180 </column>
181 <column>
182 <property name="text">
183 <string>Size</string>
184 </property>
185 <property name="clickable">
186 <bool>true</bool>
187 </property>
188 <property name="resizable">
189 <bool>true</bool>
190 </property>
191 </column>
192 <property name="name">
193 <cstring>cdsView</cstring>
194 </property>
195 <property name="acceptDrops">
196 <bool>true</bool>
197 </property>
198 <property name="hScrollBarMode">
199 <enum>AlwaysOff</enum>
200 </property>
201 <property name="dragAutoScroll">
202 <bool>false</bool>
203 </property>
204 <property name="allColumnsShowFocus">
205 <bool>true</bool>
206 </property>
207 <property name="rootIsDecorated">
208 <bool>true</bool>
209 </property>
210 <property name="resizeMode">
211 <enum>AllColumns</enum>
212 </property>
213 <property name="whatsThis" stdset="0">
214 <string></string>
215 </property>
216 </widget>
217 <widget class="QFrame">
218 <property name="name">
219 <cstring>cdsContainer</cstring>
220 </property>
221 <property name="frameShape">
222 <enum>Box</enum>
223 </property>
224 <property name="frameShadow">
225 <enum>Sunken</enum>
226 </property>
227 </widget>
228 </vbox>
229 </widget>
230 <widget class="QWidget">
231 <property name="name">
232 <cstring>TabPage</cstring>
233 </property>
234 <attribute name="title">
235 <string>&amp;Floppy Images</string>
236 </attribute>
237 <vbox>
238 <property name="name">
239 <cstring>unnamed</cstring>
240 </property>
241 <widget class="QListView">
242 <column>
243 <property name="text">
244 <string>Name</string>
245 </property>
246 <property name="clickable">
247 <bool>true</bool>
248 </property>
249 <property name="resizable">
250 <bool>true</bool>
251 </property>
252 </column>
253 <column>
254 <property name="text">
255 <string>Size</string>
256 </property>
257 <property name="clickable">
258 <bool>true</bool>
259 </property>
260 <property name="resizable">
261 <bool>true</bool>
262 </property>
263 </column>
264 <property name="name">
265 <cstring>fdsView</cstring>
266 </property>
267 <property name="acceptDrops">
268 <bool>true</bool>
269 </property>
270 <property name="hScrollBarMode">
271 <enum>AlwaysOff</enum>
272 </property>
273 <property name="dragAutoScroll">
274 <bool>false</bool>
275 </property>
276 <property name="allColumnsShowFocus">
277 <bool>true</bool>
278 </property>
279 <property name="rootIsDecorated">
280 <bool>true</bool>
281 </property>
282 <property name="resizeMode">
283 <enum>AllColumns</enum>
284 </property>
285 <property name="whatsThis" stdset="0">
286 <string></string>
287 </property>
288 </widget>
289 <widget class="QFrame">
290 <property name="name">
291 <cstring>fdsContainer</cstring>
292 </property>
293 <property name="frameShape">
294 <enum>Box</enum>
295 </property>
296 <property name="frameShadow">
297 <enum>Sunken</enum>
298 </property>
299 </widget>
300 </vbox>
301 </widget>
302 </widget>
303 <widget class="QLayoutWidget">
304 <property name="name">
305 <cstring>buttonLayout</cstring>
306 </property>
307 <hbox>
308 <property name="name">
309 <cstring>unnamed</cstring>
310 </property>
311 <widget class="QPushButton">
312 <property name="name">
313 <cstring>buttonHelp</cstring>
314 </property>
315 <property name="text">
316 <string>Help</string>
317 </property>
318 <property name="accel">
319 <string>F1</string>
320 </property>
321 <property name="autoDefault">
322 <bool>true</bool>
323 </property>
324 <property name="whatsThis" stdset="0">
325 <string>Invoke dialog's help</string>
326 </property>
327 </widget>
328 <spacer>
329 <property name="name">
330 <cstring>Spacer1</cstring>
331 </property>
332 <property name="orientation">
333 <enum>Horizontal</enum>
334 </property>
335 <property name="sizeType">
336 <enum>Expanding</enum>
337 </property>
338 <property name="sizeHint">
339 <size>
340 <width>214</width>
341 <height>16</height>
342 </size>
343 </property>
344 </spacer>
345 <spacer>
346 <property name="name">
347 <cstring>Spacer2</cstring>
348 </property>
349 <property name="orientation">
350 <enum>Horizontal</enum>
351 </property>
352 <property name="sizeType">
353 <enum>Expanding</enum>
354 </property>
355 <property name="sizeHint">
356 <size>
357 <width>214</width>
358 <height>16</height>
359 </size>
360 </property>
361 </spacer>
362 <widget class="QPushButton">
363 <property name="name">
364 <cstring>buttonOk</cstring>
365 </property>
366 <property name="text">
367 <string>&amp;OK</string>
368 </property>
369 <property name="accel">
370 <string>Alt+O</string>
371 </property>
372 <property name="autoDefault">
373 <bool>true</bool>
374 </property>
375 <property name="default">
376 <bool>true</bool>
377 </property>
378 <property name="whatsThis" stdset="0">
379 <string>Accept dialog</string>
380 </property>
381 </widget>
382 <widget class="QPushButton">
383 <property name="name">
384 <cstring>buttonCancel</cstring>
385 </property>
386 <property name="text">
387 <string>&amp;Cancel</string>
388 </property>
389 <property name="accel">
390 <string></string>
391 </property>
392 <property name="autoDefault">
393 <bool>true</bool>
394 </property>
395 <property name="whatsThis" stdset="0">
396 <string>Cancel dialog</string>
397 </property>
398 </widget>
399 </hbox>
400 </widget>
401 </vbox>
402 </widget>
403 </vbox>
404</widget>
405<toolbars>
406</toolbars>
407<connections>
408 <connection>
409 <sender>buttonOk</sender>
410 <signal>clicked()</signal>
411 <receiver>VBoxDiskImageManagerDlg</receiver>
412 <slot>accept()</slot>
413 </connection>
414 <connection>
415 <sender>buttonCancel</sender>
416 <signal>clicked()</signal>
417 <receiver>VBoxDiskImageManagerDlg</receiver>
418 <slot>reject()</slot>
419 </connection>
420 <connection>
421 <sender>hdsView</sender>
422 <signal>currentChanged(QListViewItem*)</signal>
423 <receiver>VBoxDiskImageManagerDlg</receiver>
424 <slot>processCurrentChanged(QListViewItem*)</slot>
425 </connection>
426 <connection>
427 <sender>cdsView</sender>
428 <signal>currentChanged(QListViewItem*)</signal>
429 <receiver>VBoxDiskImageManagerDlg</receiver>
430 <slot>processCurrentChanged(QListViewItem*)</slot>
431 </connection>
432 <connection>
433 <sender>fdsView</sender>
434 <signal>currentChanged(QListViewItem*)</signal>
435 <receiver>VBoxDiskImageManagerDlg</receiver>
436 <slot>processCurrentChanged(QListViewItem*)</slot>
437 </connection>
438 <connection>
439 <sender>hdsView</sender>
440 <signal>pressed(QListViewItem*)</signal>
441 <receiver>VBoxDiskImageManagerDlg</receiver>
442 <slot>processPressed(QListViewItem*)</slot>
443 </connection>
444 <connection>
445 <sender>cdsView</sender>
446 <signal>pressed(QListViewItem*)</signal>
447 <receiver>VBoxDiskImageManagerDlg</receiver>
448 <slot>processPressed(QListViewItem*)</slot>
449 </connection>
450 <connection>
451 <sender>fdsView</sender>
452 <signal>pressed(QListViewItem*)</signal>
453 <receiver>VBoxDiskImageManagerDlg</receiver>
454 <slot>processPressed(QListViewItem*)</slot>
455 </connection>
456 <connection>
457 <sender>hdsView</sender>
458 <signal>doubleClicked(QListViewItem*)</signal>
459 <receiver>VBoxDiskImageManagerDlg</receiver>
460 <slot>processDoubleClick(QListViewItem*)</slot>
461 </connection>
462 <connection>
463 <sender>cdsView</sender>
464 <signal>doubleClicked(QListViewItem*)</signal>
465 <receiver>VBoxDiskImageManagerDlg</receiver>
466 <slot>processDoubleClick(QListViewItem*)</slot>
467 </connection>
468 <connection>
469 <sender>fdsView</sender>
470 <signal>doubleClicked(QListViewItem*)</signal>
471 <receiver>VBoxDiskImageManagerDlg</receiver>
472 <slot>processDoubleClick(QListViewItem*)</slot>
473 </connection>
474 <connection>
475 <sender>hdsView</sender>
476 <signal>contextMenuRequested(QListViewItem*,const QPoint&amp;,int)</signal>
477 <receiver>VBoxDiskImageManagerDlg</receiver>
478 <slot>invokePopup(QListViewItem*,const QPoint&amp;,int)</slot>
479 </connection>
480 <connection>
481 <sender>cdsView</sender>
482 <signal>contextMenuRequested(QListViewItem*,const QPoint&amp;,int)</signal>
483 <receiver>VBoxDiskImageManagerDlg</receiver>
484 <slot>invokePopup(QListViewItem*,const QPoint&amp;,int)</slot>
485 </connection>
486 <connection>
487 <sender>fdsView</sender>
488 <signal>contextMenuRequested(QListViewItem*,const QPoint&amp;,int)</signal>
489 <receiver>VBoxDiskImageManagerDlg</receiver>
490 <slot>invokePopup(QListViewItem*,const QPoint&amp;,int)</slot>
491 </connection>
492 <connection>
493 <sender>twImages</sender>
494 <signal>currentChanged(QWidget*)</signal>
495 <receiver>VBoxDiskImageManagerDlg</receiver>
496 <slot>processCurrentChanged()</slot>
497 </connection>
498</connections>
499<includes>
500 <include location="global" impldecl="in implementation">qapplication.h</include>
501 <include location="global" impldecl="in implementation">qfiledialog.h</include>
502 <include location="global" impldecl="in implementation">qprogressdialog.h</include>
503 <include location="global" impldecl="in implementation">qfocusdata.h</include>
504 <include location="global" impldecl="in implementation">qobjectlist.h</include>
505 <include location="global" impldecl="in implementation">qdragobject.h</include>
506 <include location="global" impldecl="in implementation">qaction.h</include>
507 <include location="global" impldecl="in implementation">qpopupmenu.h</include>
508 <include location="global" impldecl="in implementation">qeventloop.h</include>
509 <include location="global" impldecl="in implementation">qstatusbar.h</include>
510 <include location="global" impldecl="in implementation">qsizegrip.h</include>
511 <include location="global" impldecl="in implementation">qlocale.h</include>
512 <include location="global" impldecl="in implementation">qregexp.h</include>
513 <include location="global" impldecl="in implementation">qpainter.h</include>
514 <include location="global" impldecl="in implementation">qprogressbar.h</include>
515 <include location="global" impldecl="in declaration">qvaluelist.h</include>
516 <include location="local" impldecl="in declaration">COMDefs.h</include>
517 <include location="local" impldecl="in declaration">VBoxGlobal.h</include>
518 <include location="local" impldecl="in declaration">VBoxProblemReporter.h</include>
519 <include location="local" impldecl="in implementation">VBoxDefs.h</include>
520 <include location="local" impldecl="in implementation">VBoxNewHDWzd.h</include>
521 <include location="local" impldecl="in implementation">VBoxToolBar.h</include>
522 <include location="local" impldecl="in implementation">QIRichLabel.h</include>
523</includes>
524<forwards>
525 <forward>class DiskImageItem</forward>
526 <forward>class VBoxToolBar</forward>
527 <forward>class QSizeGrip</forward>
528 <forward>class QIRichLabel</forward>
529 <forward>class QProgressBar</forward>
530</forwards>
531<variables>
532 <variable access="public">enum ResultCode { Rejected, Accepted };</variable>
533 <variable access="private">bool polished;</variable>
534 <variable access="private">CVirtualBox vbox;</variable>
535 <variable access="private">int type;</variable>
536 <variable access="private">bool doSelect;</variable>
537 <variable access="private">QString targetVMId;</variable>
538 <variable access="private">QPixmap pxInaccessible;</variable>
539 <variable access="private">QPixmap pxErroneous;</variable>
540 <variable access="private">CMachine cmachine;</variable>
541 <variable access="private">QPopupMenu *itemMenu;</variable>
542 <variable access="private">VBoxToolBar *toolBar;</variable>
543 <variable access="private">int mRescode;</variable>
544 <variable access="private">bool mInLoop;</variable>
545 <variable access="private">QAction *imNewAction;</variable>
546 <variable access="private">QAction *imAddAction;</variable>
547 <variable access="private">QAction *imEditAction;</variable>
548 <variable access="private">QAction *imRemoveAction;</variable>
549 <variable access="private">QAction *imReleaseAction;</variable>
550 <variable access="private">QAction *imRefreshAction;</variable>
551 <variable access="private">QIRichLabel *hdsPane1;</variable>
552 <variable access="private">QIRichLabel *hdsPane2;</variable>
553 <variable access="private">QIRichLabel *hdsPane3;</variable>
554 <variable access="private">QIRichLabel *hdsPane4;</variable>
555 <variable access="private">QIRichLabel *hdsPane5;</variable>
556 <variable access="private">QIRichLabel *hdsPane6;</variable>
557 <variable access="private">QIRichLabel *hdsPane7;</variable>
558 <variable access="private">QIRichLabel *cdsPane1;</variable>
559 <variable access="private">QIRichLabel *cdsPane2;</variable>
560 <variable access="private">QIRichLabel *fdsPane1;</variable>
561 <variable access="private">QIRichLabel *fdsPane2;</variable>
562 <variable>QSizeGrip *sizeGrip;</variable>
563 <variable>QPushButton *defaultButton;</variable>
564 <variable access="private">static VBoxDiskImageManagerDlg *mModelessDialog;</variable>
565 <variable access="private">QProgressBar *mProgressBar;</variable>
566 <variable access="private">QLabel *mProgressText;</variable>
567 <variable access="private">QUuid hdSelectedId;</variable>
568 <variable access="private">QUuid cdSelectedId;</variable>
569 <variable access="private">QUuid fdSelectedId;</variable>
570</variables>
571<slots>
572 <slot access="protected">mediaEnumStarted()</slot>
573 <slot access="protected">mediaEnumerated( const VBoxMedia &amp;, int )</slot>
574 <slot access="protected">mediaEnumFinished( const VBoxMediaList &amp; )</slot>
575 <slot access="protected">mediaAdded( const VBoxMedia &amp; )</slot>
576 <slot access="protected">mediaUpdated( const VBoxMedia &amp; )</slot>
577 <slot access="protected">mediaRemoved( VBoxDefs::DiskType, const QUuid &amp; )</slot>
578 <slot access="protected">machineStateChanged( const VBoxMachineStateChangeEvent &amp; )</slot>
579 <slot>refreshAll()</slot>
580 <slot access="protected">processCurrentChanged( QListViewItem * item )</slot>
581 <slot access="protected">processPressed( QListViewItem * item )</slot>
582 <slot access="protected">newImage()</slot>
583 <slot access="protected">addImage()</slot>
584 <slot access="protected">removeImage()</slot>
585 <slot access="protected">processDoubleClick( QListViewItem * item )</slot>
586 <slot access="protected">releaseImage()</slot>
587 <slot access="protected">invokePopup( QListViewItem * item, const QPoint &amp; pos, int col )</slot>
588 <slot access="protected">processCurrentChanged()</slot>
589 <slot access="protected">accept()</slot>
590 <slot access="protected">reject()</slot>
591 <slot access="protected">mouseOnItem( QListViewItem *item )</slot>
592</slots>
593<functions>
594 <function access="private">init()</function>
595 <function access="private" returnType="int">result()</function>
596 <function access="private">setResult( int )</function>
597 <function returnType="int">exec()</function>
598 <function access="private">done( int )</function>
599 <function access="private" returnType="DiskImageItem*">searchItem( QListView*, const QUuid &amp; )</function>
600 <function specifier="static" access="private" returnType="QString">getDVDImageUsage( const QUuid &amp; id )</function>
601 <function specifier="static" access="private" returnType="QString">getFloppyImageUsage( const QUuid &amp; id )</function>
602 <function access="private" returnType="bool">checkImage( DiskImageItem* item )</function>
603 <function access="private">releaseDisk( QUuid machineId, QUuid itemId, VBoxDefs::DiskType diskType )</function>
604 <function returnType="QUuid">getSelectedUuid()</function>
605 <function returnType="QString">getSelectedPath()</function>
606 <function>setup( int aType, bool aDoSelect, const QUuid *aTargetVMId = NULL, bool aRefresh = true, CMachine machine = NULL )</function>
607 <function access="private" returnType="QListView*">getCurrentListView()</function>
608 <function access="private" returnType="QListView*">getListView( VBoxDefs::DiskType )</function>
609 <function returnType="bool">eventFilter( QObject *, QEvent * )</function>
610 <function access="private">addDroppedImages( QStringList* )</function>
611 <function access="private">addImageToList( const QString &amp; aSource, VBoxDefs::DiskType aDiskType )</function>
612 <function access="private" returnType="DiskImageItem*">createImageNode( QListView *aList, DiskImageItem *aRoot )</function>
613 <function access="private">updateHdItem( DiskImageItem*, const VBoxMedia &amp; )</function>
614 <function access="private">updateCdItem( DiskImageItem*, const VBoxMedia &amp; )</function>
615 <function access="private">updateFdItem( DiskImageItem*, const VBoxMedia &amp; )</function>
616 <function access="private" returnType="DiskImageItem*">createHdItem( QListView*, DiskImageItem*, const VBoxMedia &amp; )</function>
617 <function access="private" returnType="DiskImageItem*">createCdItem( QListView*, DiskImageItem*, const VBoxMedia &amp; )</function>
618 <function access="private" returnType="DiskImageItem*">createFdItem( QListView*, DiskImageItem*, const VBoxMedia &amp; )</function>
619 <function access="private">createHdChildren( DiskImageItem*, const VBoxMedia &amp; )</function>
620 <function access="protected">showEvent( QShowEvent * )</function>
621 <function access="protected">resizeEvent( QResizeEvent* )</function>
622 <function access="protected">keyPressEvent( QKeyEvent* )</function>
623 <function access="protected">closeEvent( QCloseEvent* )</function>
624 <function access="protected" returnType="QIRichLabel*">createInfoString( const QString &amp;, QWidget*, int, int )</function>
625 <function access="protected" returnType="QPushButton*">searchDefaultButton()</function>
626 <function access="protected">setCurrentItem( QListView*, QListViewItem* )</function>
627 <function specifier="static"> showModeless( bool aRefresh = true )</function>
628 <function specifier="static" returnType="QString">composeHdToolTip( CHardDisk &amp;, VBoxMedia::Status = VBoxMedia::Ok )</function>
629 <function specifier="static" returnType="QString">composeCdToolTip( CDVDImage &amp;, VBoxMedia::Status = VBoxMedia::Ok )</function>
630 <function specifier="static" returnType="QString">composeFdToolTip( CFloppyImage &amp;, VBoxMedia::Status = VBoxMedia::Ok )</function>
631 <function access="protected">clearInfoPanes()</function>
632 <function access="protected">prepareToRefresh( int aTotal = 0 )</function>
633</functions>
634<layoutdefaults spacing="10" margin="10"/>
635</UI>
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