mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-02-13 20:59:58 +01:00
Rapatriement dans la branche 0.3 des revisions 815 a 833.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@834 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -123,7 +123,7 @@ class Conductor : public QObject, public QGraphicsPathItem {
|
||||
static QBrush square_brush;
|
||||
static bool pen_and_brush_initialized;
|
||||
/// facteur de taille du carre de saisie du segment
|
||||
int segments_squares_scale_;
|
||||
qreal segments_squares_scale_;
|
||||
|
||||
private:
|
||||
void segmentsToPath();
|
||||
|
||||
@@ -320,6 +320,7 @@ void DiagramPrintDialog::browseFilePrintTypeDialog() {
|
||||
|
||||
if (!filepath.isEmpty()) {
|
||||
if (!filepath.endsWith(extension)) filepath += extension;
|
||||
filepath = QDir::toNativeSeparators(QDir::cleanPath(filepath));
|
||||
filepath_field_ -> setText(filepath);
|
||||
}
|
||||
}
|
||||
@@ -355,7 +356,7 @@ void DiagramPrintDialog::print(const QList<Diagram *> &diagrams, bool fit_page,
|
||||
/**
|
||||
Imprime un schema
|
||||
@param diagram Schema a imprimer
|
||||
@param fit_page True pour adapter les schemas aux pages, false sinon
|
||||
@param fit_page True pour adapter les schemas aux pages, false sinon
|
||||
@param options Options de rendu a appliquer pour l'impression
|
||||
@param qp QPainter a utiliser (deja initialise sur printer)
|
||||
@param printer Imprimante a utiliser
|
||||
@@ -372,6 +373,10 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
|
||||
|
||||
saveReloadDiagramParameters(diagram, options, true);
|
||||
|
||||
// deselectionne tous les elements
|
||||
QList<QGraphicsItem *> selected_elmts = diagram -> selectedItems();
|
||||
foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false);
|
||||
|
||||
if (fit_page) {
|
||||
// impression adaptee sur une seule page
|
||||
diagram -> render(qp, QRectF(), diagramRect(diagram), Qt::KeepAspectRatio);
|
||||
@@ -415,10 +420,7 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
|
||||
QVector<QRect> pages_to_print;
|
||||
for (int i = 0 ; i < v_pages_count ; ++ i) {
|
||||
for (int j = 0 ; j < h_pages_count ; ++ j) {
|
||||
//int page_number = (i * h_pages_count) + j + 1;
|
||||
//if (page_number >= first_page && page_number <= last_page) {
|
||||
pages_to_print << pages_grid.at(i).at(j);
|
||||
//}
|
||||
pages_to_print << pages_grid.at(i).at(j);
|
||||
}
|
||||
}
|
||||
//qDebug() << " " << pages_to_print.count() << " pages a imprimer :";
|
||||
@@ -438,6 +440,10 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// restaure les elements selectionnes
|
||||
foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(true);
|
||||
|
||||
saveReloadDiagramParameters(diagram, options, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -403,20 +403,40 @@ void QETElementEditor::setupMenus() {
|
||||
Met a jour les menus
|
||||
*/
|
||||
void QETElementEditor::slot_updateMenus() {
|
||||
bool selected_items = !ce_scene -> selectedItems().isEmpty();
|
||||
bool clipboard_elmt = ElementScene::clipboardMayContainElement();
|
||||
bool selected_items = !read_only && !ce_scene -> selectedItems().isEmpty();
|
||||
bool clipboard_elmt = !read_only && ElementScene::clipboardMayContainElement();
|
||||
|
||||
deselectall -> setEnabled(selected_items);
|
||||
cut -> setEnabled(selected_items);
|
||||
copy -> setEnabled(selected_items);
|
||||
paste -> setEnabled(clipboard_elmt);
|
||||
paste_in_area -> setEnabled(clipboard_elmt);
|
||||
edit_delete -> setEnabled(selected_items);
|
||||
edit_forward -> setEnabled(selected_items);
|
||||
edit_raise -> setEnabled(selected_items);
|
||||
edit_lower -> setEnabled(selected_items);
|
||||
edit_backward -> setEnabled(selected_items);
|
||||
save -> setEnabled(!ce_scene -> undoStack().isClean());
|
||||
// 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);
|
||||
cut -> setEnabled(selected_items);
|
||||
copy -> setEnabled(selected_items);
|
||||
edit_delete -> setEnabled(selected_items);
|
||||
edit_forward -> setEnabled(selected_items);
|
||||
edit_raise -> setEnabled(selected_items);
|
||||
edit_lower -> setEnabled(selected_items);
|
||||
edit_backward -> setEnabled(selected_items);
|
||||
|
||||
// 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();
|
||||
}
|
||||
@@ -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")
|
||||
);
|
||||
setReadOnly(true);
|
||||
} else {
|
||||
setReadOnly(false);
|
||||
}
|
||||
|
||||
// memorise le fichier
|
||||
@@ -775,26 +797,11 @@ bool QETElementEditor::toLocation(const ElementsLocation &location) {
|
||||
*/
|
||||
void QETElementEditor::setReadOnly(bool ro) {
|
||||
read_only = ro;
|
||||
// active / desactive les actions
|
||||
foreach (QAction *action, parts -> actions()) action -> setEnabled(!ro);
|
||||
|
||||
// active / desactive les interactions avec la scene
|
||||
ce_view -> setInteractive(!ro);
|
||||
|
||||
// active / desactive l'edition de la taille, du hotspot, des noms et des orientations
|
||||
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);
|
||||
slot_updateMenus();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -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")
|
||||
);
|
||||
setReadOnly(true);
|
||||
} else {
|
||||
setReadOnly(false);
|
||||
}
|
||||
|
||||
// memorise le fichier
|
||||
|
||||
@@ -513,7 +513,7 @@ void ProjectView::printProject() {
|
||||
QString dir_path = project_ -> currentDir();
|
||||
|
||||
// determine un chemin pour le pdf / ps
|
||||
QString file_name = QDir::toNativeSeparators(dir_path + "/" + doc_name);
|
||||
QString file_name = QDir::toNativeSeparators(QDir::cleanPath(dir_path + "/" + doc_name));
|
||||
|
||||
DiagramPrintDialog print_dialog(project_, this);
|
||||
print_dialog.setDocName(doc_name);
|
||||
|
||||
Reference in New Issue
Block a user