Amelioration de la gestion du mode "lecture seule" dans l'editeur d'element.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@831 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2010-01-03 18:49:55 +00:00
parent e0e7e363b5
commit 9524fa9f69

View File

@@ -403,20 +403,40 @@ void QETElementEditor::setupMenus() {
Met a jour les menus Met a jour les menus
*/ */
void QETElementEditor::slot_updateMenus() { void QETElementEditor::slot_updateMenus() {
bool selected_items = !ce_scene -> selectedItems().isEmpty(); bool selected_items = !read_only && !ce_scene -> selectedItems().isEmpty();
bool clipboard_elmt = ElementScene::clipboardMayContainElement(); bool clipboard_elmt = !read_only && ElementScene::clipboardMayContainElement();
// actions dependant seulement de l'etat "lecture seule" de l'editeur
foreach (QAction *action, parts -> actions()) {
action -> setEnabled(!read_only);
}
selectall -> setEnabled(!read_only);
inv_select -> setEnabled(!read_only);
paste_from_file -> setEnabled(!read_only);
paste_from_elmt -> setEnabled(!read_only);
edit_size_hs -> setEnabled(!read_only);
edit_names -> setEnabled(!read_only);
edit_ori -> setEnabled(!read_only);
parts_list -> setEnabled(!read_only);
// actions dependant de la presence de parties selectionnees
deselectall -> setEnabled(selected_items); deselectall -> setEnabled(selected_items);
cut -> setEnabled(selected_items); cut -> setEnabled(selected_items);
copy -> setEnabled(selected_items); copy -> setEnabled(selected_items);
paste -> setEnabled(clipboard_elmt);
paste_in_area -> setEnabled(clipboard_elmt);
edit_delete -> setEnabled(selected_items); edit_delete -> setEnabled(selected_items);
edit_forward -> setEnabled(selected_items); edit_forward -> setEnabled(selected_items);
edit_raise -> setEnabled(selected_items); edit_raise -> setEnabled(selected_items);
edit_lower -> setEnabled(selected_items); edit_lower -> setEnabled(selected_items);
edit_backward -> setEnabled(selected_items); edit_backward -> setEnabled(selected_items);
save -> setEnabled(!ce_scene -> undoStack().isClean());
// actions dependant du contenu du presse-papiers
paste -> setEnabled(clipboard_elmt);
paste_in_area -> setEnabled(clipboard_elmt);
// actions dependant de l'etat de la pile d'annulation
save -> setEnabled(!read_only && !ce_scene -> undoStack().isClean());
undo -> setEnabled(!read_only && ce_scene -> undoStack().canUndo());
redo -> setEnabled(!read_only && ce_scene -> undoStack().canRedo());
slot_updateFullScreenAction(); slot_updateFullScreenAction();
} }
@@ -704,6 +724,8 @@ void QETElementEditor::fromFile(const QString &filepath) {
tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content") tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content")
); );
setReadOnly(true); setReadOnly(true);
} else {
setReadOnly(false);
} }
// memorise le fichier // memorise le fichier
@@ -775,26 +797,11 @@ bool QETElementEditor::toLocation(const ElementsLocation &location) {
*/ */
void QETElementEditor::setReadOnly(bool ro) { void QETElementEditor::setReadOnly(bool ro) {
read_only = ro; read_only = ro;
// active / desactive les actions
foreach (QAction *action, parts -> actions()) action -> setEnabled(!ro);
// active / desactive les interactions avec la scene // active / desactive les interactions avec la scene
ce_view -> setInteractive(!ro); ce_view -> setInteractive(!ro);
// active / desactive l'edition de la taille, du hotspot, des noms et des orientations slot_updateMenus();
cut -> setEnabled(!ro);
copy -> setEnabled(!ro);
paste -> setEnabled(!ro);
selectall -> setEnabled(!ro);
deselectall -> setEnabled(!ro);
inv_select -> setEnabled(!ro);
undo -> setEnabled(!ro);
redo -> setEnabled(!ro);
edit_delete -> setEnabled(!ro);
edit_size_hs -> setEnabled(!ro);
edit_names -> setEnabled(!ro);
edit_ori -> setEnabled(!ro);
parts_list -> setEnabled(!ro);
} }
/** /**
@@ -1236,6 +1243,8 @@ void QETElementEditor::fromLocation(const ElementsLocation &location) {
tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content") tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content")
); );
setReadOnly(true); setReadOnly(true);
} else {
setReadOnly(false);
} }
// memorise le fichier // memorise le fichier