mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 22:00:35 +01:00
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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user